單標簽二分類算法
Logistic算法
單標簽多分類算法
Softmax算法
One-Versus-One(ovo):一對一
One-Versus-All / One-Versus-the-Rest(ova/ovr): 一對多
ovo和ovr的區別
Error Correcting Output codes(糾錯碼機制):多對多
多標簽多分類算法
Problem Transformation Methods
Binary Relevance
Classifier Chains
Calibrated Label Ranking
Algorithm Adaptation
ML-kNN
ML-DT
多標簽多分類在Scikit-learn中的實現方式
單標簽二分類算法
單標簽二分類這種問題是我們最常見的算法問題,主要是指label標簽的取值只有兩種,并且算法中只有一個需要預測的label標簽。直白來講就是每個實例的可能類別只有兩種(A or B)。此時的分類算法其實是在構建一個分類線將數據劃分為兩個類別。常見的算法有:Logistic、SVM、KNN等。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Logistic算法
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
單標簽多分類算法
單標簽多分類問題其實是指待預測的label標簽只有一個,但是label標簽的取值可能有多種情況。直白來講就是每個實例的可能類別有K種。常見算法:Softmax、KNN等。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
Softmax算法
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
在實際的工作中,如果是一個多分類的問題,我們可以將這個待求解的問題轉換為二分類算法的延伸,即將多分類任務拆分為若干個二分類任務求解,具體的策略如下:
- One-Versus-One(ovo):一對一
- One-Versus-All / One-Versus-the-Rest(ova/ovr): 一對多
- Error Correcting Output codes(糾錯碼機制):多對多
One-Versus-One(ovo):一對一
將K個類別中的兩兩類別數據進行組合,然后使用組合后的數據訓練出來一個模型,從而產生K(K-1)/2個分類器,將這些分類器的結果進行融合,并將分類器的預測結果使用多數投票的方式輸出最終的預測結果值。
One-Versus-All / One-Versus-the-Rest(ova/ovr): 一對多
在一對多模型訓練中,不是兩兩類別的組合,而是將每一個類別作為正例,其它剩余的樣例作為反例分別來訓練K個模型。然后在預測的時候,如果在這K個模型中,只有一個模型輸出為正例,那么最終的預測結果就是屬于該分類器的這個類別。如果產生多個正例,那么則可以選擇根據分類器的置信度作為指標,來選擇置信度最大的分類器作為最終結果,常見置信度:精確度、召回率。
ovo和ovr的區別
Error Correcting Output codes(糾錯碼機制):多對多
將模型構建應用分為兩個階段:編碼階段和解碼階段。編碼階段中對K個類別中進行M次劃分,每次劃分將一部分數據分為正類,一部分數據分為反類,每次劃分都構建出來一個模型,模型的結果是在空間中對于每個類別都定義了一個點。解碼階段中使用訓練出來的模型對測試樣例進行預測,將預測樣本對應的點和類別之間的點求距離,選擇距離最近的類別作為最終的預測類別。
多標簽多分類算法
Multi-Label Machine Learning(MLL算法)是指預測模型中存在多個y值,具體分為兩類不同情況:
- 多個待預測的y值
- 在分類模型中,一個樣例可能存在多個不固定的類別
根據多標簽業務問題的復雜性,可以將問題分為兩大類:
- 待預測值之間存在相互的依賴關系
- 待預測值之間是不存在依賴關系的
對于這類問題的解決方案可以分為兩大類:
- 轉換策略(Problem Transformation Methods)
- 算法適應(Algorithm Adaptation)
Problem Transformation Methods
該方法又叫做策略轉換或者問題轉換,是一種將多標簽的分類問題轉換成為單標簽模型構造的問題,然后將模型合并的一種方法,主要有以下幾種方式:
- Binary Relevance(first-order)
- Classifier Chains(high-order)
- Calibrated Label Ranking(second-order)
Binary Relevance
Binary Relevance的核心思想是將多標簽分類問題進行分解,將其轉換為q個二元分類問題,其中每個二元分類器對應一個待預測的標簽。
Binary Relevance方式的優點如下:
- 實現方式簡單,容易理解
- 當y值之間不存在相關的依賴關系的時候,模型的效果不錯
Binary Relevance方式的缺點如下:
- 如果y之間存在相互的依賴關系,那么最終構建的模型的泛化能力比較弱
- 需要構建q個二分類器,q為待預測的y值數量,當q比較大的時候,需要構建的模型會比較多
Classifier Chains
Classifier Chains的核心思想是將多標簽分類問題進行分解,將其轉換成為一個二元分類器鏈的形式,其中后鏈的二元分類器的構建是在前面分類器預測結果的基礎上的。在模型構建的時候,首先將標簽順序進行shuffle打亂排序操作,然后按照從頭到尾分別構建每個標簽對應的模型。
Classifier Chains方法的優點如下:
- 實現方式相對比較簡單,容易理解
- 考慮標簽之間的依賴關系,最終模型的泛化能力相對于Binary Relevance方式構建的模型效果要好
缺點如下:
- 很難找到一個比較適合的標簽依賴關系
Calibrated Label Ranking
Calibrated Label Ranking的核心思想是將多標簽分類問題進行分解,將其轉換為標簽的排序問題,最終的標簽就是排序后最大的幾個標簽值。
Calibrated Label Ranking 方法的優點如下:
- 考慮了標簽兩兩組合的情況,最終的模型相對來講泛化能力比較好
Calibrated Label Ranking 方法的缺點如下:
- 只考慮兩兩標簽的組合,沒有考慮到標簽與標簽之間的所有依賴關系
Algorithm Adaptation
Algorithm Adaptation又叫做算法適應性策略,是一種將現有的單標簽的算法直接應用到多標簽上的一種方式,主要有以下幾種方式:
- ML-kNN
- ML-DT
ML-kNN
ML-kNN的思想:對于每一個實例來講,先獲取距離它最近的k個實例,然后使用這些實例的標簽集合,通過最大后驗概率(MAP)來判斷這個實例的預測標簽集合的值。
最大后驗概率(MAP):其實就是在最大似然估計(MLE)中加入了這個要估計量的先驗概率分布。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
ML-DT
ML-DT是使用決策樹處理多標簽內容,核心在于給予更細粒度的信息熵增益準則來構建這個決策樹模型。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
多標簽多分類在Scikit-learn中的實現方式
在Scikit-learn中使用OneVsRestClassifier對多標簽進行分類操作,內部其實是將多標簽問題轉換為多類別的區分問題。
?