1. 邏輯迴歸模型爲什麼可以進行二分類?
- 邏輯迴歸的表達式爲:
該函數的作用是將輸入的數據映射到0至1之間,恰恰處於概率取值區間,只需要設置一個閾值,輸出y就可以用於解決二分類問題。
2. 採用代碼實現邏輯迴歸模型的訓練,並嘗試調整數據生成中的mean_value,將mean_value設置爲更小的值,例如1,或者更大的值,例如5,會出現什麼情況?再嘗試僅調整bias,將bias調爲更大或者負數,模型訓練過程是怎麼樣的?
當mean_value=1時,正負樣本數據較差較多,採用二分類的邏輯迴歸模型無法達到很高(99%)的準確度。
當mean_value=5時,正負樣本有非常明顯的邊界,邏輯迴歸模型很容易就能將兩類樣本分開。
調整bias的大小,數據的整體位置會發生偏移。
bias=-10
bias=5
但是當我們繼續增加bias的大小時,會發現,無論我們訓練多少次,模型也無法將正負樣本分開,這是因爲隨着bias的增大,sigmoid函數在進行反向傳播時,梯度接近於0,這時無論迭代多少次,參數都不會更新,這也是爲什麼需要將數據進行歸一化的原因