糾正自己的誤區:機器學習是一個大范圍,并不是一個小的方向,比如:線性回歸預測、卷積神經網絡和強化學都是機器學習算法在不同場景的應用。
機器學習最為關鍵的是要有數據,也就是數據集
名詞解釋:數據集中的一行叫一條樣本或者實例,列名稱為特征或者屬性。樣本的數量稱為數據量,特征的數量稱為特征維度
機器學習常用庫:Numpy和sklearn
樸素的意思是特征的各條件都是相互獨立的
機器學習(模型、策略、算法)
損失函數
學習類型
分類
交叉熵或對數
有監督
回歸
均方差(MSE)
聚類
誤差平方和(SSE)
無監督
訓練過程中,對于每一次迭代過程中,基于函數計算當前迭代的預測值、均方損失和梯度,并根據梯度下降法不斷更新系數。在訓練過程中記錄每一步損失、每10000次迭代(10000 epochs)打印當前損失信息,保存更新后的模型參數字典和梯度字典。
對于數據集的描述要具體:數據集屬性(樣本量、特征數、各特征含義、特征值范圍、標簽含義、標簽取值范圍)、數據集的創建目的用途和創建者。
對于回歸則需要畫出訓練過程中的均方差損失下降曲線或者回歸模型的R方系數(該值越靠近1說明擬合效果越好)。
線性回歸模型代碼編寫思路:
![]()
數據訓練和測試的可視化可以選擇散點圖和繪制分類的決策邊界進行直觀呈現,分類預測評估報告需要用的包括精確率、召回率、F1得分,其三個指標數值越接近于1,說明模型分類效果越好。
對數分類代碼的編寫思路:其是感知機模型、神經網絡和支持向量機等模型的基礎
LASSO回歸:在面對待研究問題的眾多影響因素的作用下,如何通過在眾多影響因子中找到對問題產生較大影響的關鍵因素,并對問題趨勢進行預測。針對這個問題常使用LASSO回歸(the least absolute shrinkage and selection operator,譯為:最小絕對收縮和選擇算子,在眾多因素找出關鍵因素,適用于特征數大于樣本量的場景),突然想到這個思路是不是和之前學的正則化的思想一樣,對模型影響小的直接置為0的方式,使得模型不那么復雜。但是這里使用的不是梯度下降法,而是坐標下降法,這是由于其約束項(正則化項)導致的,使得其在為連續不可導函數,故其只能使用坐標下降法(一種迭代算法,其通過當前坐標軸上搜索損失函數的最小值,無需計算函數梯度;而梯度下降法是通過損失函數的負梯度來確定下降方向;簡記:坐標以坐標找損失函數min,梯度以梯度找損失函數min)
坐標下降法的思想:假設一個函數為L(x,y),先固定x0,求使得L(y)最小的y1;然后固定y1,求使得L(x)最小的x1;依次反復迭代得到使得L(x,y)達到最小值的點。
由于得到的模型損失表達式其為連續不可導,故需要一個符號函數(作用是輔助計算)將其進行向量化,從而達到梯度下降尋找最優的解。
LASSO回歸代碼的編寫思路:
Ridge回歸: 與LASSO回歸類似的方法是Ridge回歸,該回歸是的損失函數公式是連續且可導的,所以其求解參數的過程比LASSO回歸容易(其可以使用梯度下降方法),但與LASSO回歸不同的是Ridge回歸參數只是接近0但不等于0,而LASSO回歸則直接為0
LASSO回歸加上的是L1正則化項,L1正則化項其連續不可導
Ridge回歸加上的是L2正則化項,L2正則化項其連續可導