機器學習 (Machine Learning) 是對研究問題進行模型假設,利用計算機從訓練數(shù)據(jù)中學習得到模型參數(shù),并最終對數(shù)據(jù)進行預測和分析的一門學科。
**模型是機器學習的核心組成要素。**本文從模型的廣義概念出發(fā),引申出機器學習模型的基本定義,并就機器學習中容易混淆的概念——模型和算法,進行了詳細對比和關系解讀,最后列出了常見的模型評估指標與方法,供大家在學習機器學習的過程中起到一點參考作用。
1.模型的基本定義
先來看看百度百科對于模型的定義:從廣義上講:如果一件事物能隨著另一件事物的改變而改變,那么此事物就是另一件事物的模型。模型的作用就是表達不同概念的性質(zhì),一個概念可以使很多模型發(fā)生不同程度的改變,但只要很少模型就能表達出一個概念的性質(zhì),所以一個概念可以通過參考不同的模型從而改變性質(zhì)的表達形式。
當模型與事物發(fā)生聯(lián)系時會產(chǎn)生一個具有性質(zhì)的框架,此性質(zhì)決定模型怎樣隨事物變化。
模型由三個部分組成的,即目標、變量和關系。
數(shù)學模型:用數(shù)學語言描述的一類模型。數(shù)學模型可以是一個或一組代數(shù)方程、微分方程、差分方程、積分方程或統(tǒng)計學方程,也可以是它們的某種適當?shù)慕M合,通過這些方程定量地或定性地描述系統(tǒng)各變量之間的相互關系或因果關系。除了用方程描述的數(shù)學模型外,還有用其他數(shù)學工具,如代數(shù)、幾何、拓撲、數(shù)理邏輯等描述的模型。需要指出的是,數(shù)學模型描述的是系統(tǒng)的行為和特征而不是系統(tǒng)的實際結構。
那么什么是機器學習模型?
機器學習模型其實是一種映射,可以將其看作是在給定輸入情況(x)下、輸出一定結果的函數(shù)f(x),如下圖所示:
**機器學習模型本質(zhì)上是一種接受數(shù)據(jù)作為輸入并生成輸出的函數(shù),**在利用已知數(shù)據(jù)去預測未知數(shù)據(jù)的過程中,模型不僅要在已知樣本上表現(xiàn)優(yōu)秀,更要在未知樣本上具有相近的表現(xiàn)。
由此,我們可以引申出機器學習的定義:機器學習的概念就是通過輸入海量訓練數(shù)據(jù)對模型進行訓練,使模型掌握數(shù)據(jù)所蘊含的潛在規(guī)律,進而對新輸入的數(shù)據(jù)進行準確的分類或預測。
機器學習的核心是“使用算法解析數(shù)據(jù),從中學習,然后對新數(shù)據(jù)做出決定或預測”。也就是說計算機利用已獲取的數(shù)據(jù)得出某一模型,然后利用此模型進行預測的一種方法,這個過程跟人的學習過程有些類似,比如人獲取一定的經(jīng)驗,可以對新問題進行預測。
2.機器學習中算法與模型的區(qū)別:
**算法:**算法是指完成一個任務所需要的具體步驟和方法。也就是說給定初始狀態(tài)或輸入數(shù)據(jù),經(jīng)過計算機程序的有限次運算,能夠得出所要求或期望的終止狀態(tài)或輸出數(shù)據(jù)。
機器學習中的“算法”是在數(shù)據(jù)上運行以創(chuàng)建機器學習“模型”的過程。
機器學習算法有很多,例如線性回歸、邏輯回歸、決策樹、人工神經(jīng)網(wǎng)絡、K- 最近鄰、K- 均值等等。你可以把機器學習算法想象成計算機科學中的任何其他算法。
**模型:**機器學習中的“模型”是運行在數(shù)據(jù)上的機器學習算法的輸出。
模型表示機器學習算法所學到的內(nèi)容。
模型是在訓練數(shù)據(jù)上運行機器學習算法后保存的“東西”,它表示用于進行預測所需的規(guī)則、數(shù)字和任何其他特定于算法的數(shù)據(jù)結構。
舉一些例子,可能會讓人更清楚地明白這一點:
線性回歸算法的結果是一個由具有特定值的稀疏向量組成的模型。
決策樹算法的結果是一個由具有特定值的 if-then 語句樹組成的模型。
神經(jīng)網(wǎng)絡 / 反向傳播 / 梯度下降算法一起產(chǎn)生一個由具有特定值的向量或權重矩陣和特定值的圖結構組成的模型。
算法和模型的關系
現(xiàn)在我們已經(jīng)熟悉了機器學習的“算法”和機器學習的“模型”。
具體來說,就是對數(shù)據(jù)運行算法來創(chuàng)建模型。
下圖這個公式可以更好地幫助我們理解算法和模型的關系。
我們了解到,模型由數(shù)據(jù)和如何使用數(shù)據(jù)對新數(shù)據(jù)進行預測的過程組成。
如果將機器學習模型想象成一個“程序”,那么機器學習模型“程序”由數(shù)據(jù)和利用數(shù)據(jù)進行預測的過程組成。
通常情況下,算法是某種優(yōu)化程序,即在訓練數(shù)據(jù)集上使模型(數(shù)據(jù) + 預測算法)的誤差最小化。線性回歸算法就是一個很好的例子。它執(zhí)行一個優(yōu)化過程(或用線性代數(shù)進行分析求解),找到一組權重,使訓練數(shù)據(jù)集上的誤差之和平方最小化。
例如,考慮線性回歸算法和由此產(chǎn)生的模型。該模型由系數(shù)(數(shù)據(jù))向量組成,這些系數(shù)(數(shù)據(jù))與作為輸入的一行新數(shù)據(jù)相乘并求和,以便進行預測(預測過程)。
我們將數(shù)據(jù)保存為機器學習模型,以備后用。
機器學習是自動編程
我們真的只是想要一個機器學習的“模型”,而“算法”就是我們獲得模型的路徑。
機器學習技術用于解決其他方法無法有效或高效解決的問題。
例如,如果我們需要將電子郵件分類為垃圾郵件或非垃圾郵件,我們需要一個軟件程序來完成此任務。
我們可以坐下來,手動查看大量的電子郵件,然后寫 if 語句來完成合格任務。人們已經(jīng)試過這個方法。事實證明,這種方法是緩慢的、脆弱的,而且效果也不是很好。
相反,我們可以使用機器學習技術來解決這個問題。具體來說,像 樸素貝葉斯(Naive Bayes)這樣的算法就可以從大量的歷史郵件樣本數(shù)據(jù)集中學習如何將郵件分類為垃圾郵件和非垃圾郵件。
我們不想要“樸素的貝葉斯”,我們想要樸素貝葉斯給出的模型,就是我們可以用來對郵件進行分類的模型(概率向量和使用概率概率的預測算法)。我們想要的是模型,而不是用來創(chuàng)建模型的算法。
從這個意義上來說,機器學習模型是一個由機器學習算法自動編寫、或創(chuàng)建、或?qū)W習的程序,用來解決我們的問題。
機器學習算法執(zhí)行自動編程,而機器學習模型是為我們創(chuàng)建的程序。
3.衡量模型性能的指標
什么是模型評估
模型評估是對訓練好的模型性能進行評估, 模型評估是模型開發(fā)過程不可或缺的一部分。它有助于發(fā)現(xiàn)表達數(shù)據(jù)的最佳模型和所選模型將來工作的性能如何。
模型評估的類型
機器學習的任務有回歸,分類和聚類,針對不同的任務有不同的評價指標。按照數(shù)據(jù)集的目標值不同,可以把模型評估分為分類模型評估和回歸模型評估。
過擬合、欠擬合
1)欠擬合
欠擬合(或稱:擬合不足、欠配,英文:underfitting)是指模型在訓練數(shù)據(jù)上沒有獲得充分小的誤差.造成欠擬合的原因通常是模型學習能力過低,具體地說,就是模型參數(shù)過少或者結構過于簡單,以至于無法學習到數(shù)據(jù)的內(nèi)在結構和特征.例如,當用一個線性模型去擬合非線性數(shù)據(jù)時,會發(fā)生欠擬合.由此,可以通過增加模型參數(shù)和復雜度,提高學習能力,從而解決欠擬合問題.與欠擬合相對應的,是過度擬合.
2)過擬合
是指為了得到一致假設而使假設變得過度嚴格。
避免過擬合是分類器設計中的一個核心任務。
通常采用增大數(shù)據(jù)量和測試樣本集的方法對分類器性能進行評價。
無論是欠擬合還是過擬合,都是模型泛化能力差的表現(xiàn)。
模型泛化能力
泛化能力(generalization ability)是指機器學習算法對新鮮樣本的適應能力。
機器學習的目的是學到隱含在數(shù)據(jù)背后的規(guī)律,對具有同一規(guī)律的學習集以外的數(shù)據(jù),經(jīng)過訓練的網(wǎng)絡也能給出合適的輸出,該能力稱為泛化能力。
規(guī)律適用于現(xiàn)有數(shù)據(jù),同樣也適用于新鮮數(shù)據(jù)。
常見的分類模型評估指標有:
1)混淆矩陣:混淆矩陣是監(jiān)督學習中的一種可視化工具,主要用于模型的分類結果和實例的真實信息的比較 。
矩陣中的每一行代表實例的預測類別,每一列代表實例的真實類別。
2)準確率Accuracy:準確率是最常用的分類性能指標。
Accuracy = (TP+TN)/(TP+FN+FP+TN)
預測正確的數(shù)占樣本總數(shù)的比例,即正確預測的正反例數(shù) /總數(shù)。
3)精確率(Precision):精確率只是針對預測正確的正樣本而不是所有預測正確的樣本。
表現(xiàn)為預測出是正的里面有多少真正是正的??衫斫鉃椴闇事省?br> Precision = TP/(TP+FP)
即正確預測的正例數(shù) /預測正例總數(shù)
4)召回率recall:率表現(xiàn)出在實際正樣本中,分類器能預測出多少。
與真正率相等,可理解為查全率。正確預測為正占全部正校本的比例
Recall = TP/(TP+FN),即正確預測的正例數(shù) /實際正例總數(shù)
5)F1-score:主要用于評估模型的穩(wěn)健性
6)AUC指標:主要用于評估樣本不均衡的情況
7)AUC:隨機挑選一個正樣本以及一個負樣本,分類器判定正樣本的值高于負樣本的概率就是 AUC 值。
8)PR曲線:PR曲線的橫坐標是精確率P,縱坐標是召回率R。
常見的回歸模型評估指標有:
1)向量的距離
·歐式距離/幾何距離
·曼哈頓距離
·馬氏距離
·余弦距離
2)平均絕對誤差(MAE)
平均絕對誤差MAE(Mean Absolute Error)又被稱為l1范數(shù)損失(l1-norm loss)
3)平均平方誤差(MSE)
平均平方誤差MSE(Mean Squared Error)又被稱為l2范數(shù)損失(l2-norm loss)
4)均方根誤差(RMSE)
RMSE雖然廣為使用,但是其存在一些缺點,因為它是使用平均誤差,而平均值對異常點(outliers)較敏感,如果回歸器對某個點的回歸值很不理性,那么它的誤差則較大,從而會對RMSE的值有較大影響,即平均值是非魯棒的。
5)解釋變異
解釋變異( Explained variance)是根據(jù)誤差的方差計算得到的。
6)決定系數(shù)
決定系數(shù)(Coefficient of determination)又被稱為R2。
常見的聚類模型評估指標:
1)蘭德指數(shù):蘭德指數(shù)(Rand index)需要給定實際類別信息C,假設K是聚類結果,a表示在C與K中都是同類別的元素對數(shù),b表示在C與K中都是不同類別的元素對數(shù),則蘭德指數(shù)為:
2)互信息
互信息(Mutual Information)也是用來衡量兩個數(shù)據(jù)分布的吻合程度。文章來源:http://www.zghlxwxcb.cn/news/detail-454882.html
3)輪廓系數(shù)
輪廓系數(shù)(Silhouette coefficient)適用于實際類別信息未知的情況。文章來源地址http://www.zghlxwxcb.cn/news/detail-454882.html
到了這里,關于到底什么是機器學習模型?這篇文章終于講明白了的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!