1、引入
1.1 分类问题的描述
对于分类问题,我们通常将整个问题记为 D={xi,yi}Ni=1 ,我们的对于 y 的预测值记为
1.2 贝叶斯公式
贝叶斯公式中有三个概率:先验概率、后验概率、类条件概率。
先验概率:
p(y=c)
类条件概率:
p(x|y=c)
后验概率:
p(y=c|x)
这里用一个例子来说明:
假设
y=1
表示某个病人得病,
x
表示血液中白细胞的数量。
类条件概率 指的是当得了病之后,血液中白细胞的数量为某值的概率;
先验概率 指的是这个人本身得病的概率;
后验概率 指的是通过检查已经知道了某个人血液中的白细胞数量,这个人得病的概率。
我们熟悉的贝叶斯公式为:
1.3 logistic回归引入
接着第一部分的内容,当
C=2
时,即为最简单的两分类问题,对于这类问题,
y
的取值为0和1两个,因此有
Tips:其中的 μ(x)=E(y|x)=p(y=1|x) 表示的是整个分布的均值。
(其中的 E(y|x)=1×p(y=1|x)+0×p(y=0|x) )
这里介绍一下bernoulli分布:
我们所说的logistic回归,就是在bernoulli分布的基础上,将
μ(x)
替换为
μ(x)=sigmoid(wTx)
其中的sigmoid函数为:
图像为:
针对我们的logistic回归, μ(x)=sigmoid(wTx) 一式中的 wTx 的取值范围为 (−∞,+∞) ,而bernoulli分布参数的取值是 [0,1] ,因此这里的sigmoid函数的作用就是将取值范围为 (−∞,+∞) 的参数转换到 [0,1] 上。
2、损失函数与优化
2.1 损失函数与极大似然估计
在引入了logistic回归后,按照机器学习的常规操作需要确定损失函数,这里的损失函数使用负log似然。
在上式中,我们称其中的
2.2 计算梯度
由2.1中得到的损失函数可以进行梯度的计算,由于步骤比较繁琐,这里使用图片进行表示。
损失函数:
J(w)=∑i=1N−[yilog(μi)+(1−yi)log(1−μi)]
梯度:
∂J(w)∂w=∂∂w[∑i=1N−[yilog(μi)+(1−yi)log(1−μi)]]
梯度计算:
这里的计算也不复杂,主要是用了复合函数的求导。
在最后一步得到的
μ(xi)−yi
称为预测的残差。
在上图中,公式
∂∂wμ(x)=μ(x)(1−μ(x))x
的推导为如下所示:
这里的求导主要用的是对于分数的求导,也不是很复杂,细心推一下就可以推出来。
在求得导数之后,我们如果想要使用牛顿法等二阶优化算法的话,需要计算对梯度再求一次导,也就是去计算他的Hessian矩阵。
2.3 牛顿法
主要思想是使用
f(x)
泰勒展开的前几项来寻找
f(x)=0
的解
首先对式子进行泰勒展开:
另外,牛顿法一般比梯度下降的方法要快,可能的原因是使用牛顿法这种二阶梯度下降的算法“看”的更远,因此会有比一般梯度下降更快的收敛速度。
3、正则化
如果损失函数取logistic损失,那么logistic回归的目标函数为: