目前機器學習等熱門的人工智慧領域使用的演算法大多是統計學的方法,李航老師的《統計學習方法》是一本很不錯的入門統計學習方法的書,在讀這本書的時候,順便寫下筆記,供自己以後參考。
在談統計學習方法之前,我想起之前一個朋友問我:“現在人工智慧領域的演算法都是基於機率嗎。”
我當時想差多就是這個意思吧,大多演算法都是基於統計學的,但是後來發現“統計”不是“機率”
那統計和機率的區別是什麼。
先上一張圖(一圖勝千言)
由此可見,“機率”是已知了模型,預測下一個新資料的結果。“統計”是已知資料,歸納出模型。
舉個生動的例子:在生物課上,,有一道題是看動物的腳,猜該動物的名稱,一考生實在是不會做,憤怒的把試卷撕掉就往外走,老師看見了,抓住他大聲說道:“你哪個班的,這麼囂張”。學生把褲腿一提,說道:“你猜啊,你猜啊。”
統計就是給你黑盒子裡面裝著貓和狗,只讓你看到他們的腿,需要收集所有動物的腿(也就是過去的資料),然後總結這些腿的特徵(總結歸納)。當圖片裡的腿出現時,你可以根據之前的總結歸納來判斷出這腿是不是貓的腿。
機率就是我們又拿來了一個新的動物的腿,通過觀察一系列特徵來判斷是哪種動物。
再回到“現在人工智慧領域的演算法都是基於機率嗎。”這個問題,其實也不然,在統計學習方法中,我們不僅有機率模型,還有非機率模型(如決策函數),這就涉及到統計學習方法的第一個要素——模型。(強行切入主題:)) 統計學習方法三要素
統計學習的三要素分別是:模型 ,策略,方法。
模型:
模型即選擇產生模型還是判別模型。這兩種模型不同的地方是目標不同,產生模型是想找到來源資料的聯合機率分布,判別模型是要找到條件機率或決策函數。
產生模型和判別模型的細節可以查看http://blog.csdn.net/qq_33414271/article/details/79092438
策略:
選擇一個合適的損失函數或風險函數,也就是選擇一個目標函數(最佳化的目標)
演算法:
這裡就是指最佳化演算法,包括梯度下降法,牛頓法/擬牛頓法、拉格朗日方法等經典的最佳化演算法(統計學習的問題有了具體的形式之後就變成了最佳化問題)
由上面三要素就可以組成一個方法,也就是統計學習的方法。
下面有10種最常見的統計學習方法的概括總結
也可一比較上面的每個方法中使用的三要素來加深理解,像樸素貝葉斯是典型的產生模型,羅吉斯迴歸是典型的判別模型。
參考:
https://www.douban.com/group/topic/105567510/
https://betterexplained.com/articles/a-brief-introduction-to-probability-statistics/
http://blog.csdn.net/qq_33414271/article/details/79092438
《統計學習方法》李航 著