概述
逻辑回归,logistics regression,简称 LR, 解决 分类 问题
误会
logistics regression中的logistics,与 “逻辑”并无关系
名字虽然是 逻辑回归,但实际上是 分类 学习方法
什么是分类问题
输入值 为 连续值,输出值 为 有限个 离散值 的预测问题,就是分类问题
应用场景
用于 二分类 问题:
- 是否购买会员
- 是否垃圾邮件
- 是否患病
- 金融诈骗
- 点击率预估
- 推荐系统
能够算出概率值
案例
在 线性回归 中,我们可以 根据 已有数据 建立 模型,根据 父母平均身高 预测 孩子身高。
但现在要研究的问题是,分析 下面数据 ,根据 父母平均身高 预测 孩子身高 是否 能长到 1.8米
| 父母平均身高 | 孩子是否长到1.8 |
|---|---|
| 1.6 | 0 |
| 1.74 | 0 |
| 1.81 | 1 |
| 1.85 | 1 |
| …… | …… |
分析 是否 逻辑回归问题
案例中给出的数据是 父母的平均身高,这是连续值
最后问的是 孩子 是否 能长到 1.8米,结果要么为 “是”,要么为“否”,这是典型的二分类问题
所以这是逻辑回归问题
解题思路
转换思路:利用 线性回归
将 “根据父母的平均身高 预测 孩子 是否 能长到 1.8米”,转变为 “根据父母的平均身高 预测 孩子身高”进行分类
通过算法得出 阈值 ,小于 阈值 为 “孩子身高 不能 长到1.8”,大于 阈值 为 “孩子身高 能 长到1.8”
如下图:
红线 就是建立的 线性回归 模型,表示 父母平均身高 和 孩子身高
绿线 就是 阈值
利用 线性回归 解决分类问题
建立 线性回归 模型,根据父母平均身高 算出 “孩子身高”的分数,该分数越高,长到1.8米的可能性越大;分数越低,长到1.8米的可能性越小
将 逻辑回归 问题 转换 线性回归 问题
如何算 概率
通过上述方式,计算出 分数,但还需要将 分数 转换成 [0,1] 之间的值,也就是 概率值
需要用到 激活函数
激活函数
激活函数有很多,如下:
https://www.malaoshi.top/show_1EF3rzCm0GFL.html
这里 使用 sigmoid 激活函数
sigmoid函数具有很强的 鲁棒性(鲁棒是Robust的音译,也就是健壮和强壮的意思),并且将函数的输入范围 (∞,-∞) 映射到了输出的 (0,1) 之间且具有 概率意义。
也就是说:将 线性回归 的结果 输入 sigmoid函数中,输出0.7,就表示有70%的概率是正例,100%-70%就是30%的概率为负例
损失函数
使用 二分类损失函数:
https://www.malaoshi.top/show_1EF3qTvZH2yB.html
优化
梯度下降
总结
逻辑回归的实现思路:
- 用 线性回归 建模 预测
- 通过 激活函数 将 线性回归的结果 转换 成概率值
- 损失函数用交叉熵
- 梯度下降
感谢下面文章:
https://blog.csdn.net/weixin_39445556/article/details/83930186
