uniform機器學習極簡入門這個系列已經(jīng)介紹了6節(jié)課荤牍,大家對機器學習(統(tǒng)計學習)有了些了解(當然之前都是些基礎)案腺,今天我們從宏觀整體上介紹下什么是機器學習,以及目前機器學習的分類康吵,包括我們后續(xù)會陸續(xù)和大家介紹的方向劈榨。有了這個宏觀理解后,可以針對性的在實踐中選擇自己合適的場景方法晦嵌,而不是盲目的用一個方法來套同辣。
1 機器學習目標及分類
機器學習(也稱為統(tǒng)計機器學習)是通過數(shù)據(jù)來構(gòu)建概率統(tǒng)計模型拷姿,然后利用訓練好的模型來預測和分析未知數(shù)據(jù)。
目前統(tǒng)計學習可以分為以下四類
- 無監(jiān)督學習
- 半監(jiān)督學習
- 有監(jiān)督學習
- 強化學習
我們這個系列也會盡量把這四種方法對應的模型和理論都介紹下邑闺,前面幾節(jié)其實就是圍繞無監(jiān)督學習展開的模型跌前。
無監(jiān)督模型表示數(shù)據(jù)完全無標記數(shù)據(jù);半監(jiān)督學習模型則有少量標記數(shù)據(jù)和大量未標記數(shù)據(jù)陡舅;有監(jiān)督學習則是在有大量已表述數(shù)據(jù)下學習的模型抵乓。強化學習有些不太一樣,他們的訓練數(shù)據(jù)需要agent和environment不斷交互中產(chǎn)生靶衍。
監(jiān)督學習模型可以是概率模型也可以是非概率模型灾炭,由條件概率分布P(Y|X)或者決策函數(shù)y=f(x)表示。這類的學習方法應該是我們后續(xù)重點介紹的模型颅眶,因為在實際工程中蜈出,通過監(jiān)督學習來解決問題的場景特別多。
強化學習近幾年也再次火起來(因為alphaGo采用的模型就是深度強化學習模型)涛酗,最近的人機游戲?qū)Q也是采用強化學習來訓練的铡原,強化學習也被認為是我們尋找通用人工智能的最有希望的方式,所以建議大家可以多多關注目前強化學習的一些新paper商叹,我們后面也會詳細介紹這里涉及到的一些模型燕刻。
統(tǒng)計機器學習有三要素(見李航老師的《統(tǒng)計學習方法》)
模型
模型指的是我們采用的函數(shù)空間,可能是概率模型也可能是決策函數(shù)剖笙。策略
有了模型來表示卵洗,我們需要某種指標來告訴我們?nèi)绾螌W習模型的參數(shù),其實就是我們的損失函數(shù)了弥咪,一般損失函數(shù)有以下幾種
- 0-1損失函數(shù)
- 平方損失函數(shù)
- 對數(shù)損失函數(shù)
由1的模型我們可以得到我們假設的f(X)結(jié)構(gòu)过蹂,然后根據(jù)策略,可以得到我們優(yōu)化的目標
- 算法
有了策略(優(yōu)化目標)聚至,那我們只需要某種算法就可以來求解對應的模型參數(shù)了酷勺。其實這里問題就轉(zhuǎn)換為了最優(yōu)化問題。(后面我們會單獨介紹一節(jié)扳躬,關于現(xiàn)有傳統(tǒng)機器學習和深度學習涉及到的優(yōu)化方法鸥印。)
2 模型衡量指標
模型訓練的目標是為了對未知數(shù)據(jù)的分析,因此我們需要尋找某個指標來衡量這樣的結(jié)果坦报。
上面的損失函數(shù)是我們訓練模型的目標库说,那又該怎么評價我們學習到的模型效果是否具有泛化能力?這里我們簡單介紹幾個方法:
- 準確率
- 精準率和召回率
精準率 precision 檢索出的信息中有多少是正確的信息片择。
召回率 recall 有多少有用的信息被檢索出潜的。
為了公式化表示上面這兩個指標,我們一般會借助如下表格
真實\預測 | 正 | 負 |
---|---|---|
正 | TP | FN |
負 | FP | TN |
我們的目標就是希望召回率和精準率盡可能高字管,另外還有個綜合指標就是F1-score,一般我們定義如下
- ROC
很多機器學習是為測試樣本產(chǎn)生一個實值或者概率預測啰挪,然后將這個預測值與某個閾值比較信不,如果大于該閾值則為正樣本,否則負樣本亡呵。
ROC的定義同樣也需要用到之前的表格抽活,其橫坐標和縱坐標定義如下
3 過擬合與欠擬合
模型訓練目標就是把損失函數(shù)降到最低,是否這種評價指標在測試集合就一定最優(yōu)呢锰什?
假設我們有如下數(shù)據(jù):
我們需要進行擬合這些數(shù)據(jù)下硕,假設我們采用多項式模型
這里存在一個參數(shù)n究竟該選擇多少?
我們分別選擇n=1, 3, 10進行擬合得到如下圖
n=1
從圖中看出汁胆,仍然存在很多點偏離較大梭姓,這種情況下,屬于欠擬合嫩码。判斷欠擬合的方法就是該模型在訓練集合上的表現(xiàn)就很差誉尖,預測能力較弱,此時需要增加模型的復雜度铸题。n=3
從圖中可以看出铡恕,該模型復雜度對Data的擬合具有較好的結(jié)果n=10
我們看到圖像在未知數(shù)據(jù)區(qū)間的表現(xiàn)很奇怪,有個上揚的趨勢丢间,這就是對未知數(shù)據(jù)的預測探熔,可見效果并不是很好,雖然它對已知數(shù)據(jù)擬合效果很好千劈。此時被稱為過擬合,模型往往是由于過于復雜牌捷,過分擬合了訓練集合墙牌,而缺失了泛化能力。
一般模型復雜度和預測誤差存在如下曲線:
模型越復雜暗甥,往往能夠降低訓練集合的誤差喜滨,但是測試集合的誤差可能會反而增加。模型需要符合奧卡姆剃刀原理撤防。
所有可選擇的模型中虽风,能夠很好地解釋已知數(shù)據(jù)并且模型越簡單越好。
如何限制模型的復雜度寄月?可以采用正則化的方法來懲罰模型復雜度辜膝。
還記得我們在剛開始介紹最大似然法時候有提到的MAP(最大后驗概率),其實先概率就是一種正則化的方法漾肮。
所以通用的損失函數(shù)一般定義如下
第一項表示經(jīng)驗損失(訓練集合上的擬合誤差)厂抖;第二項表示模型復雜度的懲罰項。
在深度學習中克懊,有個訓練的trick叫做early stop忱辅,就是不希望模型過分擬合訓練集合七蜘,而是更多讓模型擁有泛化能力。
另外墙懂,在訓練中建議采用交叉驗證的方法橡卤,例如s折交叉驗證。