简而言之,我的考试问题是训练集,其中很少有学生在少数学科上有成绩,并且通过某种工程入学考试的成绩为PASS / FAIL:
这里某人通过考试的等式是: 2 *(数学)+ 1 *(物理)+ 1 *(化学)> = 300
现在,如果我没记错的话,逻辑回归的目的是在内部找出这些theta值(2,1,1)和固有方程,然后为任何测试数据输入生成结果。
我的问题是,当我从样本系数a1 = 1,b1 = 1,c1 = 1开始并进行像
的预测时prediction = (a1.X1 + a2.X2 + a3.X3)
sigmoidResult = sigmoid(prediction)
sigmoid(X)是传统的Sigmoid函数:[1.0 /(1 + np.exp(x * -1))]
很明显,对于我的输入,S形结果将在1侧,而不是在0侧,因为预测计算产生的结果> 0.5
例如
prediction = 1*70 + 1*70 + 1*70 = 210
sigmoid(prediction) = sigmoid(210) = 1.
所以不确定在这里我在做什么错,因为S形总是在1的一边,这将在末端产生错误的曲线。
所以基本上,我在这里问一个关于Logistic回归的非常幼稚和基本的问题:
很显然,逻辑回归的任务是找出系数(theta)值(a1,a2,a3),但是在这种情况下,用户是否需要了解方程式(无需知道theta)a1.x1 + a2.x2 + a3.x3 <=300
?还是找出这个方程并据此产生正确的结果是逻辑回归本身的任务?最后,如果用户不知道Sigmoid总是返回> 0,怎么办?