6.1 分类(Classification)

将线性回归用于分类问题不是一个好主意。红线为增加最右的样本前的拟合,蓝线为增加最右的样本后的拟合。假设阈值为0.5,hθ(x)0.5h_\theta(x)\ge0.5的情况下(竖线右边)是患有肿瘤,hθ(x)0.5h_\theta(x)\le0.5的情况下(竖线左边)是没有肿瘤。可以发现,红线很好地拟合样本数据,但是在增加一个样本后,蓝线不能很好地拟合数据。

线性回归模型对噪音十分敏感
吴恩达机器学习笔记(六)

线性回归还会出现hθ(x)h_\theta(x)大于1或者小于0的情况,但是对于分类问题,y的值只有0或1。
逻辑回归(Logistic Regression)算法是一种分类算法,其特点是算法的输出值/预测值在0到1之间,用在y为离散值0或1的情况下。

6.2 假设陈述(Hypothesis Representation)将θTx\theta^Tx代入Sigmoid函数,我们要做的就是用参数θ\theta拟合数据

sigmoid函数取值范围为(0,1)

例子:肿瘤分类。x0x_0像之前一样指定为1,x1x_1是肿瘤的大小(特征变量)。根据拟合参数θ\theta和拟合函数hθ(x)h_\theta(x)得出y=1(患有肿瘤)的概率是0.7。
P(y=0xθ)+P(y=1xθ)=1P(y=0|x;\theta) + P(y=1|x;\theta) = 1 的解释:在给定特征x的条件下y=1的概率,这个概率的参数是θ\theta,依赖假设来估计y=1的概率。因为这是一个分类任务,所以y的值只能是0或1,因此P(y=0) + P(y=1) = 1,即y=1的概率加上y=0的概率为1。
吴恩达机器学习笔记(六)

6.3 决策边界(Decision boundary)

θTx0\theta^Tx\ge0时,预测患有肿瘤的概率大于等于0.5;当θTx<0\theta^Tx\lt0时,预测患有肿瘤的概率小于0.5。

图中z=θTx\theta^Tx
吴恩达机器学习笔记(六)

假设θ0\theta_0θ1\theta_1θ2\theta_2的值已经确定,θ=\theta= [θ0θ1θ2]\begin{bmatrix}\theta_0\\\theta_1\\\theta_2\end{bmatrix},则θTx=3+x1+x2\theta^Tx=-3+x_1+x2。根据上一张图的总结可以知道,当θTx0\theta^Tx\ge0时,即θTx=3+x1+x20\theta^Tx=-3+x_1+x_2\ge0,预测y=1的概率大于0.5。
在图中画出x1+x2=3x_1 + x_2 = 3的直线,这条直线就是决策边界。决策边界上方区域,假设函数预测y=1;下方区域,假设函数预测y=0。

决策边界是假设函数的属性,决定于其参数,他不是数据集的属性。使用训练集来确定参数的取值,一旦有确定的参数值,决策边界也就确定了,这时候我们不需要通过绘制训练集来确定决策边界。如下面第二张图。 吴恩达机器学习笔记(六)
吴恩达机器学习笔记(六)

面对更复杂的数据,可以添加额外的高阶多项式项。
吴恩达机器学习笔记(六)
需要注意的一点是,尽管没有绘制数据,只要给定了参数向量θ\theta,决策边界就确定了。我们用训练集来拟合参数θ\theta,但一旦有了θ\theta,决策边界就确定了。(在拟合好θ\theta之前,是不知道需要多少个多项式的)
吴恩达机器学习笔记(六)

6.4 代价函数(Cost function)

根据之前线性回归模型的代价函数,将12(hθ(x(i))y(i))2\frac{1}{2}(h_\theta(x^{(i)}) - y^{(i)})^2改写为Cost(hθ(x(i)),y)Cost(h_\theta(x^{(i)}) , y)
由于hθ(x)=g(θTx)h_\theta(x) = g(\theta^Tx)是非线性函数,如果把这个Sigmoid函数代入Cost项,再将Cost项代入代价函数,会得出一个非凸函数,如左图所示。如果把梯度下降函数用在这个函数,不能保证梯度下降函数会收敛到全局最优解。
右图是我们所希望的代价函数J(θ)J(\theta)是一个凸函数。

hθ(x)h_\theta(x)是假设函数,对给定特征的预测,y是实际值,对于分类问题,y只取0或1。
Cost(hθ(x(i)),y)Cost(h_\theta(x^{(i)}) , y)是代价函J(θ)J(\theta)中的项,
J(θ)J(\theta)是这些Cost(hθ(x(i)),y)Cost(h_\theta(x^{(i)}) , y)的和。
吴恩达机器学习笔记(六)

所以我们需要找另一个代价函数J(θ)J(\theta),在Sigmoid函数代入后,仍为凸函数。下图是一个用在logistic回归的代价函数。这个代价函数的含义:预测值为hθ(x)h_\theta(x),这个值在y=1中的代价为log(hθ(x))-log(h_\theta(x));在y=0中的代价为log(1hθ(x))-log(1 - h_\theta(x))
y=1的代价函数图像:
吴恩达机器学习笔记(六)

对图像的解释:假设hθ(x)h_\theta(x)预测值为0.2,而y的值为1,我们的预测是错误的,那么我们会用非常大的代价值惩罚这个学习算法;预测值越接近1(即越准确),代价值会越来越小。
吴恩达机器学习笔记(六)

横轴为预测值,纵轴为代价函数值。

y=0的代价函数图像:
吴恩达机器学习笔记(六)

对图像的解释:预测值越接近0,代价函数值越小。

log Z 函数图像如蓝线所示,由于hθ(x)h_\theta(x)函数的值只能取到01,所以只需要关注01范围的图像。在Cost(hθ(x),y)Cost(h_\theta(x),y)的值中取了负号,所以图像是以x轴对称的,如粉线所示。
吴恩达机器学习笔记(六)

log函数可以把指数变为线性,用在这个代价函数中去掉了指数化带来的影响。 log没有底数就是ln自然对数。
log没有底数就是ln自然对数。

6.5 简化代价函数与梯度下降(Simplified cost function and gradient descent)

为了让Cost(hθ(x(i)),y(i))Cost(h_\theta(x^{(i)}) , y^{(i)})函数更紧凑,改写为蓝字部分。这样改写并不会改变原式。看粉字和红字的解释。
吴恩达机器学习笔记(六)

新的代价函数J(θ)J(\theta)。我们需要找出让J(θ)J(\theta)取得最小值的参数θ\theta,用这组参数θ\theta输出新样本的预测值。

p(y=1x;θ)p(y=1 | x;\theta) : 在给定特征x和参数θ\theta的情况下,预测的y=1的概率。
吴恩达机器学习笔记(六)

为了拟合参数θ\theta,我们需要用到梯度下降算法。通过不断更新θ\theta来使得J(θ)J(\theta)的值最小。
吴恩达机器学习笔记(六)

6.6 高级优化(Advanced optimization)

梯度下降算法:
吴恩达机器学习笔记(六)
其他算法及其优点:①不需要人工选择学习速率;②收敛速度一般比梯度下降算法快。
缺点:复杂
吴恩达机器学习笔记(六)

6.7 多元分类:一对多(Multi-class classification:One-vs-all)

将n分类问题分成n个二分类问题。
吴恩达机器学习笔记(六)
对n个二分类问题拟合好n个θ\theta后,将需要预测的样本分别输入到这n个假设函数中,选取最大输出值所属的类别。
吴恩达机器学习笔记(六)

相关文章:

  • 2021-07-31
  • 2021-11-23
  • 2021-07-04
  • 2021-11-30
  • 2022-01-05
  • 2021-05-28
  • 2021-12-21
  • 2021-08-13
猜你喜欢
  • 2021-11-17
  • 2021-07-18
  • 2021-04-06
  • 2021-05-30
  • 2021-06-04
  • 2021-06-30
相关资源
相似解决方案