逻辑回归是为了解决分类问题而出现的
假设函数
hθ(x)=g(θTx)h_\theta(x)=g(\theta^Tx)hθ(x)=g(θTx)
g(z)=11−e−zg(z)=\frac{1}{1-e^{-z}}g(z)=1−e−z1
g(z)g(z)g(z)图像如下::
g(z)g(z)g(z)叫做sigmoid函数,目的是将z映射到0-1之间
当g(z)≥0.5时y=1g(z)\ge0.5时y=1g(z)≥0.5时y=1,当$g(z)<0.5时y=1当z≥0时g(z)≥0.5z\ge0时g(z)\ge0.5z≥0时g(z)≥0.5,当z<0时g(z)<0.5z<0时g(z)<0.5z<0时g(z)<0.5
决策边界
假设我们的预测函数为:
hθ(x)=g(θ0+θ1x1+θ2x2)
h_\theta(x)=g(\theta_0+\theta_1x_1+\theta_2x_2)
hθ(x)=g(θ0+θ1x1+θ2x2)
训练集如下:
由之前的结论可得:
当y=1时,θ0+θ1x1+θ2x2≥0
当y=1时,\theta_0+\theta_1x_1+\theta_2x_2 \ge 0
当y=1时,θ0+θ1x1+θ2x2≥0
假设我们已经拟合参数:
θ=[3,1,1]
\theta = [3,1,1]
θ=[3,1,1]
所以只要有任何参数满足:
−3+x1+x2≥0
-3+x_1+x_2\ge0
−3+x1+x2≥0
我们的假设函数就会认为y=1y=1y=1
如果我们画出x1+x2=3x_1+x_2=3x1+x2=3这条直线:
这条直线左边都会被预测为y=1y=1y=1,右边都会被预测为y=0y=0y=0
这条线就叫做决策边界
代价函数
线性回归的代价函数如下:
J(θ)=1m∑i=1m12(hθ(x(i))−y(i))2
J(\theta)=\frac1m\sum_{i=1}^m\frac12(h_\theta(x^{(i)})-y^{(i)})^2
J(θ)=m1i=1∑m21(hθ(x(i))−y(i))2
换一种形式:
J(θ)=1m∑i=1mCost(hθ(x(i)),y(i))Cost(hθ(x(i)),y(i))=12(hθ(x(i))−y(i))2
J(\theta)=\frac1m\sum_{i=1}^mCost(h_\theta(x^{(i)}),y^{(i)})\\
Cost(h_\theta(x^{(i)}),y^{(i)})=\frac12(h_\theta(x^{(i)})-y^{(i)})^2
J(θ)=m1i=1∑mCost(hθ(x(i)),y(i))Cost(hθ(x(i)),y(i))=21(hθ(x(i))−y(i))2
如果直接使用线性回归的代价函数,那么代价函数将会是个非凸函数(non-convex),将会有许多局部最优点,图像如下:
所以我们使用另一种代价函数:
log(z)log(z)log(z)图像如下:
取0−10-10−1:
如果y=1y=1y=1
这个函数有很好的特性,如果y=1,hθ(x)=1,cost=0y=1,h_\theta(x)=1,cost=0y=1,hθ(x)=1,cost=0
如果y=1,hθ(x)→0,cost→∞y=1,h_\theta(x)\to0,cost\to\inftyy=1,hθ(x)→0,cost→∞
如果y=0y=0y=0
这个函数正好相反,如果y=0,hθ(x)=0,cost=0y=0,h_\theta(x)=0,cost=0y=0,hθ(x)=0,cost=0
如果y=0,hθ(x)→1,,cost→∞y=0,h_\theta(x)\to1,,cost\to\inftyy=0,hθ(x)→1,,cost→∞
为了简洁,把
合成一个函数:
Cost(hθ(x),y)=−y log(hθ(x))−(1−y)log(1−hθ(x))
Cost(h_\theta(x),y)=-y \ log(h_\theta(x))-(1-y)log(1-h_\theta(x))
Cost(hθ(x),y)=−y log(hθ(x))−(1−y)log(1−hθ(x))
所以:
J(θ)=1m∑i=1mCost(hθ(x(i)),y(i))=−1m∑i=1m[y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]
\begin{aligned}
J(\theta)&=\frac{1}{m}\sum_{i=1}^mCost(h_\theta(x^{(i)}),y^{(i)})\\
&=-\frac{1}{m}\sum_{i=1}^m[y^{(i)}log(h_\theta(x^{(i)}))+(1-y^{(i)})log(1-h_\theta(x^{(i)}))]
\end{aligned}
J(θ)=m1i=1∑mCost(hθ(x(i)),y(i))=−m1i=1∑m[y(i)log(hθ(x(i)))+(1−y(i))log(1−hθ(x(i)))]