機器學習工程師 - Udacity 非監督學習 Part Two
四、特徵縮放
1.特徵縮放的優點:Andrew在他的機器學習課程裡強調,在進行學習之前要進行特徵縮放,目的是保證這些特徵都具有相近的尺度,這將幫助梯度下降演算法更快地收斂。
python裡常用的是preprocessing.StandardScaler(),公式為:(X-mean)/std,得到的結果是,對於每個屬性來說所有資料都聚集在0附近,方差為1。
缺點:如果特徵中有異常數值,那麼縮放的結果會很不理想。
2.sklearn中的最小值/最大值縮放器
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
y = scaler.fit_transform(x)
3.哪些機器學習演算法會受到特徵縮放的影響?
□ 決策樹
□ 使用 RBF 核函式的 SVM
□ 線性迴歸
□ K-均值聚類
答案是SVM和K-means。SVM和K-means需要根據不同維度的特徵計算距離,而決策樹和線性迴歸只需在不同維度的特徵間找到一個切割點。
五、PCA
1.PCA從舊座標系統僅通過轉化和輪換獲得新座標系統,它將座標系的中心移至資料的中心,將x軸移至方差最大的位置。
2.最大主成分數量是訓練點數量和特徵數量這兩者中的最小值。
PCA 迷你專案
六、隨機投影與ICA
1.隨機投影是一個很有效的降維方法,在計算上比主成分分析更有效率。它通常應用於當一個數據集裡有太多維度,PCA無法直接計算的情境下。PCA選擇方差最大的方向,隨機投影隨機選擇一個方向,它在某些情境下沒有太大意義。但它其實是有作用的,在更高維度的效果更好,且工作效能更高。
圖01
2.sklearn中的隨機投影
from sklearn import random_projection
rp = random_projection.SparseRandomProjection()
new_x = rp.fit_transform(x)
稀疏隨機投影比高斯隨機投影更快速,效果更好。
3.獨立成分分析(ICA)
PCA最大化方差,ICA假定這些特徵是獨力源的混合,並嘗試分離這些混合在資料集裡的獨力源。
盲源分離問題
圖02
參考文獻: "獨立成分分析:演算法與應用" (pdf)(https://s3.cn-north-1.amazonaws.com.cn/static-documents/nd101/MLND+documents/10.1.1.322.679.pdf)
圖03
ICA假設各成分是分別統計的,各成分須為非高斯分佈。
sklearn中的Fast ICA演算法:
1)居中、白化資料集x;
2)選擇一個初始的隨機權重矩陣W;
3)預估W,W是包含多個向量的矩陣,每個向量都是權值向量;
4)對W進行去相關操作。即防止W1和W2轉化為相同的值;
5)重複第三步,直到找到滿意的W值。
4. ICA 需要與我們試圖分離的原始訊號一樣多的觀測值。
5.sklearn中的ICA
圖03
獨立成分分析 Lab
6.ICA應用
ICA廣泛應用於醫學掃描器;有人嘗試在財務資料中運用ICA
當你在評估 PCA 中有包含多少元件時,基於你的實際經驗,已保留的元件可以捕獲的總變化量是多少比較好?80%