这是一个十分基础的分类算法
对于一个二分类问题,我们希望的应该是一条线将空间进行划分,在线的一侧是一类,另一侧就是另一类。
也就是说:
分为一类
分为另一类
然后由于是一个二分类问题,我们希望结果压缩到0 和 1 之间
那么我们首先应该想到的是
将传入可以获得想要的结果
但是
以上的的数学性质不是很好,不是可导函数,因此要有适当的变形
和 非常像,而且h(x) 的数学性质就非常好,因此是非常常用的一种的替代函数
那么我们应该怎么理解,显然是一个连续函数,生成的是连续值 而非 只是 0 和 1 两个值
那么我们可以认为表示的是结果为1的概率,越大数结果越接近1 就相当于得1的可能性越大, 越小的数结果越接近0 代表结果为1的可能性越小。
开始推导
首先,设
所以:
写成更一般的形式:
因此如果向其传入的是真实的样本分类结果,那么它表示的是分类正确的概率,因此我们显然是想要它越大越好
也就是,我们希望越大越好
这样其实就已经很清晰了,我们想要更新,问题就在于如何增大
以下就是处理如何增大
全是乘法的,因此取log会使计算更加简单
传统的梯度下降法能获得的是局部最小值,这里面我们想要局部最大值,因此,修改公式,变成梯度上升法
求得结果:
以上就是更新公式的全部推导