吳恩達公開課心得——無監督學習算法

無監督學習的前沿應用領域:市場細分,社交網絡分析,組織計算機集群等等。它與有監督學習最大的區別就是提供的訓練樣本都是沒有標籤的。

無監督學習的常見算法是K均值法。該算法描述如下:

吳恩達公開課心得——無監督學習算法

吳恩達公開課心得——無監督學習算法

算法是很簡單,但要用好卻不容易。

首先要考慮的問題是,應該設置多少個聚類?一個方法是每個聚類數量都運算一遍,然後找出代價函數的拐點,這又稱肘部法則。第二個方法就是根據實際問題的需要來確定聚類的數量。由於數據本省不帶標籤,分成多少個類都可以,只要最終可以有個合理的解釋。

第二個問題就是初始的聚類中心如何確定?其實這也沒有一個標準。這裡推薦的方法是從樣本中隨機選擇,為了避免局部最優,還需要多次隨機選擇,然後分別進行K均值算法,最後得到看哪種初始化效果最好。

吳恩達公開課心得——無監督學習算法

線性迴歸的代價函數是每個採樣點與迴歸直線的y軸方向的距離的平方和,而PCA的代價函數是每個採樣點到直線的垂直距離的平方和。這就導致運算上是完全不同的。

總之PCA的目標是找到一個低維平面,使得所有采樣點到該屏幕的投影之間的距離平方和最小。

PCA的過程

首先進行均值歸一化和特徵縮放。為啥要做這兩步就不多說了。

接下來就是正式的算法了。

吳恩達公開課心得——無監督學習算法

我們想要降到多少維,就從U矩陣中選擇多少個列向量即可。完成選擇後,這些列向量就可以組成一個n*k的矩陣,我們稱為Ureduce.這樣在原來的n維空間的採樣點轉化維k維空間的點的公式維z=Ureduce'*x; x_approx = Ureduce*z;

降低的維度k該如何選取?要求是99%的方差都保留下來了。當然也可以定義95%的方差保留或者90%方差保留。

吳恩達公開課心得——無監督學習算法

吳恩達公開課心得——無監督學習算法

最後說明一點,在線性迴歸或者邏輯迴歸中如果出現了過擬合的現象,你可能考慮使用PCA來減少特徵維數,但作者並不推薦這樣做。作者依然推薦lambda正則化來解決過擬合問題。按照作者的意思,PCA只適合用於數據壓縮並提高算法效率和可視化。


分享到:


相關文章: