我正在尝试对所有Logistic回归应用一种:
我正在使用一种vs全部方法(class1 vs class2 + class3,c2 vs c1 + c3,c3 vs c1 + c2)来计算三种情况的权重w1,w2,w3:
for n1 in range(0,50000):
s1 = np.dot(dt, w1)
p1 = (1 / (1 + np.exp(-s1)))
gr1 = (np.dot(dt.T, p1-c1))
gr1 /= N
w1 -= 0.01 * gr1
if n1 % 10000 == 0 and n1!=0:
loss1 = np.sum( np.log(1 + np.exp(s1))-p1*s1 )
print('loss1',loss1)
dt是我的特色,
w1,w2,w3初始化为w1 = np.zeros((5,1)),
c1=np.vstack((np.ones(40),np.zeros(40),np.zeros(40)))
c2=np.vstack((np.zeros(40),np.ones(40),np.zeros(40)))
c3=np.vstack((np.zeros(40),np.zeros(40),np.ones(40)))
答案 0 :(得分:1)
所以。虹膜数据集并非在所有集合中都具有完美的线性可分离性。 因此,我们使用线性分类器(例如逻辑回归),无法线性分离的部分的损失往往是不可预测的。 您可以放一个非常小的学习仇恨和耐心的方法,以免过于草率。 将您的数据标准化为0到1也会有帮助。