吴恩达机器学习 笔记三 logistic回归

二元分类

logistic模型

   首先,我们需要搞清楚二元分类模型与之前的线性回归模型的区别。之前的线性回归模型是预测连续输出,对应的典型问题就是预测房价。而现在的二元分类问题是预测一个离散的输出,只关心有无,对应的典型问题就是预测有无癌症。二元分类问题只需要选取一个阈值,超过这个阈值就是 y = 1 ,低于这个阈值就是 y = 0 。并且预测分析的输出最好是在 [ 0 , 1 ] 这个范围之内的,因为毕竟训练数据集中的输出也只有 0 1
   根据上面分析,二元分类问题对于 h θ ( x ) 有一个要求:

h θ ( x ) [ 0 , 1 ]
而logistic函数就有这样优秀的性质。我们令
h θ ( x ) = g ( θ T x )
其中 g ( z ) = 1 1 + e z 其实,logistic函数就是把一个连续的输出映射到 [ 0 , 1 ] 这个范围内

决策边界

  由上面的表达式可以看出,logistic回归模型中logistic函数的输入相当带有线性回归的意味。但是这里的不同点在于,线性回归要做的是预测一个具体的输出。由于在二元分类中,我们只关心是大于还是小于某个阈值,因此logistic模型中logistic函数的输入对应的是阈值、边界的意思。这里,同样的道理,当用直线明显难以区分开两个分类式,需要曲线的时候就要引入高次项。后面自己会做一个图补上

代价函数

  由于logistic函数的存在,继续使用训练数据集误差的平方和做代价函数会带来非凸的问题。因此我们需要重新定义代价函数

J ( θ ) = 1 m i = 1 m C o s t ( h θ ( x ( i ) ) , y ( i ) )
C o s t ( h θ ( x ( i ) ) , y ( i ) ) = y ( i ) l o g ( h θ ( x ( i ) ) ) ( 1 y ( i ) ) l o g ( 1 h θ ( x ( i ) ) )
补上代价函数的图 从图上可以看到,判错的代价是非常高的。
  求解的过程依然是梯度下降。
θ j J ( θ ) = 1 m i = 1 m [ h θ ( x ( i ) ) y ( i ) ] x j ( i )
这里需要 注意的是
1.由于logistic函数的存在,这里的梯度下降跟之前的梯度下降实际上式不一样的
2.特征缩放依旧是必要的

猜你喜欢

转载自blog.csdn.net/qsdzxp/article/details/81836475
今日推荐