按部就班的吳恩達機器學習網課用於討論(11)

核函數2

知道了核函數的表示形式(使用例如高斯核函數作爲工具,計算樣本x和地標l之間的距離作爲特徵f,其中f爲核函數),之後就是討論核函數地標的選擇。

選擇形式爲:將訓練集中的樣本個數m選擇,作爲地標,獲得m個特徵f。並增加一個偏置f0=1。得到m+1維的特徵f。

 

 

對於支持向量機的thetaT*x,則變爲thetaT*f。其大於0,則表示爲預測爲正樣本。對應的目標函數表示中的cost函數參數也進行變化爲如下形式。

另外如下的式子中,正則化部分的tehta^2,等於thetaT*theta,變爲thetaT*M*theta,其中M矩陣內容與核函數有關,目的爲:簡化計算(怎麼簡化了)。

 

 

另外,參數對於支持向量機模型的效果影響如下,其中C是目標函數中的參數,越大,表示更注重前者的代價部分,

在使得目標函數儘可能小的時候,則要求前者cost函數值更小,而要求後者正則化部分的theta對特徵的影響更大,theta的作用更強,從而更容易過擬合。

sigma是高斯核函數的分母部分,值越大,其核函數圖樣就越寬大,相對於同樣的theta和x(x爲f核函數中的參數),只變化了cost函數中的f參數,使得其參數值f,更大。

而cost中的參數thetaT*f 更大,使得cost函數值更小,目標函數中前者更小,在要求目標函數儘可能小的情況下,更傾向於正則化項的大小對目表函數的影響,則要求降低theta的影響,更容易欠擬合。

其它類似推論吧

 

 

使用支持向量機

支持向量機,使用過程中細節非常多吧,非常複雜,一般使用函數庫調用的方式。核函數的種類也很多,如多項式核,字符串核,卡方核等構建的距離特徵,並滿足Mercer定理。

另外的使用過程中,對數據進行縮放處理,使得數據中的每一個特徵對機器學習模型的輸出影響都是一定量的,不會過大而忽視了其他特徵對於輸出的影響。

 

多分類任務中,採用多個向量機,如k分類,採用k個向量機。(二分類採用1個向量機,三分類採用3個向量機,k分類k個向量機)。

其實採用k-1個向量機也可以吧(如果是非此即彼的關係),但是不夠正式。採用k個向量機的分類方式,應該是1與其他的多個二分類問題吧。

 

 

在支持向量機和邏輯迴歸模型對於一個機器學習問題,的選擇方面:

認爲說訓練數據集中,特徵n相對於個數m來說,過大或者過小,都是使用邏輯迴歸模型(線性核函數與邏輯迴歸有不少類似的地方)。

特徵與訓練個數相當,則使用帶高斯核函數的SVM。不知道,邏輯迴歸和線性核函數的表現類似,但是實際表現也有區別,或者高斯核函數。

另外,SVM更容易獲得臨近或者就是的,全局最優。

 

 

無監督學習:簡介、K均值算法

無監督學習,沒有標籤,只是將數據集分爲k個簇的方法。

至於分爲幾個,可以根據需要、手動選擇。K-means算法如下:

隨機選擇要非k類的k個地標點,作爲初始點。

在數據集上,以距離作爲度量方式,使用該k個地標點,將數據集,進行分類。對分完類的數據集,每類中的數據求均值,將均值賦值給該類中對應的地標點,完成一次地標點移動。

重複多次,獲得數據集中每個類中的中心點,作爲了地標點。

 

 

優化目標

優化目標(代價函數)爲J,意思是,在m個數據進行k分類的過程中,K-means算法下,要求地標點和該地標點對應的數據點的,距離和,最小。

認爲在K-means算法中的兩個循環步驟依次進行下,J一定要越來越小。

在選擇分類的過程中,使得J函數中的x所屬的分類變化(x對應的c變化),使得J減小。在計算均值過程中,使得J函數中的mu變化,導致J減小。

 

 

隨機初始化

K-means的初始化點,對其效果影響很大。初始化的地標點,一般選擇已經存在的數據點。爲了降低初始化帶來的局部最優等不良的影響,

多次初始化,多次計算得出的J,選擇一個最小的誤差J和該對應的模型,作爲最終的結果。下面是相同的思路,不同的表達方式(僞代碼):

 

 

選擇聚類數

選擇聚類數,一種方式是根據需要手動選擇,如在服裝大小製造,消費者羣體,成本與收益的問題上,將消費者分爲幾個類別的服裝大小,不僅是和目標函數J有關,

根本上,是和商家收益相關(每個衣服量身定做,當然是好了J,但是成本上升)。所以在定分類數上,需要另外斟酌。

也可以根據目標函數J,來選擇k的大小作爲一個參考,如使用肘部的點,作爲參考。

如下是J隨着分類數量的增長而下降的趨勢。肘部方法(Elbow method)認爲,在分類爲3處取得最好的結果。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章