前言:
以下是我在自己理解的基礎(chǔ)上做的總結(jié),介紹了機器學習的定義以及評估算法的幾個概念。
-
定義
- 機器學習是一門從數(shù)據(jù)中研究算法的科學學科。是根據(jù)已有的數(shù)據(jù),進行算法選擇,并基于算法和數(shù)據(jù)構(gòu)建模型,最終對未來進行預測。機器學習是一類算法的總稱,這些算法企圖從大量歷史數(shù)據(jù)中挖掘出其中隱含的規(guī)律,并用于預測或者分類,更具體的說,機器學習可以看作是尋找一個函數(shù),輸入是樣本數(shù)據(jù),輸出是期望的結(jié)果,只是這個函數(shù)過于復雜,以至于不太方便形式化表達。需要注意的是,機器學習的目標是使學到的函數(shù)很好地適用于“新樣本”,而不僅僅是在訓練樣本上表現(xiàn)很好。學到的函數(shù)適用于新樣本的能力,稱為泛化(Generalization)能力。
1.數(shù)據(jù)中研究算法
可以從人的學習來理解機器學習,比如,人通過西瓜的顏色,響聲,根蒂來挑選西瓜,也就是說人通過經(jīng)驗來對新的情況作出預測。而計算機中,“經(jīng)驗”是以“數(shù)據(jù)”的形式的存在,從數(shù)據(jù)中產(chǎn)生模型算法也叫學習算法,對新的情況進行預測。如下圖:
image.png
2.機器學習分類 - 有監(jiān)督學習:
- 預測值是離散值,如根據(jù)瓜的成色(特征值),判斷出是“好瓜” 或者是“壞瓜”(目標屬性),這種學習任務就是“分類”。
- 預測值是連續(xù)值,比如根據(jù)瓜的相貌,判斷出這個西瓜值多少錢。這種學習任務是連續(xù)的,就會用到“回歸”問題。
- 無監(jiān)督學習:
如果沒有給出目標屬性,那怎么辦呢?我們可以對樣本進行“聚類”處理,簡單的來講,就是根據(jù)把具有某些相同特征的樣本劃分到一起直接進行分類。這里提到的聚類將會在以后的章節(jié)有介紹。
3.關(guān)于模型
也就是機器學習算法,從數(shù)據(jù)中獲得一個假設的函數(shù)g,使其非常接近目標函數(shù)f的效果。
算法(T):根據(jù)業(yè)務需要和數(shù)據(jù)特征選擇的相關(guān)算法, 也就是一個數(shù)學公式。
模型(E):基于數(shù)據(jù)和算法構(gòu)建出來的模型,模型構(gòu)建的時候要先把歷史數(shù)據(jù)分為“訓練集”和“測試集”用于訓練算法。

image.png
4.機器學習的過程

image.png
5.如何評估你得到的算法的好壞?
魯棒性:也就是健壯性、穩(wěn)健性、強健性,是系統(tǒng)的健壯性;但缺點是當存在異常數(shù)據(jù)的 時候,算法也會擬合數(shù)據(jù)
模型訓練中可能出現(xiàn)的問題:
1> 欠擬合:由于學習不足,還得進行繼續(xù)學習。
解決方法:添加特征值,提取更多的特征
2> 過擬合:學習的太徹底,使得模型在訓練數(shù)據(jù)中的效果非常好,然而在實際的數(shù)據(jù)中反而不太好。
解決方法:1.正則化方法 2.提前終止 3.逐層歸一化
不過,數(shù)據(jù)訓練過程中始終是最重要的,往往都是更多的數(shù)據(jù)勝過一個更好的模型。-
流程

image.png
- 數(shù)據(jù)收集
很關(guān)鍵,傳統(tǒng)行業(yè)轉(zhuǎn)向機器學習的第一步 - 數(shù)據(jù)清理
大部分的機器學習模型所處理的都是特征,特征通常是輸入變量所對應的可用于模型的數(shù)值
數(shù)據(jù)過濾
處理數(shù)據(jù)缺失
處理可能的異常、錯誤或者異常值
合并多個數(shù)據(jù)源數(shù)據(jù)
數(shù)據(jù)匯總 - 模型訓練
- 模型測試
- 模型選擇:對特定任務最優(yōu)建模方法的選擇
模型的測試一般以下幾個方面來進行比較,分別是準確率/召回率/精準率/F值
1 準確率(Accuracy)=提取出的正確樣本數(shù)/總樣本數(shù)
2 召回率(Recall)=正確的正例樣本數(shù)/樣本中的正例樣本數(shù)——覆蓋率
3 精準率(Precision)=正確的正例樣本數(shù)/預測為正例的樣本數(shù)
4 F值=PrecisionRecall2 / (Precision+Recall) (即F值為正確率和召回率的調(diào)和平均值)
5 ROC曲線
image.png
注:AUC表示ROC的面積,AUC的值越大表示模型越好

