「維度」這個詞在機器學習裡面,應該是乙個高頻詞,它經常出現在人們的視野中,比如說隨機森林是通過隨機抽取特徵來建樹,以避免高維計算;再比如說,sklearn中匯入特徵矩陣,必須是至少二維;特徵選擇的目的是通過降維來降低演算法的計算成本……這些語言都很正常地被我用來使用,直到有一天,乙個小夥伴問了我,」維度「到底是什麼?我……
我認真思考之後,總結如下:
1. 對於陣列和series來說
對於陣列和series來說,維度就是功能shape返回的結果,shape中返回了幾個數字,就是幾維。索引以外的資料,不分行列的叫一維(此時shape返回唯一的維度上的資料個數),有行列之分叫二維(shape返回行x列),也稱為表。一張表最多二維,複數的表構成了更高的維度。當乙個陣列中存在2張3行4列的表時,shape返回的是(更高維,行,列)。當陣列中存在2組2張3行4列的表時,資料就是4維,shape返回(2,2,3,4)。
陣列中的每一張表,都可以是乙個特徵矩陣或乙個dataframe,這些結構永遠只有一張表,所以一定有行列,其中行是樣本,列是特徵。針對每一張表,維度指的是樣本的數量或特徵的數量,一般無特別說明,指的都是特徵的數量。除了索引之外,乙個特徵是一維,兩個特徵是二維,n個特徵是n維。
2. 對於影象來說
對影象來說,維度就是影象中特徵向量的數量。特徵向量可以理解為是座標軸,乙個特徵向量定義一條直線,是一維,兩個相互垂直的特徵向量定義乙個平面,即乙個直角座標系,就是二維,三個相互垂直的特徵向量定義乙個空間,即乙個立體直角座標系,就是三維。三個以上的特徵向量相互垂直,定義人眼無法看見,也無法想象的高維空間。
3. 降維演算法中的「降維」
降維演算法中的」降維「,指的是降低特徵矩陣中特徵的數量。上週的課中我們說過,降維的目的是為了讓演算法運算更快,效果更好,但其實還有另一種需求:資料視覺化。從上面的圖我們其實可以看得出,影象和特徵矩陣的維度是可以相互對應的,即乙個特徵對應乙個特徵向量,對應一條座標軸。所以,三維及以下的特徵矩陣,是可以被視覺化的,這可以幫助我們很快地理解資料的分布,而三維以上特徵矩陣的則不能被視覺化,資料的性質也就比較難理解。
機器學習中的維度災難(一)
作為乙個挖掘小白,好不容易有了資料,第一步就死在高維度上了,本以為直接上來 資料缺失值 資料分布等,但是上千維度腫麼看,在網上搜尋看到了這篇好文章,感謝原文作者的翻譯 一.引言 這裡我們將要討論所謂的 維數災難 同時結合過擬合現象來解釋它在分類器學習中的重要性。舉乙個分類應用的簡單例子,假設我們有一...
機器學習中的「維度」是什麼?
維度 這個詞在機器學習裡面,應該是乙個高頻詞,它經常出現在人們的視野中,比如說隨機森林是通過隨機抽取特徵來建樹,以避免高維計算 再比如說,sklearn中匯入特徵矩陣,必須是至少二維 特徵選擇的目的是通過降維來降低演算法的計算成本 這些語言都很正常地被我用來使用,直到有一天,乙個小夥伴問了我,維度 ...
SVM 當樣本數小於維度的時候
比如 人臉識別的時候,兩個人臉的樣本數分別為5,pca降維後維度為35。用svm訓練的模型進行分類時候,往往發現線性核要比高斯核正確率高。這是為什麼?1 一般來說,當選取高斯核函式時候,訓練得到的函式 就是那個分類超平面 可以以任意高的精度逼近給定的連續函式,這意味著用高斯核的效果至少不會比線性核差...