假設函式:
$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 最大期望值演算...