機器學習模型 如何口述機器學習模型原理

2021-10-12 08:20:52 字數 2681 閱讀 3569

重磅乾貨,第一時間送達

有時碰到跟別人聊起模型的熟悉時,不免要闡述下模型的原理,但一般口頭交流都比較難,因為腦海裡面都是一些公式,似乎從功利角度有必要把模型原理用文字表達一遍,所以自己整理了下機器學習的部分,有遺漏或者不對的地方也請多多指教~

線性回歸

首先我們會定乙個函式假定y和x的關係,如y=wx+b。但實際y的值肯定會和實際有偏差,所以就有殘差項。如殘差項e的求和=y-(wx+b)的求和。然後把公式化開,分別對w和b求偏導數,就可以得出w和b的值。

如何是對於矩陣,原理是一樣的,不會設計矩陣的轉置和矩陣的求導,最後引數為delta=x的轉置乘以x,這兩個乘起來再求他們的逆,最後再乘x的轉置和y

邏輯回歸

首先引進sigmoid函式,形如1+e的負x次方分之一(這個大家都知道這個公式是什麼),我們這裡稱sigmoid為h(x)然後對於每個樣本,對於給定x和引數delta後,其對於y的後驗概率為h(x)的y次方乘以(1-h(x))的1-y次方,這個分別對應y是0和1的情況。所以擴充套件到所有樣本的話就把各樣本的概率連乘起來,這裡就像極大似然求解那樣,連乘後再作對數處理,而一作對數處理,連乘就變成log相加求和了。對這個新得到的函式用梯度下降就能夠不斷更新引數delta了。

k-mean

1、從d中隨機取k個元素,作為k個簇的各自的中心。

2、分別計算剩下的元素到k個簇中心的距離,將這些元素分別劃歸到距離最短的簇。

3、根據聚類結果,重新計算k個簇各自的中心,計算方法是取簇中所有元素各自維度的算術平均數。

4、將d中全部元素按照新的中心重新聚類。

5、重複第4步,直到聚類結果不再變化。

決策樹首先從根節點開始,計算所有變數的資訊增益,主要有id3和c4.5這兩個演算法。然後選擇資訊增益最大的作為結點的特徵,確定了具體節點變數後,就要計算在變數裡面具體哪個位置做切割,一般是在不同的切割點下的組別計算熵或者資訊增益進行比較,選擇最佳切割點。對子節點遞迴地呼叫以上方法,構建決策樹;直到所有特徵的資訊增益均很小或者沒有特徵可選時為止。

隨機森林

可以抽象理解為很多顆決策樹放在一起,然後各自產生的結果投票產生最終的結果,就是bagging的框架。但在細節上,就是每顆樹通過有放回的方法抽取一定的資料量和一定的變數屬性再去做**。

gbdt

首先先說gb這邊,就是gradient

boost,在梯度上進行boost。每一次的計算是為了減少上一次的殘差(residual),而為了消除殘差,我們可以在 殘差減少的梯度(gradient)方向 上建立乙個新的模型。所以說,在gradient boost中,每個新的模型的遍歷是為了使得之前模型的殘差往梯度方向減少。與傳統boost對正確、錯誤的樣本進行加權有著很大的區別。從公式上,就是下乙個函式等於上乙個函式+擬合了殘差的函式(實際上這個殘差函式會乘以乙個乘數,是讓目標函式最小化,這個乘數怎麼來不作展開)。

而dt就是cart樹,結合gb後做法上,比如說是3分類問題,每輪訓練實際上就是訓練3顆樹,如(0,1,0)就是對應(x,0)(x,1) (x,0),作為樣本得到3個**值,進而可以得到殘差(殘差為=0-f(x)),然後下一輪迭代就可以輸入(x,f(x))。在每次迭代中計算目標函式(由樹權重函式和結構函式組成),選擇最優解。

在gbdt的基礎上,xgboost不僅有cart分類器,還有線性分類器。

xgboost的目標函式優化用到二階泰勒展開,還有一階和二階導數,而且代價函式裡面加了正則項。列抽樣(column subsampling)。xgboost借鑑了隨機森林的做法,支援列抽樣,不僅能降低過擬合,還能減少計算,這也是xgboost異於傳統gbdt的乙個特性。

想得到乙個超平面如wx+b=0,如果對於y=正負1的話,margin距離為w的絕對值分之2,所以我們要最大化它就是最小化w的絕對值,一般寫為二分之一w平方。其約束條件為y(wx+b)-1>=0。

這個其實是乙個規劃問題,svm裡面引入拉格朗日乘子式進行轉化。式子就可以變成二分之一w平方減去本來拉格朗日乘子乘以約束條件(y(wx+b)-1),就可以轉化為最大最小對偶問題(maxmin)。對轉化後的公式分別對w和b求偏導數。解出來的東西再代回去原式就變成乙個單求拉格朗日乘子最大化的問題,裡面含alpha-i,alpha-j,yi,yj,xi,xj。來到這步,線性可分的話可以直接求解,不可分的可以引入核函式,將xi,xj對映到高緯。至於怎麼求解,svm裡面用了smo演算法,做法上就是通過選擇兩個alpha,其他的固定起來,因為之前朗格朗日式中求出乙個約束條件,是alpha*y的求和=0。所以固定n-2的乘子,不斷試剩下2個的可能性,直至目標函式收斂。

推薦閱讀

統計學最全思維導圖,值得收藏!

現代統計學的發展史

機器學習演算法之嶺回歸、lasso回歸和elasticnet回歸

整理乙份詳細的資料預處理方法

資源|《python資料分析與資料化運營》pdf高畫質+資料+**

機器學習演算法優缺點對比及選擇(彙總篇)

python sklearn模型選擇

從概率角度,5局3勝和3局2勝,哪個勝算更大?

資料預處理|關於標準化和歸一化的一切

14 幅思維導圖 | python 程式設計核心知識體系

2 如何選擇模型? 機器學習

由模型可以得到 值,而 值和真實值之間是存在差異的。接下來,我們需要回答以下問題 當可用的模型有多個時,應該選哪乙個?這稱之為模型選擇 model selection 問題。答案是,當然選擇 最優秀的那個模型。那問題來了,模型的優秀程度具體指什麼?優秀程度指的是模型對資料集的 準確程度,亦稱為 泛化...

機器學習模型 SVM

liblinear libsvm 台灣的 線性可分的svm max s.t.yi wxi b w i 1,2 n代入 w 於是得到 max w s.t.yi w xi b i 1,2 n 其中 是幾何距離,是函式距離。的取值對上述優化問題沒有影響,因為如果 按比例增加,那麼目標函式和約束中的w 和 ...

機器學習 模型推導

支援向量機通俗導論 理解svm的三層境界 最大熵模型中的數學推導 em演算法的兩個理解角度 資料探勘領域十大經典演算法之 em演算法 如何通俗地講解 viterbi 演算法?通俗理解lda主題模型 從拉普拉斯矩陣說到譜聚類 從貝葉斯方法談到貝葉斯網路 cnn筆記 通俗理解卷積神經網路 程式設計師面試...