文章目录
实验背景
相比k近邻算法和决策树算法,logistic回归算法算是真正意义上的机器学习基础算法,哪怕是现在的深度学习,一样有用到logistic回归算法的内容。而logistic回归算法很大程度上和线性回归以及对数线性回归有关,本次实验就来介绍logistic回归算法的原理和作为分类算法的效果。
1.logistic回归算法原理
1.1.线性回归
假设有这么一堆数据集
我们的目标就是找到
比如我们要找到房子价格的线性回归函数,在考虑该函数只与房子面积相关的情况下有
核心目标就是找到这个w和b,使得估计的f(x)符合对应的y。对于我们来说,这个f(x)和y的差距越小越好,所以我们使用最小二乘法来进行判断
高中的时候我们已经学习过最小二乘法的计算公式,这里我们列出完整的解决过程,已解决求多个w的问题,我们对w和b求偏导,并令他们等于0,可得到公式
这就是只有一个w的情况下,w和b的解。那么w代表什么呢?w会影响到线性回归函数的斜率,也就是说w可以理解为实例的属性,而多个w就可以理解为实例的各个属性,这些属性共同影响实例的值
。同理,对于多个w,我们可以分别对他们进行偏导并令其等于0,解开这个多元一次方程组就可以找到我们想要的线性回归方程。
该图就是两个w的情况下,回归函数与x的关系。
1.2.对数线性回归
虽然线性回归方程看起来很美好,但实际上,生活中很少有单纯用线性回归函数就能描述的现象。这时候我们就需要用到对数线性回归函数,使得我们在保留线性回归函数特性的同时更好的预测非线性复杂函数。
线性回归模型:
可推广至:
实际上这个函数可以不停地进行嵌套得到一个复杂的套娃函数。我们举个简单的例子
这就是最基础的对数线性回归,logistic就是基于这种回归来改进与完善的。
1.3.logistic回归
logistic回归一般用来解决分类问题,尽管其对解决的问题规模并没有限制,但一般来说,最适合他解决的问题是二分类问题。对于线性函数来说,二分类问题最好分成y=0与y=1的阶跃函数。
那么问题显而易见,这是不连续且不可微的。当预测目标处于范围边界的情况下,我们该如何进行判断他到底属于哪一类呢?
logistic函数(sigmoid)函数就是解决这个问题的
很明显,当x的取值范围扩大后,对应y的取值十分接近0或1,这就是其适合解决二分类的问题的原因
那么求w与b的值,我们可以采用极大似然估计法,假设我们有数据集
我们要找到
令
则
可简写为
再令
x对应y为1的几率