机器学习之逻辑回归(logistics regression)

逻辑回归(Logistic Regression)与线性回归(Linear Regression)都是一种广义线性模型(generalized linear model)。逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y 服从高斯分布。 因此逻辑回归与线性回归有很多相同之处,去除Sigmoid映射函数的话,逻辑回归算法就是一个线性回归。

逻辑回归虽然带有“回归”二字,但其本质却是一个经典的二分类算法。对于线性回归,其输出值可以是任意值,比如我要预测2025年的房价,训练出模型并应用之后得到的是一个具体的数值;而分类的话得到的答案是1 or 0,1表示属于该类,0表示不属于该类。

逻辑回归中用到了一个非常重要的函数:Sigmoid函数,Sigmoid函数也叫Logistic函数,其取值范围是(0,1)。
Sigmoid函数由下列函数定义:
机器学习之逻辑回归(logistics regression)
图像:
机器学习之逻辑回归(logistics regression)
求导:
机器学习之逻辑回归(logistics regression)
Loss Function推导过程:
机器学习之逻辑回归(logistics regression)
逻辑回归的损失函数我们采用的是一种交叉熵,而不是线性回归里面的Square Error,解释如下:
机器学习之逻辑回归(logistics regression)
从推导可以看出,对逻辑回归假若使用Square Error,无论f(w,b,x)=1还是0,都是靠近最优解的,这显然是不合理的。借用李宏毅老师课件上的一张图可以更加具体地说明这个问题:
机器学习之逻辑回归(logistics regression)
距离target越远,我们应该更快地更新参数,即距离越远微分值应该越大,梯度下降时移动的距离就越远。but对于Square Error,即使距离很远,微分值也会非常小,移动到target的速度就非常慢了。

Discriminative VS Generative

逻辑回归的方法称为Discriminative(判别) 方法;上一篇中用高斯来描述后验概率,称为 Generative(生成) 方法。它们的函数集都是一样的:
机器学习之逻辑回归(logistics regression)
区别是:判别方法中的w和b是用梯度下降的方法找到的,而生成方法中的w和b,从上一篇文章可以看出来,是使用极大似然估计,先估计出u1,u2以及共用的协方差矩阵∑,最后代入式子中算出来的。

上一篇:真机测试是提示 的 iPhone is busy: Preparing debugger support for


下一篇:postman-批量参数化-导入数据