6.1 分类(Classification)
将线性回归用于分类问题不是一个好主意。红线为增加最右的样本前的拟合,蓝线为增加最右的样本后的拟合。假设阈值为0.5,的情况下(竖线右边)是患有肿瘤,的情况下(竖线左边)是没有肿瘤。可以发现,红线很好地拟合样本数据,但是在增加一个样本后,蓝线不能很好地拟合数据。
线性回归模型对噪音十分敏感
线性回归还会出现大于1或者小于0的情况,但是对于分类问题,y的值只有0或1。
逻辑回归(Logistic Regression)算法是一种分类算法,其特点是算法的输出值/预测值在0到1之间,用在y为离散值0或1的情况下。
6.2 假设陈述(Hypothesis Representation)将代入Sigmoid函数,我们要做的就是用参数拟合数据
sigmoid函数取值范围为(0,1)
例子:肿瘤分类。像之前一样指定为1,是肿瘤的大小(特征变量)。根据拟合参数和拟合函数得出y=1(患有肿瘤)的概率是0.7。
对 的解释:在给定特征x的条件下y=1的概率,这个概率的参数是,依赖假设来估计y=1的概率。因为这是一个分类任务,所以y的值只能是0或1,因此P(y=0) + P(y=1) = 1,即y=1的概率加上y=0的概率为1。
6.3 决策边界(Decision boundary)
当时,预测患有肿瘤的概率大于等于0.5;当时,预测患有肿瘤的概率小于0.5。
图中z=,
假设、、的值已经确定, ,则。根据上一张图的总结可以知道,当时,即,预测y=1的概率大于0.5。
在图中画出的直线,这条直线就是决策边界。决策边界上方区域,假设函数预测y=1;下方区域,假设函数预测y=0。
决策边界是假设函数的属性,决定于其参数,他不是数据集的属性。使用训练集来确定参数的取值,一旦有确定的参数值,决策边界也就确定了,这时候我们不需要通过绘制训练集来确定决策边界。如下面第二张图。
面对更复杂的数据,可以添加额外的高阶多项式项。
需要注意的一点是,尽管没有绘制数据,只要给定了参数向量,决策边界就确定了。我们用训练集来拟合参数,但一旦有了,决策边界就确定了。(在拟合好之前,是不知道需要多少个多项式的)
6.4 代价函数(Cost function)
根据之前线性回归模型的代价函数,将改写为。
由于是非线性函数,如果把这个Sigmoid函数代入Cost项,再将Cost项代入代价函数,会得出一个非凸函数,如左图所示。如果把梯度下降函数用在这个函数,不能保证梯度下降函数会收敛到全局最优解。
右图是我们所希望的代价函数是一个凸函数。
是假设函数,对给定特征的预测,y是实际值,对于分类问题,y只取0或1。
是代价函中的项,
是这些的和。
所以我们需要找另一个代价函数,在Sigmoid函数代入后,仍为凸函数。下图是一个用在logistic回归的代价函数。这个代价函数的含义:预测值为,这个值在y=1中的代价为;在y=0中的代价为。
y=1的代价函数图像:
对图像的解释:假设预测值为0.2,而y的值为1,我们的预测是错误的,那么我们会用非常大的代价值惩罚这个学习算法;预测值越接近1(即越准确),代价值会越来越小。
横轴为预测值,纵轴为代价函数值。
y=0的代价函数图像:
对图像的解释:预测值越接近0,代价函数值越小。
log Z 函数图像如蓝线所示,由于函数的值只能取到01,所以只需要关注01范围的图像。在的值中取了负号,所以图像是以x轴对称的,如粉线所示。
log函数可以把指数变为线性,用在这个代价函数中去掉了指数化带来的影响。 log没有底数就是ln自然对数。
log没有底数就是ln自然对数。
6.5 简化代价函数与梯度下降(Simplified cost function and gradient descent)
为了让函数更紧凑,改写为蓝字部分。这样改写并不会改变原式。看粉字和红字的解释。
新的代价函数。我们需要找出让取得最小值的参数,用这组参数输出新样本的预测值。
: 在给定特征x和参数的情况下,预测的y=1的概率。
为了拟合参数,我们需要用到梯度下降算法。通过不断更新来使得的值最小。
6.6 高级优化(Advanced optimization)
梯度下降算法:
其他算法及其优点:①不需要人工选择学习速率;②收敛速度一般比梯度下降算法快。
缺点:复杂
6.7 多元分类:一对多(Multi-class classification:One-vs-all)
将n分类问题分成n个二分类问题。
对n个二分类问题拟合好n个后,将需要预测的样本分别输入到这n个假设函数中,选取最大输出值所属的类别。