機器學習的一些知識

2021-09-29 07:25:08 字數 3865 閱讀 5489

1..1維度災難

維度災難( curse of dimensionality )是指資料量過大和特徵數過多導致的一系列問題。 隨著資料的不斷積累,在實際應用問題中我們接觸到的資料集、資料記錄可能有幾萬、幾十 萬、 幾百萬乃至更多,特徵數量也可能達到幾百甚至幾千個。

我們自然希望獲取盡可能多的資料 即希望二維表的行和列都盡可能多,因為更多的資料和更豐富的特徵都能使模型學到更 多,從而提公升最終的任務效能,但是這些無疑也都會導致更複雜的模型、更長的訓練時間和更 高的計算成本。 一些模型在低維度下可以實現很好的效能,但在高維度的情況下可能會變得極為複雜甚至 效能下降。

例如,對於簡單的二分類問題,在一維中只需要用乙個點進行分割即可, 在二維中 則需要一條曲線,在三維中甚至需要乙個曲面,在更高的維度中則更是難以想象。隨著維度的 增加,模型訓練所需的等待時間和計算成本都有可能隨之呈指數級增加。 低維度下在個人電腦 上足以處理的模型,高維度下也許不得不部署到伺服器上進行訓練;低維度下訓練、模型只需要 十幾秒的時間, 高維度下也許需要幾小時、幾天甚至更久, 這在生產環境和實際應用中幾乎是 無法容忍的。 在實驗環境中,我們可以為了實現很小的效能提公升,使用更複雜的模型、付出更 多的時間和計算成本,但在實際應用中則更看重簡單的模型和實時的處理能力,因此需要在性 能和成本之間合理權衡。

1.2過擬合

過擬合是指在訓練、集上訓練的模型, 在訓練集上能夠取得很好的效能,在測試集上的表現 卻不盡人意。

評估乙個模型時,主要考慮的是模型的學習能力和泛化能力,前者是指模型是否 能夠很好地學習到資料的分布、特徵與標籤之間的關聯等內容,後者是指模型在訓練集上訓練 後, 能否很好地泛化到測試集等其他資料上。 一般來說,模型越複雜,學習能力越強, 但泛化 能力越弱,越容易過擬合; 模型越簡單,泛化能力越強,但學習能力越弱,更容易欠擬合。

在 效能相似的情況下, 一般更青睞簡單的模型。例如,探索體重和身高之間的關係時,簡單的線 性模型便足以揭示兩者之間的關聯並較好地完成回歸任務。如果以 x軸為身高、 y軸為體重, 將訓練、集中的資料點繪製成散點圖, 那麼使用一條直線便足以擬合。 相反的,如果使用一條極 度複雜扭曲但涵蓋了所有資料點的曲線進行擬合,則很容易導致過擬合並且在測試集上造成更 大的誤差。 

為了防止過擬合,可以在訓練的過程中採用正則項( regularization )等方法。正則項是僅供非商業用途或交流學習使用 ' . 

指在訓練過程中人為引入一些誤差,從而避免模型過度擬合訓練、資料中特徵和標籤之間的對應 關係,而把注意力更多地放在學習一些通用而泛化的關聯和規律上。

使用機器學習解決應用問題時,一般包含以下幾個流程:預處理、特徵工程、特徵選擇、 特徵降維、 模型訓練、模型調參、模型評估

1). 預處理

首先需要進行一些預處理操作,例如通過資料重塑將原始資料整理成需要的格式,以及通 過資料清洗處理缺失值,以提高資料質量。 對於資料中的缺失值,最簡單的方法是將包含大量 缺失值的行或列直接丟棄。 也可以進行補全,使用 0、-1 等標識值,或者對應欄位的統計 值, 如平均值、 中位數等。 還可以將缺失值轉換為新的特徵,例如, 統計每條記錄的缺失字段 數量並作為新的特徵,從而發揮缺失值的潛在作用。

2)特徵工程

特徵工程是在原始特徵的基礎上,融合和生成更多樣的新特徵,從而為後續訓練、模型帶來 更多潛在的效能提公升空間。 俗話說,特徵沒做好,引數調到老,我們希望獲取更多的資料和特 徵, 而優秀的特徵工程可以讓機器學習邁上乙個更高的起點,在整個專案中可能會佔據 60% 甚至更多的時間。

對於數值型特徵,可以兩兩之間進行加、減、乘、除以及其他更複雜的組 合, 從而生成極為豐富的新特徵,這些組合可能是完全沒有意義的,但也有可能會帶來意想不 到的新涵義。 也可以將全部資料記錄按某一數值型特徵進行排序,得到對應的排序特徵,即將 連續的數值取值轉換為離散的排序順序,而排序特徵相對於數值特徵更穩定、魯棒性更強。

對 於類別型特徵,可以通過 one-hot 編碼轉換為向量, 類似自然語言理解中的詞袋模型,從而 可以和數值型特徵一起進行後續模型的訓練。 

3) 特徵選擇

特徵工程生成了非常多的新特徵,然而並不是每乙個特徵都是有意義的, 完全無效的特徵 甚至會帶來不必要的噪音,因此需要經過特徵選擇,篩選出和標籤相關的有用特徵,去除和標 籤無關的無用特徵。

在這個過程中,如何選擇特徵、保留多少特徵、哇除多少特徵,都是需要 反覆探索和嘗試的問題 。 常用的做法是使用最大資訊係數( maximal information coefficient )、 pearson 相關係數等可以反映特徵和標籤之間相關性強弱的判別係數進行排 序, 僅保留相關性最強的一些特徵。 有些模型如 xgboost 在訓練的過程中也會對特徵進行重 要性評估和排序,因此也可以作為特徵選擇的依據

4.)特徵降維

特徵降維雖然也是將原始資料由高維變為低維,即減少特徵的數量,但特徵選擇是從已有 的特徵中直接選出有用的部分,而特徵降維則是根據已有的特徵融合出更少更有用的特徵, 因 此是乙個多對多的融合過程。常用的降維演算法有 pca (principal component analysis )和 tsne ( t-distributed stochastic neighbor embe.dding )等,也可以用於將高維特徵資料降低 至二維,便於在平面上進行資料分布的降維視覺化分析。 

5). 模型訓練、模型調參

就像讀書一樣,通過以上「由薄到厚』二再「由厚到薄」的過程,我們準備好了資訊量最 大、和標籤關聯最強、對後續訓練模型作用最大的特徵集合。

可以使用單模型進行訓練,可能 需要嘗試各種經典的機器學習模型並比較效能,每種模型都會涉及對應的一些設定引數,不同 的引數組合也會影響到模型最終的表現。 也可以使用多模型進行融合,使用之前介紹的整合學 習分別訓練多個模型,然後將它們的輸出結果加權融合。這一過程涉及的選擇非常之多, 使用 哪種模型?引數如何設定和調整?選擇哪些模型進行融合?多模型的結果以何種方式進行融 合?這些問題都會影響到最終的效能,需要經過大量的探索嘗試和經驗指導。

6) 模型評估

完成以上工作後需要評估模型在測試集上的輸出結果,主要針對有監督學習模型。

首先 討論二分類問題,在訓練集上訓練好模型之後,對測試集中的每條記錄進行二分類即分為正 例和反例,並和真實標籤進行比較。理想情況自然是將每一條測試記錄都劃分為正確的類別, 而實際情況中則可能會出現以下 4 類結果。 

一種簡單的評估指標便是統計分類正確的記錄數量佔總數量的比例,稱為正確率 (accuracy ),對於多分類模型的評估也可以採用類似的思路。在正確率的基礎上,還可以通 過準確值(precision )、召回值(recall )和 f 值( f-score )評估分類模型的效能,以上三 個引數也是通過 tp, fn、 tn 和 fp 計算出來的。 

當樣本比例失衡時,使用正確率無法恰當地評估模型的效能。例如,使用分類模型判斷是 否患有某種疾病時,由於實際上患病的人數遠比健康人數要少,即便模型對於任何記錄都判斷 為健康,依然能達到非常高的正確率。在這種二分類情況下,使用 roc 曲線和 auc 值能夠 更加準確地評估模型的效能。

在二分類的具體實現中,模型一般是給測試資料中的每一條記錄進行評分,當評分高於闊值肘, 判斷為正例,低於闊值肘,則判斷為負例。 auc 值主要關注 模型對正負例評分的相對高低,處於 0 至 1 之間。 當測試集中全部正例的評分比全部負例的 評分都要高肘, auc 值等於 1; 當全部正例的評分比全部負例的評分都要低時, auc 值等於 0;如果將全部記錄都判斷為正例或負例,即全部記錄的評分都相等,貝u auc 值等於 0.5。 

對於回歸任務,可以計算測試集中,每條記錄的回歸標籤值和真實標籤值之差,並進行統 計彙總。 常用的回歸模型評估指標包括平均絕對差值( m~an a,b::?olute error )、均方誤學 ( mean square error )、 均方根誤差( root mean square error丁等。

機器學習(一)的一些補充

二 機器學習相關 引例 在 機器學習 一書中主要是根據西瓜的一些資料,例如 色澤 根蒂 敲聲等來判斷西瓜是否是好瓜或者成熟度是多少。反映事件或物件在某方面的表現或性質的事項。在引例中,色澤 根蒂 敲聲等就是特徵 屬性 而青綠 蜷縮 清脆則稱為特徵值 屬性值 同樣的,如果將特徵作為座標軸,則會得到乙個...

關於機器學習的一些感悟

1 通過機器的學習 大規模 資料庫 複雜的感測器和巧妙的演算法,來完成分散的任務 是人工智慧的最新定義。2 mit 實驗室的機械人專家 rodney brooks 提出,要以 具身智慧型 embodied intelligence 的方法來製造機械人。從這種方法出發,製造類人機械人不再是發展更複雜的...

關於機器學習的一些概念

在連線主義學習中,把學習演算法分為三種型別,即非監督學習 unsupervised learning 監督學習 supervised leaning 和強化學習。強化學習 所謂強化學習就是智慧型系統從環境到行為對映的學習,以使獎勵訊號 強化訊號 函式值最大,強化學習不同於連線主義學習中的監督學習,主...