? ? ? ? 這篇筆記,主要記錄花書第五章機器學習的基礎知識。通過對基礎知識的理解,看看如何把前面幾章學到的數學知識運用到實際的機器學習當中。
什么是機器學習?
在1959年,Arthur Samuel:不用編程去指定機器做什么,而是讓機器有能力自己學習;
在1998年,Tom Mitchell:首先定義任務T,經驗E,表現P,如果機器有一個任務T,隨著經驗E的增多,表現P也會變好,則表示機器正在經驗E中學習;
在本書中我們采用Tom Mitchell的定義來解釋機器學習。
一些概念
通常在訓練機器學習模型時,我們需要使用某個訓練集(training set),在訓練集上的度量誤差稱為訓練誤差(training error)。以及用來測試性能的測試集(test set),測試集上的誤差稱為測試誤差(test error)。
欠擬合(underfitting):是指模型不能再訓練集上獲得足夠低的誤差。
過擬合(overfitting):是指訓練誤差和測試誤差之間的差距太大。
容量(capacity):是指擬合各種函數的能力。通常容量高的模型可能過擬合,容量低的模型可能很難擬合訓練集。
正則化(regularizatioin):是指修改學習算法,使其降低測試誤差而非訓練誤差。
超參數(Hyperparameters):大多數機器學習算法都有多個設置來控制機器學習算法的行為。這些設置成為超參數。
驗證集(validation set):用于挑戰超參數的數據子集,稱為驗證集。
點估計(point estimator):是用樣本統計量來估計總體參數,點估計可以是樣本參數上的任意一個函數。
函數估計(function estimation):描述輸入和目標變量之間關系的點估計,稱為函數估計。
偏差(bias):是指個別測定值與測定的平均值之間的差,它可以用來衡量測定結果的精密度高低。一個估計的偏差記作:
如果偏差為0,則稱為無偏(unbiased),如果m趨向無限,偏差趨向0,則稱為漸進無偏(asymptotiacally unbiased).盡管無偏估計是令人滿意的,但是不一定是最好的估計。偏差度量著偏離真實函數或者參數的誤差期望;而方差度量著數據上任意指定采樣可能導致的估計期望的誤差。
均方誤差(mean squared error):為了度量方差偏差估計和方差估計差異比較大的情況下。偏差平方+方差。
最大似然估計
最大似然估計(Maximum Likelihood Estimation):在已經得到試驗結果的情況下,我們應該尋找使這個結果出現的可能性最大的那個參數作為真的參數估計。
求最大似然函數估計值的一般步驟:
(1) 寫出似然函數
(2) 對似然函數取對數,并整理
(3) 求導數
(4) 解似然方程
最大似然估計一些性質:
1.一致性:當訓練樣本數目趨向于無窮大的時候,參數的最大似然估計會收斂到參數的真實值。
2.統計效率:某些一致估計可能只需要較少的樣本就能達到一個固定程度的泛化誤差。
貝葉斯統計
先驗分布(prior probability distribution):它是總體分布參數θ的一個概率分布。貝葉斯學派的根本觀點,是認為在關于θ的任何統計推斷問題中,除了使用樣本X所提供的信息外,還必須對θ規定一個先驗分布,它是在進行推斷時不可或缺的一個要素。貝葉斯學派把先驗分布解釋為在抽樣前就有的關于θ的先驗信息的概率表述,先驗分布不必有客觀的依據,它可以部分地或完全地基于主觀信念。
后驗分布(posterior distribution):根據樣本 X 的分布Pθ及θ的先驗分布π(θ),用概率論中求條件概率分布的方法,可算出在已知X=x的條件下,θ的條件分布 π(θ|x)。因為這個分布是在抽樣以后才得到的,故稱為后驗分布。貝葉斯學派認為:這個分布綜合了樣本X及先驗分布π(θ)所提供的有關的信息。抽樣的全部目的,就在于完成由先驗分布到后驗分布的轉換。
最大后驗估計(Maximum A Posterior Estimation):最大后驗估計是根據經驗數據獲得對難以觀察的量的點估計。與最大似然估計類似,但是最大的不同時,最大后驗估計的融入了要估計量的先驗分布在其中。故最大后驗估計可以看做規則化的最大似然估計。
用“瓜熟蒂落”這個因果例子,從概率(probability)的角度說一下以上幾個概念。
先驗概率,就是常識、經驗所透露出的“因”的概率,即瓜熟的概率。應該很清楚。
后驗概率,就是在知道“果”之后,去推測“因”的概率,也就是說,如果已經知道瓜蒂脫落,那么瓜熟的概率是多少。后驗和先驗的關系可以通過貝葉斯公式來求。也就是:
P(瓜熟 | 已知蒂落)=P(瓜熟)×P(蒂落 | 瓜熟)/ P(蒂落)
似然函數,是根據已知結果去推測固有性質的可能性(likelihood),是對固有性質的擬合程度,所以不能稱為概率。在這里就是說,不要管什么瓜熟的概率,只care瓜熟與蒂落的關系。如果蒂落了,那么對瓜熟這一屬性的擬合程度有多大。似然函數,一般寫成L(瓜熟 | 已知蒂落),和后驗概率非常像,區別在于似然函數把瓜熟看成一個肯定存在的屬性,而后驗概率把瓜熟看成一個隨機變量。
再扯一扯似然函數和條件概率的關系。似然函數就是條件概率的逆反。意為:
L(瓜熟 | 已知蒂落)= C × P(蒂落 | 瓜熟),C是常數。具體來說,現在有1000個瓜熟了,落了800個,那條件概率是0.8。那我也可以說,這1000個瓜都熟的可能性是0.8C。
注意,之所以加個常數項,是因為似然函數的具體值沒有意義,只有看它的相對大小或者兩個似然值的比率才有意義,后面還有例子。
----------------------------------------------------------------------------------------------------
同理,如果理解上面的意義,分布就是一“串”概率。
先驗分布:現在常識不但告訴我們瓜熟的概率,也說明了瓜青、瓜爛的概率
后驗分布:在知道蒂落之后,瓜青、瓜熟、瓜爛的概率都是多少
似然函數:在知道蒂落的情形下,如果以瓜青為必然屬性,它的可能性是多少?如果以瓜熟為必然屬性,它的可能性是多少?如果以瓜爛為必然屬性,它的可能性是多少?似然函數不是分布,只是對上述三種情形下各自的可能性描述。
那么我們把這三者結合起來,就可以得到:后驗分布 正比于 先驗分布 × 似然函數。先驗就是設定一種情形,似然就是看這種情形下發生的可能性,兩者合起來就是后驗的概率。
至于似然估計:
就是不管先驗和后驗那一套,只看似然函數,現在蒂落了,可能有瓜青、瓜熟、瓜爛,這三種情況都有個似然值(L(瓜青):0.6、L(瓜熟):0.8、L(瓜爛):0.7),我們采用最大的那個,即瓜熟,這個時候假定瓜熟為必然屬性是最有可能的。
但如果現在是冬天,瓜熟概率為零,那么你根據貝葉斯估計,就不會判斷瓜熟了……
監督學習算法
監督學習算法(Supervised Learning Algorithms):通俗來講,監督學習算法是給定一組輸入x和輸出y的訓練集,學習如何關聯輸入和輸出關系。
支持向量機(Support Vector Machines):在機器學習中,支持向量機是最有影響力的監督學習模型之一,可以分析數據,識別模式,用于分類和回歸分析。
(博文分享)
K最近鄰(k-NearestNeighbor):該方法的思路是:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別。
決策樹(decision tree):是一種簡單但是廣泛使用的分類器。通過訓練數據構建決策樹,可以高效的對未知的數據進行分類。決策數有兩大優點:1)決策樹模型可以讀性好,具有描述性,有助于人工分析;2)效率高,決策樹只需要一次構建,反復使用,每一次預測的最大計算次數不超過決策樹的深度。
無監督學習算法
無監督學習(Unsupervised Learning Algorithms):無監督學習只處理特征,而不操作監督信號。機器將使用無標記的數據,在這種場景下,我們只需要提供輸入數據,機器學習的關鍵點是通過計算找出數據隱含的特性。
主成分分析(Principal Components Analysis): PCA學習算法提供一種比原始輸入更低維度的一種表示。如第二章中提到的壓縮算法就是PCA算法。
K均值聚類(k-means Clustering):K-MEANS算法是輸入聚類個數k,以及包含 n個數據對象的數據庫,輸出滿足方差最小標準k個聚類的一種算法。
隨機梯度下降
隨機梯度下降(Stochastic Gradient Descent):因為每次計算梯度都需要遍歷所有的樣本點。這是因為梯度是J(θ)的導數,而J(θ)是需要考慮所有樣本的誤差和 ,這個方法問題就是,擴展性問題,當樣本點很大的時候,基本就沒法算了。所以接下來又提出了隨機梯度下降算法(stochastic gradient descent )。隨機梯度下降算法,每次迭代只是考慮讓該樣本點的J(θ)趨向最小,而不管其他的樣本點,這樣算法會很快,但是收斂的過程會比較曲折,整體效果上,大多數時候它只能接近局部最優解,而無法真正達到局部最優解。
好了,書上關于機器學習的基本概念回顧結束了,為下一章開始深度學習奠定基礎知識。
Q&A:
如果有興趣相投的朋友,歡迎來http://www.jokls.com/提問或者解答其他小伙伴的提問。