cost函数:
hypothesis :
逻辑回归的代价函数, 其实跟线性回归有很大的不同。
首先不仅仅是hypothesis函数的定义跟线性回归很不一样, 理解逻辑回归的最重要的一点就是先理解hypothesis函数。 hypothesis的解释是“在参数Θ下, 输入向量x对应Y=1的概率” 这里, Y = 1 和Y = 0 就是我们分类的依据。 如y = 1 表示肿瘤为恶性, y = 0 则表示为良性。 顺便也解释一下向量x , x中有两个值 , 假设分别表示肿瘤的质量和尺寸, X(大) 则是训练样本中所有x的集合 。
hypothesis函数: 对于任意一个训练样本,输入向量x(包含尺寸、和质量) ,在参数Θ下, 会有一个0-1之间的输出值, 我们管它叫概率, 实际上只是一个0-1之间的值, 不是真正意义上的概率。 如果该输出为1, 并且该训练样本x对于的真实y也确实为1, 则我们的cost函数(第一个式子) 返回0 。 如果hypothesis函数 的到返回值不为1 ,而实际上对应的y确实是1 , cost函数会返回一个可能交大的值。 至于这个值有多大,则要看hypothesis函数的返回值 跟 1 差多少, 参看 -log(z) 的图像。
根据这个假设函数, 我们得到的cost函数是凸的。 可以用梯度下降算法来求出Θ的最优值。 这个步骤就跟线性回归是一直的了。
再之后, 我们求出了Θ , 但是怎么画决策界限呢?
根据 X * theta = 0
我们可以得出: plot_x = [X(:,2), X(:,2)];
plot_y = (-1./theta(3)).*(theta(2).*plot_x + theta(1));
为什么只要任意两个点就能确定这条线?
因为 这实际上是X₂ = (-1./theta(3)).*(theta(2).*X₁+ theta(1)) 的直线, 当theta 确定以后(这儿已经确定)就是笛卡尔坐标轴上的一条特定直线, 所以与具体训练集中的数据就无关了。
为什么这条直线作为决策边界呢?
这是因为该直线是根据: theta * X = 0 变形得到的。 theta * X 就是hypothesis = 1/(1 + exp(z)) 中的z, 当z为0时 , hypothesis 的值为0.5, 所以在这条直线上的点就是hypothesis 的值为0.5 的点, 也就是概率为0.5的点, 这直线自然成了分水岭。