【機器學習】—— 什麼是機器學習

 

什麼是機器學習(Machine Learning)

 

Machine Learning這個詞,我第一次聽到感覺就是怪怪的,其實我們可以把它倒過來理解, “Learning Machine” ,好吧,似乎還是怪怪的, 那麼我們把Machine換成Algorithm就好理解了,“Learning Algorithm”,沒錯,就是“學習算法”。機器學習就是具有學習能力的算法

 

那麼接下來的問題就是“怎麼學?”“從哪兒學?”。先說“從哪兒學”回想我們小時候認識各種動物,老爸老媽就會指着某種動物(或者圖片)告訴你這是貓,那是狗。我們學習一門課程,就需要看書,做習題, 我們把這些統稱爲數據。因此,我們可以瞭解到我們的學習過程就是通過對數據的不斷訓練獲得某種能力。其實機器學習也是如此,”從哪兒學?“,從數據中學。

那麼”怎麼學“呢?。我們舉個例子,假設我們有一些數據,房屋的面積和房屋的價格,我們希望得到兩者之間的關係,確切來說,我希望得到一個模型,對於給定的房屋面積,給出它的價格。我們可以通過一個函數得到一個結果,其中X是輸入的房屋面積,y就是房屋的價格。好的,現在我們知道了,機器學習最後要學習到的模型是一個函數。

那麼這個函數怎麼得到呢?先別急,假設我們得到了一個函數,我們怎麼知道它的效果好不好呢?既然這個函數我們是從數據中得到的,我們當然需要通過數據來判斷了。我們假設我們已經有了一部分已知結果的數據, 所謂已知結果,就是說這些樣本中的房屋價格我們是已知的。數據樣本爲,其中是第i的樣本房屋價格,是第i個樣本的房屋面積。因爲我們已經有函數,那麼對於,我們可以得到一個預測結果。好了,定義了那麼多亂七八糟的東西。我們怎麼評價這個函數的好壞呢。 我們可以用均方誤差來作爲評價標準,好了,評價標準有了,怎麼得到這個函數呢。顯然我們希望這個loss越小越好。那麼直觀的想法就是怎麼樣得到一個函數,使得最小,用公式寫出來就是,假設的所有參數,我們就是要找到

好了,說了那麼多,我們總算找到目標了,這個Loss我們一般稱爲損失函數,如果你學過高等數學,你應該會有一些想法,那就是如果函數是連續可導的,那麼函數的極值點導數爲0。大功告成!我們直接求導,令導數爲0,就可以求出這個最優解啦。

      哈哈,別高興的太早,如果對於比較簡單的Loss函數,我們當然可以直接求導,但是有時候這個Loss函數的導數爲0這個方程怕是不好解呦。 但是沒關係,我們知道我們的目標就是求,求解的問題就是一個最優化問題啦。通常我們使用梯度下降法來求解這個問題,這個下次咱們再講。總體來說,機器學習整個過程可以用如下圖片表示

 

回顧一下, 這篇博客主要講了什麼是機器學習

1.我們瞭解了機器學習就是具有學習能力的算法

2.我們知道了我們最終的模型是通過學習數據得到的。

3.我們知道對於學習到的模型應該有一個評價標準,那就是損失函數

4.最後我們需要通過這個損失函數得到我們最好的一組模型參數,就需要優化算法

希望能堅持把這篇博客寫下去,希望能對看到這篇博客的人有所幫助

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章