逻辑回归(Logistic Regression)是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性。
以二分类为例,对于所给数据集,假设存在这样的一条直线可以将数据完成线性可分。
Sigmoid函数
逻辑回归使用Sigmoid函数(也称为Logistic函数)将线性组合的输入映射到一个介于0和1之间的概率值。
sigmoid函数如下:
g(z)=11+e−z
sigmoid函数易求导,适合梯度下降更新。其求导过程为:
g′(z)=(11+e−z)′ =e−z(1+e−z)2] =11+e−ze−z1+e−z=g(z)(1−g(z))
假设函数
逻辑回归假设函数的表达式为:
hθ(x)=11+e−θTx
其中,hθ(x)是预测的概率,θ是模型的参数,x是输入特征。
对于二分类,其模型满足如下条件:
p(y=1|x;θ)=h(x),p(y=0|x,θ)=1−h(x)
其将逻辑回归的预测值赋予概率的意义。例如,h(x)是逻辑回归假设的目标函数,其值被定义于y=1(预测值为真)的概率。
上述两个式子可以合并为:
p(y|x;θ)=(h(x))y(1−h(x))1−y
损失函数:
似然函数:
L(θ)=m∏i=1P(yi|xi;θ)=m∏i=1(hθ(xi))yi(1−hθ(xi))1−yi
对数似然:
l(θ)=logL(θ)=m∑i=1(yilog(hθ(xi))+(1−yi)log(1−hθ(xi)))
应用梯度上升求最大值,引入J(θ)=−1ml(θ),转换成梯度下降任务。
即对于二分类问题,损失函数的表达式为:
J(θ)=−1mm∑i=1[yilog(hθ(xi))+(1−yi)log(1−hθ(xi))]
其中,m是训练样本的数量,yi是样本的实际类别。
其对θ求偏导:
$$
\frac{\partial }{\partial θ}J(θ) = \frac{1}{m}\sum{i=1}^{m}(h_θ(x_i)-y_i)x_i
$$
参数更新:
θj:=θj−α1mm∑i=1(hθ(xi)−yi)xi