4.1 多功能

注意:n 代表特征的数量
x(i)x^{(i)}代表第i个训练样本的特征向量
xj(i)x^{(i)}_j代表第i个训练样本中第j个特征的值

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

θ\theta的转置矩阵与训练集样本值的矩阵相乘,在训练集中加多一行样本x0x_0,其中值都为1,与θ0\theta_0相乘

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

4.2 多元梯度下降

下图中J(θ)J(\theta)中的θ\theta代表向量。

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

对 j个θ\theta求偏导

x0(i)x_0^{(i)}的值均为1

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

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

4.3 多元梯度下降法–特征演练

假设现在有两个特征值,但x1x_1的取值范围远大于x2x_2的取值范围的话,最终画出来的代价函数J(θ)J(\theta)的等值线会呈现出如左图的歪斜的椭圆形状,所以梯度可能来回波动且需要更长的时间找到最优点。下图使用的方法是特征缩放中的一种,即将特征除以最大值

我对画出来的是歪斜的椭圆的理解

  因为h(θ)=θ0x0+θ1x1+θ2x2h(\theta) = \theta_0 x_0 + \theta_1 x_1 + \theta_2 x_2,x1x_1的值的范围远大于x2x_2的范围,θ1\theta_1是与x1x_1相乘的,所以当θ1\theta_1有很小的变化时,也会导致h(θ)h(\theta)有较大的变化,从而θ2\theta_2需要有较大的值的变化,才能使得h(θ)h(\theta)θ1\theta_1变化前相同,即J(θ)J(\theta)相同。

例子
x1=2000,x2=1,θ0=0.01x_1 = 2000, x_2 = 1, \theta_0 = 0.01
变化前:
θ1=0.02,θ2=0.01\theta_1 = 0.02, \theta_2 = 0.01
所以h(θ)=40.02h(\theta) = 40.02
变化后:
需要使得h(θ)=40.02h(\theta) = 40.02
所以θ1=0.01,θ2=2001\theta_1 = 0.01, \theta_2 = 2001

提问:为什么左图的梯度路线是歪歪曲曲的,右图是平缓的直线?
答: 因为x1和x2的量纲不一样。左图虽然最终也可以到达最低点,但是效率很低。
提问:θ1的跨度为什么比θ2的跨度大?
答:根据假设函数h(θ)=θ0x0+θ1x1+θ2x2h(\theta) = \theta_0 x_0 + \theta_1 x_1 + \theta_2 x_2,在梯度下降的求导中,对θ1\theta_1求偏导,结果是x1x_1,x1x_1的范围非常大;对θ2\theta_2求偏导,结果是x2x_2,x2x_2的值非常小。

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

特征缩放的另一种方法:均值归一化。分母可以是max、max-min或者标准差s
吴恩达机器学习笔记(四)

4.4 多元特征梯度下降–学习率

左图的x轴是迭代次数,y轴是损失函数的值,该曲线图表示出迭代n次之后损失函数值的变化。
有时候可以通过自动的收敛测试(算法)来告诉梯度下降算法是否已收敛。右图为某种收敛算法,即当J(θ)J(\theta)小于某个值的时候判断为收敛。
但andrew认为选择这个合适的阈值是很困难的,所以一般还是通过左图的曲线图来判断。

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

选择了一个足够小的学习率,那么每次迭代之后的代价函数J(θ)J(\theta)都会下降。所以如果代价函数值没有下降,可能是学习率过大。但是学习率过小的话,梯度下降可能收敛得很慢。

尝试不同的学习率的值,并绘制J(θ)J(\theta)随迭代次数变化的曲线,然后选择使J(θ)J(\theta)快速下降的学习速率。

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

4.5 特征和多项式回归

有时通过定义新的特征,可能会得到一个更好的模型。下图讲述了从两个不同的角度定义模型:①以长和宽的长度为变量;②以面积为变量

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

与选择哪些特征密切相关的一个概念是多项式回归(polynomial regression)
直线不能很好地拟合这些数据;当用二次函数拟合数据的时候,你会发现二次函数也不能很好地拟合,因为二次函数最终会降下来(虚线所示);使用三次函数发现能较好地拟合,因为三次函数最终不会降下来。
将房子的面积设为变量,将x1设为房子的面积,x2x_2设为房子面积的平方,x3x_3设为房子面积的三次方,以满足一次、二次和三次模型。(所以特征归一化尤为重要)
**补充:**特征不足,可能导致模型的拟合能力不够。增强模型拟合能力:把模型变得更复杂,方法之一是增加特征。创造特征:x2x3x^2 、x^3…… 不知道需要多复杂的模型才能更好地拟合,就不断把模型变复杂,看哪个模型拟合地最好,就选哪个模型。

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

4.6 正规方程(区别于迭代方法的直接解法)

如果对每个θ\theta求偏导,当特征数量多起来,这个些偏微分可能会很复杂。
(下图应为 J(θ0,θ1,...θn)J(\theta_0,\theta1,...,\theta_n)

n为特征数量,m为数据个数

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


—分割线—


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

下图的X的转置矩阵上下标写反了,应为xm(1)x_m^{(1)}应为x(1)mx_{(1)}^m

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

梯度下降vs正规方程
当特征数量大于10000时,开始考虑使用梯度下降法。

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

$O(n^3) : 实现逆矩阵计算的时间代价,以矩阵维度的三次方增长。

相关文章: