简书不支持公式,原文见
https://www.yinxiang.com/everhub/note/86471059-2eac-4b64-8781-6dbd859c98ef
1. 为什么有逻辑回归
线性模型对分类问题表达欠缺。
2. 逻辑回归是什么
在线性回归上增加一个sigmod函数,实现非线性函数映射。
y = \frac{1} {1 + e^{-(w^Tx+b)}}
为了对分类问题拟合更好,要在线性回归上增加一个单位阶跃函数。
单位阶跃函数
\theta(t) =
\left\{
\begin{array}{}
1,& t>0, & \\
0,& t<0, & \\
0.5,& t=0
\end{array}
\right.
但单位阶跃函数不可导,引入sigmod函数, sigmod函数任意阶可导,有很好的数学特性。
\rm sigmoid(x) = \frac{1} {1 + e^{-x}}
为什么叫逻辑回归,不叫分类
其数学原理使其有回归性质
- 对数几率其实与x是线性关系
In(y/(1-y)) = w^Tx + b
- 逻辑回归还是对函数曲线的一个拟合, 回归到原来的线上
3. 公式推导
1. 推导损失函数
使用最大似然估计法
最大似然估计
使用已有数据去推测参数, 找到那个最大可能的参数。
类似抛硬币问题,抛10次硬币,6次正面朝上,计算正面概率P。
要最大化下面这个式子(损失函数)
L(\theta) = f(x1|\theta) * f(x2|\theta) * ... *f(xm|\theta)
\begin{aligned}
L(\theta=0.5)=0.5^6*(1-0.5)^4=0.21 \\
L(\theta=0.6)=0.6^6*(1-0.6)^4 = 0.25
\end{aligned}
一般通过梯度下降估计theta值。
推导过程
现在我们使用最大似然法,通过用m个样本数据去估计w
令拟合函数等于
P(y=1|x) = \frac{1} {1 + e^{-(w^Tx+b)}} = \pi(x)
损失函数为
L = \prod_{i=1}^m{[\pi(x^i)]^{y^i}*[1-\pi(x^i)]^{1-y^i}}
分类问题(y=1,0),上式两项会消掉一项
对损失函数去对数似然(对上式取对数)
因为对数函数单调递增,当偏导
\frac{\partial(log(L))}{\partial(x)} = 0
为0,L(x)就最大。
\begin{aligned}
L(w) = \sum_{i=1}^m{[y^i*log(\pi(x^i))+(1-y^i)*log(1-\pi(x^i))]} \\
L(w) = \sum_{i=1}^m{y^iwx^i - log(1+e^{wx^i})}
\end{aligned}
使用梯度下降法使L最大,求得w
4. 特点
优点
- 直接对分类可能性建模,无事先假设数据分布
- 近似概率预测,结果是概率可用作排序模型
- 容易使用和解释
- 时间内存高效
- 可分布式,且工程化已经成熟
- 最数据中小噪声鲁棒性好(离散化使得异常值影响小)
缺点
- 容易欠拟合,分类精度不高
- 数据特征有缺失或特征空间很大时效果不好
使用注意点
1.过拟合
- 减少特征数量,降维
- 正则化
- 逐渐减小学习率
2.线性不可分数据
- 使用核函数
- 正则化
3.输入向量稀疏原因
- 分类特征one-hot
- 连续特征离散化
4.为什么要离散化
- 离散特征的增加减少容易 (快速迭代)
- 稀疏向量内积乘法快
- 离散化对异常值有鲁棒性(300岁->大于50岁)
- 增加表达能力(单独权重,特征交叉)
- 简化模型,降低过拟合风险
5.应用场景
- CTR预估
- 病理诊断
- 信用评估
- 垃圾邮件分类
网友评论