机器学习内容之逻辑回归 Logistic Regression
什么是逻辑回归
逻辑回归是数据挖掘中的一种算法
逻辑回归是用来干什么的
Answer : 解决二分类问题
分类问题: 判断每个样本所属类别的问题,如邮箱内的邮件是否为垃圾邮件,一个人的性取向是同性、异性还是双性等等。
当目标类别只有两类时,即为二分类问题
回归和分类的区别
用简单的一句话概括就是:
回归模型的输出是连续的
分类模型的输出是离散的
对于回归模型,它是一个连续函数,在不同x上都有连续的y值
对于分类模型,不同的x值得到的y值只有0和1,即样本是A类还是B类
再举一个简单例子,在考试中,每道题都会有相应的分值,答对的题目越多,分数越高,这是回归。但最后的总分只有低于60分和不低于六十分两种情况,也就是只有不及格和及格之分,这便是分类。
逻辑回归的原理
逻辑回归可以理解为线性回归和sigmoid函数的复合函数:
逻辑回归 = 线性回归 + sigmoid函数
线性回归:用一条直线来拟合自变量和因变量之间的关系
sigmoid函数: 将回归转换为分类的一个函数
当sigmoid的输入值越接近于负无穷时,函数值越接近于0;输入值越接近于正无穷时,函数值越接近于1;输入值为0时,函数值则为0.5。
假设奶茶店每天的营业额z和卖出的奶茶杯数x存在线性关系:
z = w*x + b
那么以上是一个线性回归。
只有当奶茶店营业额超过某个数之后,奶茶店才能盈利。那么我们判断奶茶店是否盈利,则是分类。
要想将营业额和卖出杯数之间的回归关系转化为通过杯数x判断是否盈利的分类关系,我们引入sigmoid函数:
y = 1/(e^(-z) + 1)
(公式中y为分类结果)
两式结合,便是逻辑回归的公式:
当z越大,y越接近1;z越小,y越接近0。通过sigmoid函数,我们将回归得到的结果转化为了0~1之间的某一个数。然后再将小于0.5的结果预测为0,大于0.5的结果预测为1,从而得到二分类的结果,至此LR的过程便完成了
如何得到一个好的逻辑回归
逻辑回归损失函数
逻辑回归损失函数体现的是预测值和实际值的相似程度,函数值越小,模型预测得越好