吴恩达机器学习笔记(六)

6.1 分类(Classification)

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

线性回归模型对噪音十分敏感
在这里插入图片描述

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

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

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

例子:肿瘤分类。 x 0 x_0 x0像之前一样指定为1, x 1 x_1 x1是肿瘤的大小(特征变量)。根据拟合参数 θ \theta θ和拟合函数 h θ ( x ) h_\theta(x) hθ(x)得出y=1(患有肿瘤)的概率是0.7。
P ( y = 0 ∣ x ; θ ) + P ( y = 1 ∣ x ; θ ) = 1 P(y=0|x;\theta) + P(y=1|x;\theta) = 1 P(y=0xθ)+P(y=1xθ)=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)

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

图中z= θ T x \theta^Tx θTx
在这里插入图片描述

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

决策边界是假设函数的属性,决定于其参数,他不是数据集的属性。使用训练集来确定参数的取值,一旦有确定的参数值,决策边界也就确定了,这时候我们不需要通过绘制训练集来确定决策边界。如下面第二张图。 在这里插入图片描述
在这里插入图片描述

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

6.4 代价函数(Cost function)

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

h θ ( x ) h_\theta(x) hθ(x)是假设函数,对给定特征的预测,y是实际值,对于分类问题,y只取0或1。
C o s t ( h θ ( x ( i ) ) , y ) Cost(h_\theta(x^{(i)}) , y) Cost(hθ(x(i)),y)是代价函 J ( θ ) J(\theta) J(θ)中的项,
J ( θ ) J(\theta) J(θ)是这些 C o s t ( h θ ( x ( i ) ) , y ) Cost(h_\theta(x^{(i)}) , y) Cost(hθ(x(i)),y)的和。
在这里插入图片描述

所以我们需要找另一个代价函数 J ( θ ) J(\theta) J(θ),在Sigmoid函数代入后,仍为凸函数。下图是一个用在logistic回归的代价函数。这个代价函数的含义:预测值为 h θ ( x ) h_\theta(x) hθ(x),这个值在y=1中的代价为 − l o g ( h θ ( x ) ) -log(h_\theta(x)) log(hθ(x));在y=0中的代价为 − l o g ( 1 − h θ ( x ) ) -log(1 - h_\theta(x)) log(1hθ(x))
y=1的代价函数图像:
在这里插入图片描述

对图像的解释:假设 h θ ( x ) h_\theta(x) hθ(x)预测值为0.2,而y的值为1,我们的预测是错误的,那么我们会用非常大的代价值惩罚这个学习算法;预测值越接近1(即越准确),代价值会越来越小。
在这里插入图片描述

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

y=0的代价函数图像:
在这里插入图片描述

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

log Z 函数图像如蓝线所示,由于 h θ ( x ) h_\theta(x) hθ(x)函数的值只能取到01,所以只需要关注01范围的图像。在 C o s t ( h θ ( x ) , y ) Cost(h_\theta(x),y) Cost(hθ(x),y)的值中取了负号,所以图像是以x轴对称的,如粉线所示。
在这里插入图片描述

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

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

为了让 C o s t ( h θ ( x ( i ) ) , y ( i ) ) Cost(h_\theta(x^{(i)}) , y^{(i)}) Cost(hθ(x(i)),y(i))函数更紧凑,改写为蓝字部分。这样改写并不会改变原式。看粉字和红字的解释。
在这里插入图片描述

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

p ( y = 1 ∣ x ; θ ) p(y=1 | x;\theta) p(y=1x;θ) : 在给定特征x和参数 θ \theta θ的情况下,预测的y=1的概率。
在这里插入图片描述

为了拟合参数 θ \theta θ,我们需要用到梯度下降算法。通过不断更新 θ \theta θ来使得 J ( θ ) J(\theta) J(θ)的值最小。
在这里插入图片描述

6.6 高级优化(Advanced optimization)

梯度下降算法:
在这里插入图片描述
其他算法及其优点:①不需要人工选择学习速率;②收敛速度一般比梯度下降算法快。
缺点:复杂
在这里插入图片描述

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

将n分类问题分成n个二分类问题。
在这里插入图片描述
对n个二分类问题拟合好n个 θ \theta θ后,将需要预测的样本分别输入到这n个假设函数中,选取最大输出值所属的类别。
在这里插入图片描述

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页