首頁>Club>
18
回覆列表
  • 1 # 北航秦曾昌

    支援向量機(SVM,Support Vector Machine)和邏輯迴歸(Logistic Regression)都是機器學習中常用到的分類演算法。

    兩者間的區別在於:

    1.SVM屬於非引數估計,本質上是解決一個二次規劃的問題;而邏輯迴歸屬於引數估計,是極大似然估計的問題。

    2.最佳化的目標函式不同,軟間隔(soft margin)的SVM的最佳化目標是:

    就等價於:

    其中第二項中用於衡量分類損失的函式是合頁損失(hinge loss)

    而帶正則化的邏輯迴歸中最佳化的目標函式為:

    其中第一項就是衡量分類誤差的交叉熵損失(cross-entropy loss)。

    下圖就是邏輯迴歸和SVM損失函式之間的差別。可以看到邏輯迴歸在左側(分類錯誤)更加發散,因此會對異常點(outliers)更敏感;此外,在右側(分類正確)損失沒有像Hinge loss那樣直接為零,而是漸進為0。這樣可能就會降低分類的精度。

    從最佳化目標中,可以看到在SVM中是最大化分類面間隔的同時最小化分類誤差;而邏輯迴歸正好相反,更看重最佳化分類誤差,即讓分類器儘可能分得準。

    因此SVM又被稱為結構風險最小化,也就是讓分類器的泛化能力盡可能的好;邏輯迴歸被稱為經驗風險最小化,就是最小化分類損失。

    3. SVM的訓練過程中實際上只用到了支援向量(Support Vector),因此依賴的樣本數更少;而邏輯迴歸則是使用了全域性的樣本。

    4. SVM不能直接輸出分類機率;邏輯迴歸的預測結果則是機率,再透過閾值判斷來確定分類。

    5. SVM不適合處理大量資料,因為透過二次規劃來最佳化,過多的資料會導致最佳化得很慢。而邏輯迴歸則對資料量沒有要求。

    二者之間的聯絡

    1. 本質上都屬於線性分類模型,透過加入核函式就可以解決非線性分類問題。

    2. 兩者的損失函式都是由正則化項+分類誤差來構成,調整其中的權重引數就可以對模型泛化能力和分類精度進行權衡,以得到最合適的模型引數。

  • 中秋節和大豐收的關聯?
  • 火車上可以帶一些藥物嗎?特別是口服液一類的?