我正在尝试适合我的数据,但我无法适应它。数据集
0.50,0
0.75,0
1.00,0
1.25,0
1.50,0
1.75,0
1.75,1
2.00,0
2.25,1
2.50,0
2.75,1
3.00,0
3.25,1
3.50,0
4.00,1
4.25,1
4.50,1
4.75,1
5.00,1
5.50,1
和我的代码
data = np.loadtxt('dat', delimiter=',',dtype=None);
x=data[:,0:1];
y=data[:,1].reshape(x.size/x[0].size,1);
a=np.ones(shape=(y.size,x[0].size+1));
a[:,1:2]=x;
q=np.ones(shape=(a.shape[1],1));
alpha=0.003
for i in range(500000):
h=1/(1+np.exp(-np.dot(a,q)))
for j in range(q.size):
q[j][0]=q[j][0]-alpha*np.sum((h-y)*a[:,j]);
plt.axis((-1,10,-1,5))
plt.plot(x,y,'x',x,h);
plt.show();
所以我尝试了不同的学习率(alpha),尝试了不同的迭代次数,但我的拟合数据看起来像这样 enter image description here
但它应该是enter link description here
我错过了什么?是否有任何逻辑错误或类似的错误?谢谢你的交易。