1.獲得資料集
2.建立sigmoid函式
3.求sigmoid 的導數
4.求cost的導數
5.求loss的導數
6.遞迴下降求引數
import numpy as np
import matplotlib.pyplot as plt
import math
#原始資料 得出的邊界為7-2x
x=np.mat([1,2,3,3.3,3.4,3.6,4,5,6])
y=np.mat([1,1,1,1,1,0,0,0,0])
y=y.t
a=0b=0
canshu=np.mat([a,b])
canshu=canshu.t
def sigmoid(z):
return (1/(1+np.exp(-z)))
print(canshu)
bianliang=np.column_stack(([1,1,1,1,1,1,1,1,1],x.t))
print(bianliang[:,0])
#學習速率
alpha=0.01
step=2000
for i in range(step):
xiaoy=bianliang*canshu
prey = sigmoid(xiaoy)
print(prey)
a=a+alpha*(y-prey).t*bianliang[:,0]
b=b+alpha*(y-prey).t*bianliang[:,1]
canshu=np.column_stack([a,b]).t
print(canshu)
plt.scatter(x,y)
bianliang
print(sigmoid(bianliang*canshu))
對原始資料集的檢驗為 邏輯回歸實戰
影象 輸入x,注意 這裡的x已經新增上了預設的第0個特徵,這個列向量中的值都為1 begin 1 x x 1 x x vdots vdots vdots 1 x x end 目標函式 j theta 梯度下降 梯度下降 不斷地更新引數即可 完成了擬合,投入到 的時候是使用等價替換之前的假設函式,值得...
邏輯回歸實戰
影象 輸入x,注意 這裡的x已經新增上了預設的第0個特徵,這個列向量中的值都為1 begin 1 x x 1 x x vdots vdots vdots 1 x x end 目標函式 j theta 梯度下降 梯度下降 不斷地更新引數即可 完成了擬合,投入到 的時候是使用等價替換之前的假設函式,值得...
機器學習 邏輯回歸 Python實現邏輯回歸
coding utf 8 author 蔚藍的天空tom import numpy as np import os import matplotlib.pyplot as plt from sklearn.datasets import make blobs global variable path...