首先,我們要構造躍階函數,也就是sigmoid函數,書中給的函數是:
![]()
由這個躍階函數來處理二分類問題。
這個躍階函數的代碼構造如下,需要用到numpy庫中的exp(注意不是math.exp):

但是,這個躍階函數的效果不是太好,親自試驗過,發現效果不是一般的差。一般都是用

這個公式來計算,也就是上圖注釋掉的代碼。
之后就開始循環訓練了。
以上代碼為訓練代碼,其中data.T在這里也可以用data.transpose()來代替,data.transpose()功能比.T轉置要更多功能。
執行並用圖輸出:

附上訓練數據:

訓練后的參數可視化:

效果還不錯。
附上好的対率回歸的博客:https://blog.csdn.net/achuo/article/details/51160101

