機器學習各演算法

2022-08-16 19:45:16 字數 1412 閱讀 2806

假設函式:

$y = \theta^x + b$

損失函式:

$loss = \frac[(\theta^x + b) - y_]^$

每個**值和真實值之間的均方誤差,loss越小則表示模型越好

這個損失函式是乙個凸函式,所以有全域性最優解,即函式對$\theta$的偏導數等於0。求解時候對x特徵加一列全是1,然後把b放到$\theta$向量中去

公式就可以改造為:$loss = \frac[(\theta^x) - y_]^$

數值解:

$\mathbf = (\mathbfx})^\mathbfy} $

這個求解過程可以參考

梯度下降法求解:

損失函式對$\theta$的偏導為:

$\fracj(\mathbf\theta) = \mathbf^t(\mathbf - \mathbf)$

所以每次更新引數如下:

$\mathbf\theta= \mathbf\theta - \alpha\mathbf^t(\mathbf - \mathbf)$

假設函式:

$g(z) = \frac}$

其中,$z =\theta^x + b$

id3演算法只能處理離散值且無法做回歸

實際上,cart演算法的主體結構和id3演算法基本是相同的,只是在以下幾點有所改變:

首先根據每個維度資料的方差,選擇方差最大的那個維度,取其中位數作為節點分割,然後一層一層分割得到右邊那二叉樹模型。

然後就是得到測試點後進行搜尋如下圖

查詢(2,4.5)點的時候先按樹形結構落到最後(4,7)的葉子節點,然後一步步向上回退

幾何間隔,點到直線的距離:$\frac$

因為分類正確所以有:$y_i(w_i^tx_i+b)\geq 0$

然後直線方程可以等比例縮放的,所以可以令支撐向量上的點滿足$|w^tx+b|=1$,那麼對應正確分類約束條件就變成了$y_i(w_i^tx_i+b)\geq 1$

此時優化目標就變成:$\frac$,使這個支撐向量上的點的margin要最大

對鬆弛變數的理解,第二種情況對應就是實體紅線到右邊虛線中的三角(分類正確但是不作為支援向量看待),第三種情況對應實體紅線到左邊虛線中的三角(分類錯誤)。每個資料點都有自己的鬆弛變數。

sklearn裡svm的引數c就是最優化目標時鬆弛變數前面的c,c越大懲罰越大導致鬆弛變數就要越小,程式就要更朝著分類正確去前進(更容易擬合)

機器學習演算法

from 這裡,主要說一下,機器學習演算法的思想和應用!為了以後的應用總結一下!參考王斌譯的機器學習實戰一書。1 svd 奇異值分解 svd可以簡化資料,去除雜訊!對於簡化資料,使用svd,可以用小得多的資料集表示原有資料集。這樣實際上是去除了雜訊和冗餘資訊。比如有乙個32 32的影象,通過svd的...

機器學習演算法

1.c4.5演算法。c4.5 演算法與id3 演算法一樣,都是數學分類演算法,c4.5 演算法是id3 演算法的乙個改進。id3演算法採用資訊增益進行決策判斷,而 c4.5 採用的是增益率。2.cart演算法。cart 演算法的全稱是分類回歸樹演算法,他是乙個二元分類,採用的是類似於熵的基尼指數作為...

機器學習演算法

最近在學習機器學習。看的是 機器學習實戰 先簡單記錄一下,其實看似高階的理論或演算法,有些在我們平時生活中也有應用,比如機器學習中常用的k 近鄰演算法 knn 最大期望值演算法等 在機器學習中常用的演算法包括 決策樹,k 均值 k mean 支援向量機 svn k 近鄰演算法 knn 最大期望值演算...