1. 程式人生 > >機器學習基礎 總結筆記

機器學習基礎 總結筆記

1、sklearn:機器學習的一個包,能夠自動在資料中尋找模式並對資料集進行分割。

2、當資料出現不平衡的現象的時候,需要一系列方法進行處理,避免模型出現不如預期的情況。

3、domain knowledge(摘自維基百科的定義):Domain knowledge is valid knowledge used to refer to an area of human endeavour, an autonomous computer activity, or other specialized discipline.

4、強相關又稱高度相關,即當一列變數變化時,與之相應的另一列變數增大(或減少)的可能性非常大。在座標圖上則表現為散點圖較為集中在某條直線的周圍。

5、分析資料可以分為探索和驗證兩個階段。探索性資料分析(Exploratory Data Analysis,以下簡稱EDA),是指對已有的資料(特別是調查或觀察得來的原始資料)在儘量少的先驗假定下進行探索。特別是當我們對這些資料中的資訊沒有足夠的經驗,不知道該用何種傳統統計方法進行分析時,探索性資料分析就會非常有效。探索性分析一般表現為直方圖和莖葉圖。探索性資料分析的基本工具是圖、製表和彙總統計量。一般來說,探索性資料分析是一種系統性分析資料的方法,它展示了所有變數的分佈情況、時間序列資料和變換變數,利用雜湊矩陣圖展示了變數兩兩之間的關係,並且得到了所有的彙總統計量。換句話說,就是要計算均值、最大值、最小值、上下四分位數和確定異常值。

→在機器學習的時候,如果能夠對domain knowledge正確地運用,會讓機器學習更加有效,同樣,探索式資料分析(EDA)也相當重要。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1、為某個模型將資料分成訓練集和測試集的目的:

       訓練集:這部分的資料適用於構建模型。

       測試集:這部分的資料適用於驗證模型的泛化能力,評估模型的準確率。

       補充:有時候在訓練集的時候會將訓練集分成訓練集和驗證集兩部分,其中驗證集的目的是為了輔助構建模型,優化模型。

→機器學習的核心目的就是構建具有泛化能力的模型,如果沒有測試集,或者用模型已經見過的資料來測試,都無法確切知道模型對預測未知資料的表現如何,也就無法衡量模型表現。

2、每個機器學習模型的建立都要有相對應的評價指標,評價模型的表現能力。例如:R^2,F1分數等。

3、傳統的機器學習演算法(又被稱為基於統計的機器學習)在資料量達到一定程度後,更多的資料無法提升模型的表現。深度學習的一個優勢就是它可以把大量的資料利用起來,提升學習表現。


4、偏差和方差的區別:

     用機器學習來判斷一個物體是不是樹葉,underfitting(欠擬合)是以為所有綠色的都是樹葉(沒學會該學的);overfitting(過擬合)是以為樹葉都要有鋸齒(學過頭了,不該學的也學了進去)。這兩者都不是我們想要的。

5、交叉驗證:我們可以在不使用交叉驗證的前提下只用網格搜尋來調參。對於網格搜尋來說,使用交叉驗證的評估結果更準確,因為不使用交叉驗證,訓練資料可以按一定比例分為訓練集和驗證集。我們可以用這個訓練集訓練不同(引數)的模型,在驗證集上跑分。選出最佳引數組合。但這樣只是這一次劃分驗證集上表現最好的引數,如果驗證集不具代表性。就會影響模型在未知資料上的表現。而交叉驗證很大程度上避免因樣本劃分不合理導致選擇了錯誤的引數。