Python机器学习 逻辑回归

逻辑回归算法是一个基于线性回归的非线性化的二分类算法

这里介绍一个非线性函数

Sigmoid函数(有些神经网络也用它来进行参数非线性化)

其中的Z为线性回归求导后的目标函数,因为最小二乘法可能求不出结果,但是梯度下降法是一定求得出结果的,区别在于速度

我们可以看到Sigmoid函数图像为

可以看到自变量取值为任意实数,值域[0,1]

所以这里的解释是:

我们将任意的输入映射到了[0,1]区间,我们在线性回归中可以得到一个预测值,再将该值映射到 Sigmoid函数中这样就完成了由值到概率的转换,也就是分类任务。

令预测函数(线性回归的目标函数值)

其中

分类任务(二分类):

整合一下得:

对于二分类任务(0,1),整合后

当y取0只保留

当y取1只保留

接着我们需要对结果进行求解,与线性回归一下,我们使用似然函数进行求解

使用对数进行变换

此时应用梯度上升求最大值,因为似然函数求导是一个最大值,求一个正的最大值即求一个负的最小值,所以我们引入转换为梯度下降任务

对其进行求偏导,求导过程非常简单,可以看到

因此,我们得到参数更新的方向

设置好步长m,我们就能做到梯度下降了

猜你喜欢

转载自blog.csdn.net/qq_41686130/article/details/86730622