全國咨詢/投訴熱線:400-618-4000

人工智能算法如何學習數據中的規律?

更新時間:2019年09月16日18時36分 來源:傳智播客 瀏覽次數:

首先我們來看一下最常見的人工智能算法是什么樣的:


人工智能算法


人工智能算法包括幾個部分:

x是模型的輸,y是模型的輸出,模型就是對輸入轉化為輸出的計算。比如輸入x可以是一張圖片(如貓的圖片),模型對圖進計算處理,然后輸出這張圖片上對應的物品的類別(貓)。

我們可以把算法理理解成一個函數:y = f(x),這里面輸?是x,輸出是y,模型對應的是映射規則f。

對于?一個具體的問題,我們可以獲取到?量的(x,y),人工智能算法就是從這些數據中學習規律,找到映射規則f。所以,人工智能算法學習規律就是確定x到y的映射規則f。

為了讓大家能理解人工智能算法的學習過程,我們一起來看個簡單的例例子:

下面是某個小區的房價和房屋面積的數據。


小區數據1

現在要利人工智能的算法去學習房屋面積和房屋價格的規律,也就是根據房屋的面積如何計算得到房屋的價格。模型的輸入是房屋面積,模型的輸出是房屋價格。我們可以建立這樣的模型:y = wx + b,其中,w和b是未知的,調整w和b的值可以得到不同的映射規則。我們知道,y = wx + b 表示的是二維平面內的一根直線,調整w和b的值可以得到不同的的直線。

接下來我們一起看下如何去確定w和b的值。

首先,我們先不管w和b取什么值,我們直接把輸入代入模型,可以得到模型的輸出值,我們稱模型的輸出為預測值。數據如下表:


小區數據2

接著,我們只要調整w和b的值,讓預測房價盡量量接近真實房價。

那我們怎么調整w和b呢?一個一個嘗試不同的取值嗎?

我們知道,不管是w還是b,都是有無限種可能取值的,遍歷它們的所有可能取值顯然是不現實的。

那么有沒有方法可以指引我們去找到最優的w和b呢?答案是有的。

回憶一下,高中數學課程里面我們是不是做過這樣一件事情:給定一個函數,求函數值的最小值以及此時自變量的值。

基于這樣的思路路,我們做下面這樣的操作:

人工智能算法函數
這里我們就得到了一個函數,函數的自變量是w和b。大家觀察這個函數,j的值越小,是不是越接近?

這時候我們求j這個函數的值最小的時候對應的w和b的取值,是不是就得到了我們需要找的最優的w和b的值?

答案是肯定的,人工智能算法就是這樣做的。

上面我們構造的函數,在人工智能算法里面叫損失函數,求損失函數的值最小時,可訓練參數(w和b)的值的方法是梯度下降。關于損失函數和梯度下降的內容,我們后面再深入去講解。

下面我們來總結下人工智能算法學習規律的思路:

1、把問題抽象成數學問題:確定輸入是什么,輸出是什么;

2、建立個模型:這個模型有很多未知的參數,參數取不不同的值,模型能變成不同的映射規則;

3、用大量的數據去訓練模型:確定各個未知參數的值,這時候模型就確定下來了。

尋找最優未知參數的值的方法:

構建一個損失函數,損失函數滿足以下條件:

1、損失函數是關于所有可訓練參數的函數;

2、損失函數的函數值越小, 越接近 。

有了損失函數之后,尋找最優可訓練參數的問題就轉化成:

求損失函數最小值(極小值)時,可訓練參數的取值 --> 通過梯度下降法可以實現。


推薦了解:python+人工智能課程

人妻系列无码专区_漂亮人妻被中出中文字幕_人妻中文制服巨乳中文