在機器學習中,分類器做用是在標記好類別的訓練數據基礎上判斷一個新的觀察樣本所屬的類別。分類器依據學習的方式能夠分爲非監督學習和監督學習。非監督學習顧名思義指的是給予分類器學習的樣本但沒有相對應類別標籤,主要是尋找未標記數據中的隱藏結構。,監督學習經過標記的訓練數據推斷出分類函數,分類函數能夠用來將新樣本映射到對應的標籤。在監督學習方式中,每一個訓練樣本包括訓練樣本的特徵和相對應的標籤。監督學習的流程包括肯定訓練樣本的類型、收集訓練樣本集、肯定學習函數的輸入特徵表示、肯定學習函數的結構和對應的學習算法、完成整個訓練模塊設計、評估分類器的正確率。這一節的目的是分類器的選取。能夠依據下面四個要點來選擇合適的分類器。算法
1. 泛化能力和擬合之間的權衡網絡
過擬合評估的是分類器在訓練樣本上的性能。若是一個分類器在訓練樣本上的正確率很高,說明分類器可以很好地擬合訓練數據。可是一個很好的擬合訓練數據的分類器就存在着很大的偏置,因此在測試數據上不必定可以獲得好的效果。若是一個分類器在訓練數據上可以獲得很好效果可是在測試數據上效果降低嚴重,說明分類器過擬合了訓練數據。從另外一個方面分析,若分類器在測試數據上可以取得好效果,那麼說明分類器的泛化能力強。分類器的泛化和擬合是一個此消彼長的過程,泛化能力強的分類器擬合能力通常很弱,另外則反之。因此分類器須要在泛化能力和擬合能力間取得平衡。機器學習
2. 分類函數的複雜度和訓練數據的大小函數
訓練數據的大小對於分類器的選擇也是相當重要的,若是是一個簡單的分類問題,那麼擬合能力強泛化能力弱的分類器就能夠經過很小的一部分訓練數據來獲得。反之,若是是一個複雜的分類問題,那麼分類器學習就須要大量的訓練數據和泛化能力強的學習算法。一個好的分類器應該可以根據問題的複雜度和訓練數據的大小自動地調整擬合能力和泛化能力之間的平衡。性能
3. 輸入的特徵空間的維數學習
若是輸入特徵空間的向量維數很高的話,就會形成分類問題變得複雜,即便最後的分類函數僅僅就靠幾個特徵來決定的。這是由於太高的特徵維數會混淆學習算法而且致使分類器的泛化能力過強,而泛化能力過強會使得分類器變化太大,性能降低。所以,通常高維特徵向量輸入的分類器都須要調節參數使其泛化能力較弱而擬合能力強。另外在實驗中,也能夠經過從輸入數據中去除不相干的特徵或者下降特徵維數來提升分類器的性能。測試
4. 輸入的特徵向量之間的均一性和相互之間的關係spa
若是特徵向量包含多種類型的數據(如離散,連續),許多分類器如SVM,線性迴歸,邏輯迴歸就不適用。這些分類器要求輸入的特徵必須是數字並且要歸一化到類似的範圍內如 之間。而像K最近鄰算法和高斯核的SVM這些使用距離函數的分類器對於數據的均一性更加敏感。可是另外一種分類器決策樹卻可以處理這些不均一的數據。若是有多個輸入特徵向量,每一個特徵向量之間相互獨立,即當前特徵向量的分類器輸出僅僅和當前的特徵向量輸入有關,那麼最好選擇那些基於線性函數和距離函數的分類器如線性迴歸、SVM、樸素貝葉斯等。反之,若是特徵向量之間存在複雜的相互關係,那麼決策樹和神經網絡更加適合於這類問題。設計