逻辑回归(logistic Regression)
分类问题
在分类中,如果要预测的变量y的离散的,我们将这一学习过程称之为逻辑回归,可以判断的二元以至多元问题
二元分类
两个类分别为正向、负向类,因变量y={0,1},0为负向类,1为正向类,预测过程中,我们设置一个阈值,例如
对于逻辑回归算法,我们要做到的是,将输出值控制在0-1之间
假说表示
要实现因变量y的值在0-1之间, 我们要引入逻辑回归模型,回归模型的假设是
X为特征向量,g表示的是逻辑函数,假设中即为求得的y,经过g逻辑函数变换之后得到0-1之间的值
常用的g函数有sigmoid函数
的作用就是给出输入变量为正向类的几率,比如表明有70%的几率使y为正向类(y=1),那么
P(y=0|x;) = 1 - = 0.3
判断边界
逻辑回归时
当,也就是 预测y = 1
当,也就是预测y = 0
反映在坐标轴上就是(x轴表示正负向)
代价函数
对于线性回归模型的损失(代价)函数,使用的是所有实例(模型)的误差的平方和,代价函数是光滑的如下图
但是对于例如逻辑回归模型中用的是非线性的,表现在坐标轴上是一个非凸函数,例如下图
也就意味着损失(代价)函数存在很多的局部最优解(极小值),会影响梯度下降算法寻找最小值
面对这种情况我们要做的是找到一种损失(代价)函数的构造方法使得其为凸函数(convex),
损失函数
其中
上述损失函数的图像如下
当y=1的时候,如果预测值h=0,那么损失函数肯定趋于无穷大,反之y=0,预测值=1同理
简化的成本函数和梯度下降
以上损失函数公式可以化简为
代价函数也就是
有上面这样一个代价函数之后,我们就可以使用梯度下降
也就是
上述式子需要注意的是,逻辑回归的预测值函数与线性回归的不同,使用的是sigmoid函数,而不是直接计算,所以与线性回归并不相同
高级优化
与梯度下降不同,我们也有一些更高级、复杂的算法,类似共轭梯度法BFGS,L-BFGS(限制变尺度法)
以上几种高级方法的有点是,不需要手动设置 值且往往比梯度下降法更加快速,但是更加复杂
多类别分类:一对多
简单的举例:要将病人当前的状态分类,y=0表示没生病 y=1表示感冒,y=2表示流感
相当于有三块聚集的类别且各不相同,这种一对多的分类问题又被称之为一对余的方法,也就是先选定一个类别作为正向类1,其余的类别相当于反向类0,如下图所示
。
也就相当于我们得到了三个分类器分别将这类1,2,3分为 类1&&其他,类2&&其他,类3&&其他
记录为 ,其中类i为正向类,其余为负向类, 且,在预测时,将自变量x带入每一个预测模型中,选择P最大的模型,找出相应的类别
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏