什么是機器學習的降維?
譯文【51CTO.com快譯】機器學習算法由于能夠從具有許多特征的數(shù)據(jù)(例如具有數(shù)十行的表格和數(shù)百萬像素的圖像)中提取相關信息而聞名。得益于云計算技術(shù)的進步,組織可以輕松地運行龐大的機器學習模型,而無需關注其背后需要有多少計算能力。

但是,組織添加到模型中的每個新功能都會增加其復雜性,從而使機器學習算法難以解決這些問題。數(shù)據(jù)科學家為此使用降維技術(shù)進行簡化,而降維技術(shù)是從其機器學習模型中刪除過多或不相關功能的一組技術(shù)。
降維減少了機器學習的成本,有時還可以使用更簡單的模型解決復雜的問題。
維度的問題
機器學習模型將特征映射到結(jié)果。例如,假設一個組織要創(chuàng)建一個機器模型來預測一個月的降雨量。該組織擁有一個分別在不同月份從不同城市收集的不同信息的數(shù)據(jù)集。其數(shù)據(jù)點包括氣溫、濕度、城市人口、交通、城市舉行的音樂會次數(shù)、風速、風向、氣壓、降雨量以及購買的公交車票數(shù)量。并非所有這些信息都與降雨預測有關。
某些特征可能與目標變量無關。顯而易見的是,購買公交車票的數(shù)量和城市人口數(shù)量并不會影響降雨。而其特征可能與目標變量相關,但與目標變量并沒有因果關系。例如,戶外音樂會的次數(shù)可能與降雨量有關,但這并不是預測降雨的良好指標。在其他情況下(例如碳排放),其特征與目標變量之間可能存在聯(lián)系,但其影響可以忽略不計。
在這一示例中,可以很明顯區(qū)分出哪些特征更有價值,哪些特征是無用的。在其他用例中,過多的特征可能并不明顯,需要進一步的數(shù)據(jù)分析。
但是,為什么要去掉多余的特征呢?當特征太多時,還需要采用一個更復雜的模型。而更復雜的模型意味著組織需要更多的訓練數(shù)據(jù)和更多的計算能力,才能將模型訓練到可接受的水平。
機器學習并不理解因果關系。但即使沒有因果關系,機器學習模型也會嘗試將其數(shù)據(jù)集中包含的所有特征映射到目標變量。這樣做將會導致模型不精確和錯誤。另一方面,減少特征的數(shù)量可以使機器學習模型更簡單、更高效、數(shù)據(jù)需求更少。
由于太多的特征所造成的問題通常被稱為“維度詛咒”,它們不限于表格數(shù)據(jù)。例如一個對圖像進行分類的機器學習模型。如果數(shù)據(jù)集由100×100像素的圖像組成,則其問題空間具有10,000個特征,每個像素一個特征。但是,即使在圖像分類問題中,某些特征也是多余的,可以去除。
降維可以識別并刪除損害機器學習模型性能或?qū)蚀_性沒有幫助的特征?,F(xiàn)在有多種降維技術(shù),每種降維技術(shù)在某些情況下都非常有用。
特征的選擇
一種基本且非常有效的降維技術(shù)是識別并選擇與目標變量最相關的特征子集。這項技術(shù)稱為“特征選擇”。在處理表格數(shù)據(jù)時,特征選擇特別有效,在表格數(shù)據(jù)中,每一列代表一種特定的信息。
在選擇特征時,數(shù)據(jù)科學家需要做兩件事:一是保持與目標變量高度相關的特征,二是使數(shù)據(jù)集的方差貢獻變得最大。諸如Python的Scikit-learn之類的庫具有許多良好的功能,可以分析、可視化和選擇適合機器學習模型的功能。
例如,數(shù)據(jù)科學家可以使用散點圖和熱圖來可視化不同特征的協(xié)方差。如果兩個特征相互高度相關,那么它們將對目標變量產(chǎn)生相似的影響,而在機器學習模型中都包含這兩個特征是不必要的。因此,可以刪除其中一個特征,而不會對模型的性能造成負面影響。
熱圖說明了不同特征之間的協(xié)方差,它們是查找和淘汰多余特征的良好指南。
相同的工具可以幫助可視化要素與目標變量之間的相關性。這有助于刪除不影響目標的變量。例如,在可能發(fā)現(xiàn)數(shù)據(jù)集中的25個特征中,有7個特征對目標變量的影響占到95%。這樣可以刪除其他18個特征,將會讓機器學習模型的使用簡單得多,而不會對模型的準確性造成重大影響。
投影技術(shù)
有時,組織無法選擇刪除單個特征。但這并不意味著無法簡化機器學習模型。投影技術(shù)也稱為“特征提取”,通過將多個特征壓縮到低維的空間中來簡化模型。
用于表示投影技術(shù)的一個常見示例是“瑞士卷”(如下圖所示),它是一組圍繞三個維度在卷軸上旋轉(zhuǎn)的數(shù)據(jù)點。該數(shù)據(jù)集具有三個特征。每個點(目標變量)的值是根據(jù)其沿回旋路徑到“瑞士卷”中心的距離來測量的。在下面的圖片中,紅點更靠近卷軸,而黃點離卷軸更遠。
在當前狀態(tài)下,創(chuàng)建一個將瑞士卷滾動點的特征映射到其值的機器學習模型是一項艱巨的任務,并且需要采用具有許多參數(shù)的復雜模型。但是借助降維技術(shù),可以將這些點投影到一個較低維度的空間,該空間可以通過簡單的機器學習模型來學習。
數(shù)據(jù)科學家開發(fā)了各種投影技術(shù)。在上面的示例中使用了“局部線性嵌入”算法,該算法在保留分隔數(shù)據(jù)點值的關鍵元素的同時,減小了問題空間的維數(shù)。當使用局部線性嵌入(LLE)處理數(shù)據(jù)時,其結(jié)果類似于下圖,就像展開的“瑞士卷”。每種顏色的點聚集在一起。實際上,這個問題仍然可以簡化為單一的特征,并使用線性回歸(最簡單的機器學習算法)進行建模。
盡管這個示例是假設的,但如果將特征投影到較低維度的空間,則經(jīng)常會遇到可以簡化的問題。例如,流行的降維算法“主成分分析”(PCA)已經(jīng)發(fā)現(xiàn)許多有用的應用程序可以簡化機器學習問題。
在《采用Python進行機器學習》一書中,數(shù)據(jù)科學家Aurelien Geron展示了如何使用“主成分分析”(PCA)將MNIST數(shù)據(jù)集從784個特征(28×28像素)減少到150個特征,同時保留95%的方差。這種降維技術(shù)對于降低人工神經(jīng)網(wǎng)絡的訓練和運行成本有著巨大的影響。
關于投影技術(shù),還需要考慮一些注意事項。一旦采用了投影技術(shù),就必須首先將新數(shù)據(jù)點轉(zhuǎn)換到低維空間,然后再通過機器學習模型運行它們。然而,這一預處理步驟的成本無法與采用更輕模型的收益相比。第二個需要考慮的問題是,轉(zhuǎn)換后的數(shù)據(jù)點不能直接代表它們的原始特征,將它們轉(zhuǎn)換回原始空間可能很棘手,而且在某些情況下是不可能的。這可能使解釋模型的推論變得困難。
機器學習工具箱中的降維
特征過多將會導致機器學習的模型效率低下,但是刪除太多的特征將會影響準確性。降維技術(shù)是數(shù)據(jù)科學家用來構(gòu)建更好的機器學習模型的眾多工具之一。與所有工具一樣,在使用時必須小心謹慎。
原文標題:Machine learning: What is dimensionality reduction?,作者:Ben Dickson
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】