「維度」這個詞在機器學習裏面,應該是一個高頻詞,它常常出如今人們的視野中,好比說隨機森林是經過隨機抽取特徵來建樹,以免高維計算;再好比說,sklearn中導入特徵矩陣,必須是至少二維;特徵選擇的目的是經過降維來下降算法的計算成本……這些語言都很正常地被我用來使用,直到有一天,一個小夥伴問了我,」維度「究竟是什麼?我……算法
我認真思考以後,總結以下:數組
對於數組和Series來講,維度就是功能shape返回的結果,shape中返回了幾個數字,就是幾維。索引之外的數據,不分行列的叫一維(此時shape返回惟一的維度上的數據個數),有行列之分叫二維(shape返回行x列),也稱爲表。一張表最多二維,複數的表構成了更高的維度。當一個數組中存在2張3行4列的表時,shape返回的是(更高維,行,列)。當數組中存在2組2張3行4列的表時,數據就是4維,shape返回(2,2,3,4)。機器學習
數組中的每一張表,均可以是一個特徵矩陣或一個DataFrame,這些結構永遠只有一張表,因此必定有行列,其中行是樣本,列是特徵。針對每一張表,維度指的是樣本的數量或特徵的數量,通常無特別說明,指的都是特徵的數量。除了索引以外,一個特徵是一維,兩個特徵是二維,n個特徵是n維。學習
對圖像來講,維度就是圖像中特徵向量的數量。特徵向量能夠理解爲是座標軸,一個特徵向量定義一條直線,是一維,兩個相互垂直的特徵向量定義一個平面,即一個直角座標系,就是二維,三個相互垂直的特徵向量定義一個空間,即一個立體直角座標系,就是三維。三個以上的特徵向量相互垂直,定義人眼沒法看見,也沒法想象的高維空間。spa
降維算法中的」降維「,指的是下降特徵矩陣中特徵的數量。上週的課中咱們說過,降維的目的是爲了讓算法運算更快,效果更好,但其實還有另外一種需求:數據可視化。從上面的圖咱們其實能夠看得出,圖像和特徵矩陣的維度是能夠相互對應的,即一個特徵對應一個特徵向量,對應一條座標軸。因此,三維及如下的特徵矩陣,是能夠被可視化的,這能夠幫助咱們很快地理解數據的分佈,而三維以上特徵矩陣的則不能被可視化,數據的性質也就比較難理解。索引
好了,以上就是關於降維的總結啦,若是你有新的看法,歡迎一塊兒探討~ip