工具:需正版:Matlab,免費:Octave
定義(Arthur Samuel 1959):
在不直接針對問題進行編程的情況下,賦予計算機學習能力的研究領域。
例:Arthur的下棋程序,計算走每一步獲勝的概率,最終打敗程序作者本人。(感覺使用決策樹思想)
定義2(Tom Mitchell 1998):
一個合理的學習問題應該這樣定義:對一個計算機程序來說,給它一個任務T和一個性能測量方法P,如果在經驗E的影響下,P對T的測量結果得到了改進,那麼就說改程序從E中學習了。
如上例:E:程序不斷和自己下棋的經歷,T:下棋,P:和人類選手對弈的勝率 課程的四大部分:
1、 有監督學習
(1) 迴歸問題
例:收集某地房屋價格統計、房屋大小和價格對應情況:
畫出一條擬合曲線,就可以通過房屋大小估計價格。
有監督學習即給出一個數據集(正確的房屋價格及對應大小)
此例爲迴歸問題。迴歸意味着需要預測的變量是連續的
(2) 分類問題
分類問題中需要處理的變量是離散的
例:判斷腫瘤是惡性還是兩性
收集腫瘤大小和惡性/良性數據,大小爲橫軸,是否是惡性爲縱軸(只有0,1)畫圖 - 腫瘤可能由多個因素導致,引入年齡,大小爲橫軸,年齡爲縱軸,惡性以叉表示,良性以圓圈表示畫圖,分析患腫瘤的區域
還可引入更多屬性,畫在多維空間中
無限維空間如何處理?將無限維映射到內存的算法?
2、 學習理論
學習理論即解釋學習型算法有效的原因(學習算法的理論基礎)
尋找什麼樣的算法能很好地近似不同的函數,訓練集的規模是否合適
3、 無監督學習
例:如上述腫瘤例子,圖中的點不知道正確答案,而是由你從中找去一定的結構,即聚類。應用於生物基因工程,圖像處理,計算機視覺等領域
例:雞尾酒會問題
在嘈雜的雞尾酒會中,將你感興趣的聲音提取出來
運用兩個不同位置的麥克分開來自不同位置的聲音
還能應用於文本處理等領域
使用ICA算法,Matlab一行代碼即可解決
4、 強化學習
通過決策產生的結論或對或錯,故產生一系列的決策。
例:對一個模型飛機編寫一個起飛程序,飛機在程序做了一連串錯誤決策是纔會墜毀,只要做出連續的整體還不錯的決策,即可保持飛機正常飛行
強化學習的基本概念:回報函數
(正反饋及負反饋),程序做出正確決策時給出正反饋,反之亦然。
程序不斷做出決策,在不斷嘗試獲得儘量多的正反饋時,逐漸學習並做出正確決策 關鍵在於要定義什麼是正確決策,什麼是錯誤決策,再設計算法獲取儘量多的正反饋