機器學習面試常見問題--線性迴歸、邏輯迴歸、交叉熵、多分類

1,線性迴歸與邏輯迴歸區別?

  • 在擬合數據上,線性迴歸是用一條線直接擬合訓練數據,而邏輯迴歸先利用sigmoid函數將數據映射爲相應分類的概率擬合概率;
  • 在學習策略上,線性迴歸利用最小二乘法使損失函數(均方誤差)最小化,而邏輯迴歸利用梯度下降法使損失函數(最大似然函數/交叉熵)最小化,即求所有訓練樣本的條件概率之積的最大值。

2,爲什麼用對數似然函數?
使用最大似然函數時,很多樣本的概率需要連乘,概率爲(0,1)間的數,連乘會越來越小趨近於0(即梯度消失問題),利用log變換可以將連乘變爲連加,很好的改善了梯度消失問題。

3,什麼是信息熵、交叉熵?

  • 信息熵代表的是隨機變量或整個系統的不確定性,熵越大,隨機變量或系統的不確定性就越大。另外信息熵代表根據真實分佈,需要消除整個系統不確定性付出的代價,信息熵越大需要付出的代價就越大說明原來越不穩定。
  • 交叉熵則是用來衡量在給定的真實分佈下,使用非真實分佈所指定的策略消除系統的不確定性所需要付出的代價。
    交叉熵的公式爲
    在這裏插入圖片描述
    其中p爲真實分佈下的概率,q爲非真實分佈下假定的概率,交叉熵越低則說明這個策略就越好,假定的分佈就越接近真實分佈,所以在邏輯迴歸中我們最小化交叉熵。在極端情況下當 p = q 時,交叉熵 = 信息熵,爲最優策略。

4,既然有了交叉熵,推一下多分類邏輯迴歸損失函數的公式吧
多分類問題的兩種解決方案:

  • 一對多分類器
    根據每個類別,都建立一個二分類器,帶有這個類別的樣本標記爲正樣本1,帶有其他類別的樣本標記爲負樣本0。假如我們有n個類別,最後我們就得到了n個針對不同標記的普通的logistic分類器。
    在預測樣本時,根據這n個分類器預測分別爲類別 i時的概率pi,最後我們取pi中最大的那個概率對應的類別作爲我們的待預測樣本類別。
  • 構建多分類的損失函數
    首先需要引入softmax,即把所有輸出映射爲相加爲1的相應類別可能的概率值。
    在這裏插入圖片描述
    那麼根據3中交叉熵的公式有多分類損失函數公式爲:
    在這裏插入圖片描述
    其中當yi真實值爲c時,sign(yi = c)爲1,否則爲0。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章