coursera-斯坦福-机器学习-吴恩达-第3周笔记-逻辑回归
文章目录
1.分类 和 模型表示
这一周对应PPT lecture6 逻辑回归
1.1分类的概念 Classification
先来谈谈二分类问题。课程中先给出了几个例子。
- 邮件是垃圾邮件还是非垃圾邮件;
- 网上交易是的欺骗性(Y or N);
- 肿瘤是恶性的还是良性的。
对于这些问题,我们可以通过输出值y ϵ {0, 1} 来表示。
注意:分类结果是离散值,这是分类的根本特点。
1.2 分类模型表示
通过上次的课程,我们可以想到利用假设函数y=hθ(x)来预测分类。
如果y的取值只有0和1,训练集画出来这这个样子(先没有绿框中的点),我们用线性回归得到1号直线,如果认为模拟直线的取值小于0.5时则预测值就为0,如果模拟直线的取值大于0.5时预测值就为1,感觉还不错。但是将绿框中的点加入后,线性回归得到的直线2,就显得不是很完美了。经过大量的实验证明,线性回归不适合这种训练集。那么怎么解决这个问题呢?
而且普通的hθ(x)函数存在函数值大于1和小于0的情况(没有意义),于是我们要构造特殊函数使0≤hθ(x)≤1。
我们提出来了一种新的回归模型:
y = h θ ( x ) = g ( θ T x ) y=h_\theta(x) = g(\theta^Tx) y=hθ(x)=g(θTx)
其中:
g ( z ) = 1 1 + e − z g(z) = \frac{1}{1 + e^{-z}} g(z)=1+e−z1
则
h θ ( x ) = 1 1 + e − θ T x h_\theta(x) = \frac{1}{1 + e^{-\theta^Tx}} hθ(x)=1+e−θTx1
g(z)这个函数称之为:logistic function 或者 sigmoid function
,其图像为:
1.3 分类边界
有了模型,怎么分类呢?
当y>0.5的时候,为正。此时由图像可知:
$h_\theta(x) \geq 0.5 $
θ T x ≥ 0 \theta^Tx\geq 0 θTx≥0
下面的图可以用来体会一下边界的含义
2.逻辑回归模型 logistic regression
2.1 代价函数 cost func
让我们先来看看线性回归中的代价函数 ,
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta) = \frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)}) - y^{(i)})^2 J(θ)=2m1∑i=1m(hθ(x(i))−y(i))2
如果将其应用在逻辑回归中,由于假设函数hθ(x) 的非线性,代价函数会呈现以下形状。
图像呈现出非凸性,也就是说,如果我们运用梯度下降法,不能保证算法收敛到全局最小值。
所以,对于逻辑回归问题,我们定义新的代价函数如下所示 :
对上面的式子进行简化,总结如下
J ( θ ) = 1 2 m ∑ i = 1 m C o s t ( h θ ( x ( i ) ) , y ( i ) ) J(\theta) = \frac{1}{2m}\sum_{i=1}^{m}Cost(h_\theta(x^{(i)}), y^{(i)}) J(θ)=2m1i=1∑mCost(hθ(x(i)),y(i))
C o s t ( h θ ( x ( i ) ) , y ( i ) ) = − y ( i ) l o g ( h θ ( x ) ) − ( 1 − y ( i ) ) l o g ( 1 − h θ ( x ( i ) ) ) Cost(h_\theta(x^{(i)}), y^{(i)}) = -y^{(i)}log(h_\theta(x)) - (1 - y^{(i)})log(1 - h_\theta(x^{(i)})) Cost(hθ(x(i)),y(i))=−y(i)log(hθ(x))−(1−y(i))log(1−h