? ? ? ? 這篇筆記,主要記錄花書第五章機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)。通過對(duì)基礎(chǔ)知識(shí)的理解,看看如何把前面幾章學(xué)到的數(shù)學(xué)知識(shí)運(yùn)用到實(shí)際的機(jī)器學(xué)習(xí)當(dāng)中。
什么是機(jī)器學(xué)習(xí)?
在1959年,Arthur Samuel:不用編程去指定機(jī)器做什么,而是讓機(jī)器有能力自己學(xué)習(xí);
在1998年,Tom Mitchell:首先定義任務(wù)T,經(jīng)驗(yàn)E,表現(xiàn)P,如果機(jī)器有一個(gè)任務(wù)T,隨著經(jīng)驗(yàn)E的增多,表現(xiàn)P也會(huì)變好,則表示機(jī)器正在經(jīng)驗(yàn)E中學(xué)習(xí);
在本書中我們采用Tom Mitchell的定義來解釋機(jī)器學(xué)習(xí)。
一些概念
通常在訓(xùn)練機(jī)器學(xué)習(xí)模型時(shí),我們需要使用某個(gè)訓(xùn)練集(training set),在訓(xùn)練集上的度量誤差稱為訓(xùn)練誤差(training error)。以及用來測(cè)試性能的測(cè)試集(test set),測(cè)試集上的誤差稱為測(cè)試誤差(test error)。
欠擬合(underfitting):是指模型不能再訓(xùn)練集上獲得足夠低的誤差。
過擬合(overfitting):是指訓(xùn)練誤差和測(cè)試誤差之間的差距太大。
容量(capacity):是指擬合各種函數(shù)的能力。通常容量高的模型可能過擬合,容量低的模型可能很難擬合訓(xùn)練集。
正則化(regularizatioin):是指修改學(xué)習(xí)算法,使其降低測(cè)試誤差而非訓(xùn)練誤差。
超參數(shù)(Hyperparameters):大多數(shù)機(jī)器學(xué)習(xí)算法都有多個(gè)設(shè)置來控制機(jī)器學(xué)習(xí)算法的行為。這些設(shè)置成為超參數(shù)。
驗(yàn)證集(validation set):用于挑戰(zhàn)超參數(shù)的數(shù)據(jù)子集,稱為驗(yàn)證集。
點(diǎn)估計(jì)(point estimator):是用樣本統(tǒng)計(jì)量來估計(jì)總體參數(shù),點(diǎn)估計(jì)可以是樣本參數(shù)上的任意一個(gè)函數(shù)。
函數(shù)估計(jì)(function estimation):描述輸入和目標(biāo)變量之間關(guān)系的點(diǎn)估計(jì),稱為函數(shù)估計(jì)。
偏差(bias):是指?jìng)€(gè)別測(cè)定值與測(cè)定的平均值之間的差,它可以用來衡量測(cè)定結(jié)果的精密度高低。一個(gè)估計(jì)的偏差記作:

如果偏差為0,則稱為無偏(unbiased),如果m趨向無限,偏差趨向0,則稱為漸進(jìn)無偏(asymptotiacally unbiased).盡管無偏估計(jì)是令人滿意的,但是不一定是最好的估計(jì)。偏差度量著偏離真實(shí)函數(shù)或者參數(shù)的誤差期望;而方差度量著數(shù)據(jù)上任意指定采樣可能導(dǎo)致的估計(jì)期望的誤差。
均方誤差(mean squared error):為了度量方差偏差估計(jì)和方差估計(jì)差異比較大的情況下。偏差平方+方差。

最大似然估計(jì)
最大似然估計(jì)(Maximum Likelihood Estimation):在已經(jīng)得到試驗(yàn)結(jié)果的情況下,我們應(yīng)該尋找使這個(gè)結(jié)果出現(xiàn)的可能性最大的那個(gè)參數(shù)作為真的參數(shù)估計(jì)。


求最大似然函數(shù)估計(jì)值的一般步驟:
(1) 寫出似然函數(shù)
(2) 對(duì)似然函數(shù)取對(duì)數(shù),并整理
(3) 求導(dǎo)數(shù)
(4) 解似然方程
最大似然估計(jì)一些性質(zhì):
1.一致性:當(dāng)訓(xùn)練樣本數(shù)目趨向于無窮大的時(shí)候,參數(shù)的最大似然估計(jì)會(huì)收斂到參數(shù)的真實(shí)值。
2.統(tǒng)計(jì)效率:某些一致估計(jì)可能只需要較少的樣本就能達(dá)到一個(gè)固定程度的泛化誤差。
貝葉斯統(tǒng)計(jì)
先驗(yàn)分布(prior probability distribution):它是總體分布參數(shù)θ的一個(gè)概率分布。貝葉斯學(xué)派的根本觀點(diǎn),是認(rèn)為在關(guān)于θ的任何統(tǒng)計(jì)推斷問題中,除了使用樣本X所提供的信息外,還必須對(duì)θ規(guī)定一個(gè)先驗(yàn)分布,它是在進(jìn)行推斷時(shí)不可或缺的一個(gè)要素。貝葉斯學(xué)派把先驗(yàn)分布解釋為在抽樣前就有的關(guān)于θ的先驗(yàn)信息的概率表述,先驗(yàn)分布不必有客觀的依據(jù),它可以部分地或完全地基于主觀信念。
后驗(yàn)分布(posterior distribution):根據(jù)樣本 X 的分布Pθ及θ的先驗(yàn)分布π(θ),用概率論中求條件概率分布的方法,可算出在已知X=x的條件下,θ的條件分布 π(θ|x)。因?yàn)檫@個(gè)分布是在抽樣以后才得到的,故稱為后驗(yàn)分布。貝葉斯學(xué)派認(rèn)為:這個(gè)分布綜合了樣本X及先驗(yàn)分布π(θ)所提供的有關(guān)的信息。抽樣的全部目的,就在于完成由先驗(yàn)分布到后驗(yàn)分布的轉(zhuǎn)換。
最大后驗(yàn)估計(jì)(Maximum A Posterior Estimation):最大后驗(yàn)估計(jì)是根據(jù)經(jīng)驗(yàn)數(shù)據(jù)獲得對(duì)難以觀察的量的點(diǎn)估計(jì)。與最大似然估計(jì)類似,但是最大的不同時(shí),最大后驗(yàn)估計(jì)的融入了要估計(jì)量的先驗(yàn)分布在其中。故最大后驗(yàn)估計(jì)可以看做規(guī)則化的最大似然估計(jì)。

用“瓜熟蒂落”這個(gè)因果例子,從概率(probability)的角度說一下以上幾個(gè)概念。
先驗(yàn)概率,就是常識(shí)、經(jīng)驗(yàn)所透露出的“因”的概率,即瓜熟的概率。應(yīng)該很清楚。
后驗(yàn)概率,就是在知道“果”之后,去推測(cè)“因”的概率,也就是說,如果已經(jīng)知道瓜蒂脫落,那么瓜熟的概率是多少。后驗(yàn)和先驗(yàn)的關(guān)系可以通過貝葉斯公式來求。也就是:
P(瓜熟 | 已知蒂落)=P(瓜熟)×P(蒂落 | 瓜熟)/ P(蒂落)
似然函數(shù),是根據(jù)已知結(jié)果去推測(cè)固有性質(zhì)的可能性(likelihood),是對(duì)固有性質(zhì)的擬合程度,所以不能稱為概率。在這里就是說,不要管什么瓜熟的概率,只care瓜熟與蒂落的關(guān)系。如果蒂落了,那么對(duì)瓜熟這一屬性的擬合程度有多大。似然函數(shù),一般寫成L(瓜熟 | 已知蒂落),和后驗(yàn)概率非常像,區(qū)別在于似然函數(shù)把瓜熟看成一個(gè)肯定存在的屬性,而后驗(yàn)概率把瓜熟看成一個(gè)隨機(jī)變量。
再扯一扯似然函數(shù)和條件概率的關(guān)系。似然函數(shù)就是條件概率的逆反。意為:
L(瓜熟 | 已知蒂落)= C × P(蒂落 | 瓜熟),C是常數(shù)。具體來說,現(xiàn)在有1000個(gè)瓜熟了,落了800個(gè),那條件概率是0.8。那我也可以說,這1000個(gè)瓜都熟的可能性是0.8C。
注意,之所以加個(gè)常數(shù)項(xiàng),是因?yàn)樗迫缓瘮?shù)的具體值沒有意義,只有看它的相對(duì)大小或者兩個(gè)似然值的比率才有意義,后面還有例子。
----------------------------------------------------------------------------------------------------
同理,如果理解上面的意義,分布就是一“串”概率。
先驗(yàn)分布:現(xiàn)在常識(shí)不但告訴我們瓜熟的概率,也說明了瓜青、瓜爛的概率
后驗(yàn)分布:在知道蒂落之后,瓜青、瓜熟、瓜爛的概率都是多少
似然函數(shù):在知道蒂落的情形下,如果以瓜青為必然屬性,它的可能性是多少?如果以瓜熟為必然屬性,它的可能性是多少?如果以瓜爛為必然屬性,它的可能性是多少?似然函數(shù)不是分布,只是對(duì)上述三種情形下各自的可能性描述。
那么我們把這三者結(jié)合起來,就可以得到:后驗(yàn)分布 正比于 先驗(yàn)分布 × 似然函數(shù)。先驗(yàn)就是設(shè)定一種情形,似然就是看這種情形下發(fā)生的可能性,兩者合起來就是后驗(yàn)的概率。
至于似然估計(jì):
就是不管先驗(yàn)和后驗(yàn)?zāi)且惶?,只看似然函?shù),現(xiàn)在蒂落了,可能有瓜青、瓜熟、瓜爛,這三種情況都有個(gè)似然值(L(瓜青):0.6、L(瓜熟):0.8、L(瓜爛):0.7),我們采用最大的那個(gè),即瓜熟,這個(gè)時(shí)候假定瓜熟為必然屬性是最有可能的。
但如果現(xiàn)在是冬天,瓜熟概率為零,那么你根據(jù)貝葉斯估計(jì),就不會(huì)判斷瓜熟了……
監(jiān)督學(xué)習(xí)算法
監(jiān)督學(xué)習(xí)算法(Supervised Learning Algorithms):通俗來講,監(jiān)督學(xué)習(xí)算法是給定一組輸入x和輸出y的訓(xùn)練集,學(xué)習(xí)如何關(guān)聯(lián)輸入和輸出關(guān)系。
支持向量機(jī)(Support Vector Machines):在機(jī)器學(xué)習(xí)中,支持向量機(jī)是最有影響力的監(jiān)督學(xué)習(xí)模型之一,可以分析數(shù)據(jù),識(shí)別模式,用于分類和回歸分析。
(博文分享)
K最近鄰(k-NearestNeighbor):該方法的思路是:如果一個(gè)樣本在特征空間中的k個(gè)最相似(即特征空間中最鄰近)的樣本中的大多數(shù)屬于某一個(gè)類別,則該樣本也屬于這個(gè)類別。
決策樹(decision tree):是一種簡(jiǎn)單但是廣泛使用的分類器。通過訓(xùn)練數(shù)據(jù)構(gòu)建決策樹,可以高效的對(duì)未知的數(shù)據(jù)進(jìn)行分類。決策數(shù)有兩大優(yōu)點(diǎn):1)決策樹模型可以讀性好,具有描述性,有助于人工分析;2)效率高,決策樹只需要一次構(gòu)建,反復(fù)使用,每一次預(yù)測(cè)的最大計(jì)算次數(shù)不超過決策樹的深度。
無監(jiān)督學(xué)習(xí)算法
無監(jiān)督學(xué)習(xí)(Unsupervised Learning Algorithms):無監(jiān)督學(xué)習(xí)只處理特征,而不操作監(jiān)督信號(hào)。機(jī)器將使用無標(biāo)記的數(shù)據(jù),在這種場(chǎng)景下,我們只需要提供輸入數(shù)據(jù),機(jī)器學(xué)習(xí)的關(guān)鍵點(diǎn)是通過計(jì)算找出數(shù)據(jù)隱含的特性。
主成分分析(Principal Components Analysis): PCA學(xué)習(xí)算法提供一種比原始輸入更低維度的一種表示。如第二章中提到的壓縮算法就是PCA算法。
K均值聚類(k-means Clustering):K-MEANS算法是輸入聚類個(gè)數(shù)k,以及包含 n個(gè)數(shù)據(jù)對(duì)象的數(shù)據(jù)庫,輸出滿足方差最小標(biāo)準(zhǔn)k個(gè)聚類的一種算法。
隨機(jī)梯度下降
隨機(jī)梯度下降(Stochastic Gradient Descent):因?yàn)槊看斡?jì)算梯度都需要遍歷所有的樣本點(diǎn)。這是因?yàn)樘荻仁荍(θ)的導(dǎo)數(shù),而J(θ)是需要考慮所有樣本的誤差和 ,這個(gè)方法問題就是,擴(kuò)展性問題,當(dāng)樣本點(diǎn)很大的時(shí)候,基本就沒法算了。所以接下來又提出了隨機(jī)梯度下降算法(stochastic gradient descent )。隨機(jī)梯度下降算法,每次迭代只是考慮讓該樣本點(diǎn)的J(θ)趨向最小,而不管其他的樣本點(diǎn),這樣算法會(huì)很快,但是收斂的過程會(huì)比較曲折,整體效果上,大多數(shù)時(shí)候它只能接近局部最優(yōu)解,而無法真正達(dá)到局部最優(yōu)解。
好了,書上關(guān)于機(jī)器學(xué)習(xí)的基本概念回顧結(jié)束了,為下一章開始深度學(xué)習(xí)奠定基礎(chǔ)知識(shí)。
Q&A:
如果有興趣相投的朋友,歡迎來http://www.jokls.com/提問或者解答其他小伙伴的提問。