第三次作業——autograd與邏輯迴歸

1. 邏輯迴歸模型爲什麼可以進行二分類?

  • 邏輯迴歸的表達式爲:
    y=f(WX+b)y = f(WX + b)
    f(x)=11+exf(x) = \frac{1}{1 + e^{-x}}
    該函數的作用是將輸入的數據映射到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,這時無論迭代多少次,參數都不會更新,這也是爲什麼需要將數據進行歸一化的原因
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章