日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一天1个机器学习知识点(五)

發布時間:2025/3/20 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一天1个机器学习知识点(五) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

陸陸續續整理機器學習的知識點,資料大多數來自網上,不做盈利目的,如果侵權請告知即刪!如果文章中有錯誤的地方還請各位同學指正,一起學習,一起進步!
每天都在更新中,記得收藏,每天進步一點點!!

一天1個機器學習知識點(一)
一天1個機器學習知識點(二)
一天1個機器學習知識點(三)
一天1個機器學習知識點(四)這部分主要更新集成學習的內容(RF,adaboost,GBDT,XGBoost等)

穿越---->深度學習知識點!!

目錄

  • 1.特征工程
    • 1.1.什么是特征工程?
    • 1.2.為什么要對數值類型的特征做歸一化?方法有哪些?
    • 1.3.特征編碼
      • 1.3.1方法:
      • 1.3.2.編碼該如何區分和使用
    • 1.4.什么是組合特征?
    • 1.5.如何處理高維組合特征?
    • 1.6.怎么有效地找到組合特征?
    • 1.7.特征工程分哪幾步?
    • 1.8.原始數據通常存在哪些問題如何解決?(數據預處理的問題)
    • 1.9.特征選擇和特征提取區別
    • 1.10.特征選擇
    • 1.11.特征提取
  • 2.PCA
    • 2.1.PCA的原理
    • 2.2.PCA的步驟
    • 2.3.PCA的優缺點
    • 2.4.一些大廠真題
  • 3.線性判別分析LDA
    • 3.1原理
    • 3.2步驟
    • 3.3LDA和PCA區別
  • 4.LPP

1.特征工程

1.1.什么是特征工程?

答:本質上來說,呈現給算法的數據應該能擁有基本數據的相關結構或屬性。當你做特征工程時,其實是將數據屬性轉換為數據特征的過程,屬性代表了數據的所有維度,在數據建模時,如果對原始數據的所有屬性進行學習,并不能很好的找到數據的潛在趨勢,而通過特征工程對你的數據進行預處理的話,你的算法模型能夠減少受到噪聲的干擾,這樣能夠更好的找出趨勢。事實上,好的特征甚至能夠幫你實現使用簡單的模型達到很好的效果。

1.2.為什么要對數值類型的特征做歸一化?方法有哪些?

答:為了消除數據特征之間量綱影響,需要對特征進行歸一化處理,使得不同指標之間具有可比性。主要有以下兩種方法:
1)線性函數歸一化(Min-Max Scaling):將數據映射到[0,1]的范圍,實現數據的等比縮放。

2)零均值歸一化(Z-score normalization):將原始數據映射到均值為0,標準差為1的分布上。

**注:**通常通過梯度下降法求解的模型需要歸一化,包括線性回歸,邏輯回歸,SVM,神經網絡等。單對于決策樹模型并不適用,因為信息增益跟基尼指數跟特征是否經過歸一化是無關的。

1.3.特征編碼

參考

除了決策樹等少量模型能直接處理字符串形式的輸入,對于LR,SVM等模型來說,類別特征必須經過處理轉化成數值特征才能正常工作。

1.3.1方法:

1)獨熱編碼
優點:解決了分類器不好處理分類數據的問題,在一定程度上也起到了擴充特征的作用。它的值只有0和1,不同的類型存儲在垂直的空間
缺點:當類別的數量很多時,特征空間會變得非常大,容易造成維度災難

2)序號編碼
優點:解決了分類編碼的問題,可以自由定義量化數字。但其實也是缺點,因為數值本身沒有任何含義,只是排序。如大中小編碼為123,也可以編碼為321,即數值沒有意義
缺點:可解釋性比較差。比如有[dog,cat,dog,mouse,cat],我們把其轉換為[1,2,1,3,2],這里就產生了一個奇怪的現象:dog和mouse的平均值是cat。因此,Label encoding編碼其實并沒有很寬的應用場景

3)二進制編碼

1.3.2.編碼該如何區分和使用

1.特征數據類型:

  • 對于定類類型的數據,建議使用one-hot encoding。定類類型就是純分類,不排序,沒有邏輯關系。比如性別分男和女,男女不存在任何邏輯關系,我們不能說男就比女好,或者相反。再者,中國各省市分類也可以用獨熱編碼,同樣各省不存在邏輯關系,這時候使用one-hot encoding會合適些。但注意,一般會舍去一個變量,比如男的對立面肯定是女,那么女就是重復信息,所以保留其中一個變量即可。

  • 對于定序類型的數據,建議使用label encoding。定序類型也是分類,但有排序邏輯關系,等級上高于定類。比如,學歷分小學,初中,高中,本科,研究生,各個類別之間存在一定的邏輯,顯然研究生學歷是最高的,小學最低。這時候使用Label encoding會顯得更合適,因為自定義的數字順序可以不破壞原有邏輯,并與這個邏輯相對應。

2.所使用的模型:

  • 對數值大小敏感的模型必須使用one-hot encoding。典型的例子就是LR和SVM。二者的損失函數對數值大小是敏感的,并且變量間的數值大小是有比較意義的。而Label encoding的數字編碼沒有數值大小的含義,只是一種排序,因此對于這些模型都使用one-hot encoding。

  • 對數值大小不敏感的模型(如樹模型)不建議使用one-hot encoding。一般這類模型為樹模型。如果分類類別特別多,那么one-hot encoding會分裂出很多特征變量。這時候,如果我們限制了樹模型的深度而不能向下分裂的話,一些特征變量可能就因為模型無法繼續分裂而被舍棄損失掉了。因此,此種情況下可以考慮使用Label encoding。

  • 1.4.什么是組合特征?

    為了提高復雜關系的擬合能力,在特征工程中經常會把一階離散特征兩兩組合,構成高級特征。
    例如,特征a有m個取值,特別b 有n個取值,將二者組合就有m*n個組成情況。這時需要學習的參數個數就是 m×n 個

    1.5.如何處理高維組合特征?

    面試問題:當每個特征都有千萬級別,就無法學習 m×n 規模的參數了
    解決方案:可以將每個特征分別用 k 維的低維向量表示,需要學習的參數變為 m×k+n×k 個,等價于矩陣分解

    1.6.怎么有效地找到組合特征?

    參考
    可以用基于決策樹的方法,首先根據樣本的數據和特征構造出一顆決策樹。然后從根節點都葉節點的每一條路徑,都可以當作一種組合方式。

    1.7.特征工程分哪幾步?

    答:①數據預處理;②特征選擇;③特征提取。

    1.8.原始數據通常存在哪些問題如何解決?(數據預處理的問題)

    答:①缺失值:刪除缺失的樣本,或者補值,根據統計學原理,連續數據取平均,離散數據取眾數;
    異常值
    ? 怎么檢測異常值(參考):

  • ?基于高斯分布的異常值檢測:3σ原則也是屬于高斯分布判斷方法的一種,在這里異常值被定義為,其值與平均值的偏差超過三倍標準差的值,在正態分布的假設下,區域u+3σ包含了99.7%的數據,如果某個值距離分布的均值超過了3σ,那么這個值就可以被簡單的標記為一個異常點:P(|x?μ|>3σ)≤0.003

  • ? 四分位數

  • ? 更多的還有基于各類統計量來檢測多元離群點,例如x^2檢驗、t檢驗等。

  • ? 基于主成分分析的矩陣分解方法,這種方法經過主成分分析分解,再進行重構,通過異常值在主成分分量上的偏差更大來判斷是否異常。

  • ? 基于距離,利用聚類思想,對數據進行聚類,排除距離中心最遠的N個點,一般的方法有,kmeans、knn、DBSCAN等。

  • 怎么處理異常值:

  • ? 刪除含有異常值的記錄,將異常值視為缺失值,交給缺失值處理方法來處理;
  • ? 用平均值或者眾數來修正。
  • ? ③數據重復:去重,保證樣本唯一性;
    ? ④信息冗余:成績,很多但是只關心及格沒,直接二值化,大于60分及格為1不及格為0;
    ? ⑤定性特征不能直接使用,啞編碼或者one-hot編碼,one-hot編碼:有多少取值就多少狀態,小學中學大學碩士博士10000,但是啞編碼就是1000,讓0000表示博士。
    ? ⑥數據不平衡的問題

    1.9.特征選擇和特征提取區別

    都是降維的方法。特征選擇:不改變變量的含義,僅僅只是做出篩選,留下對目標影響較大的變量;特征提取:通過映射(變換)的方法,將高維的特征向量變換為低維特征向量

    1.10.特征選擇

    通常來說,從兩個方面考慮來選擇特征:

    • 特征是否發散:如果一個特征不發散,例如方差接近于0,也就是說樣本在這個特征上基本上沒有差異,這個特征對于樣本的區分并沒有什么用。
    • 特征與目標的相關性:這點比較顯見,與目標相關性高的特征,應當優選選擇。除方差法外,本文介紹的其他方法均從相關性考慮。

    根據特征選擇的形式又可以將特征選擇方法分為3種:

    • Filter:過濾法,按照發散性或者相關性對各個特征進行評分,設定閾值或者待選擇閾值的個數,選擇特征。如方差選擇法,先要計算各個特征的方差,然后根據閾值,選擇方差大于閾值的特征。
    • Wrapper:包裝法,根據目標函數,每次選擇若干特征,或者排除若干特征。遞歸消除特征法使用一個基模型來進行多輪訓練,每輪訓練后,消除若干權值系數的特征,再基于新的特征集進行下一輪訓練。
    • Embedded:嵌入法,將機器學習模型的訓練過程與特征選擇相結合,在訓練模型的過程中自動進行了不同特征的重要性排序,比如樹模型中GBDT作為基模型進行特征選擇。

    1.11.特征提取

    在特征向量所處的高維空間中,包含很多的冗余和噪聲,希望通過降維的方法來尋找數據的內部特征,從而提升特征的表達能力,降低訓練復雜度。常見的降維方法有主成分分析法(PCA)和線性判別分析(LDA),線性判別分析本身也是一個分類模型。PCA和LDA有很多的相似點,其本質是要將原始的樣本映射到維度更低的樣本空間中,但是PCA和LDA的映射目標不一樣:PCA是為了讓映射后的樣本具有最大的發散性;而LDA是為了讓映射后的樣本有最好的分類性能。所以說PCA是一種無監督的降維方法,而LDA是一種有監督的降維方法

    2.PCA

    如果數據之中的某些維度之間存在較強的線性相關關系,那么樣本在這兩個維度上提供的信息就會有一定的重復,所以我們希望數據各個維度之間是不相關的 (也就是正交的)。此外,出于降低處理數據的計算量或去除噪聲等目的,我們也希望能夠將數據集中一些不那么重要 (方差小) 的維度剔除掉。

    2.1.PCA的原理

    PCA的作用是找出特征里最主要的方面,用特征里最主要的方面來代替原始特征。PCA本質上是將方差最大的方向作為主要特征,并且在不同正交方向上沒有相關性。而方差最大的那個維度是主成分。
    x投影后的方差就是樣本協方差矩陣的特征值。所以要找的最大方差就是協方差矩陣的最大特征值,最佳的投影方向就是最大特征值對應的特征向量。PCA屬于一種線性,非監督,全局的降維方法。

    2.2.PCA的步驟

  • 設有m條n維數據;
  • 將原始數據按列組成n行m列矩陣X;
  • 將X的每一行(代表一個屬性字段)進行中心化,零均值化,為了使投影后的均值為0;
  • 求出樣本協方差矩陣C=1/m·X·X^T;
  • 求出樣本協方差矩陣的特征值及對應的的特征向量,最大方差就是最大特征值,最佳投影方向就是最大特征值對應的特征向量;
  • 將特征向量按照對應特征值大小從上到下按行排列成矩陣,取前K行組成矩陣P;
  • Y=PY即為降維到K維后的數據。
  • 2.3.PCA的優缺點

    PCA算法的主要優點有:

    • 僅僅需要以方差衡量信息量,不受數據集以外的因素影響。

    • 各主成分之間正交,可消除原始數據成分間的相互影響的因素。

    • 計算方法簡單,主要運算是特征值分解,易于實現。

    PCA算法的主要缺點有:

    • 主成分各個特征維度的含義具有一定的模糊性,不如原始樣本特征的解釋性強。
    • 方差小的非主成分也可能含有對樣本差異的重要信息,因降維丟棄可能對后續數據處理有影響。

    2.4.一些大廠真題

    3.線性判別分析LDA

    LDA的思想可以用一句話來概括,就是“投影后類內方差最小,類間方差最大”。我們要將數據在低維度上進行投影,投影后希望每一種類別數據的投影點盡可能地接近,而不同類別的數據的類別中心之間的距離盡可能地大。LDA是一種監督學習的降維技術,也就是說它的數據集的每個樣本是有類別輸出的。這點和PCA不同,PCA是不考慮樣本類別輸出的無監督降維技術。

    3.1原理

    百面機器學習

    3.2步驟

    百面機器學習P88

    3.3LDA和PCA區別

    百面機器學習P88

    4.LPP

    最近看到一個降維的方法LPP,等有時間在學習整理一下

    總結

    以上是生活随笔為你收集整理的一天1个机器学习知识点(五)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。