本人在学习斯坦福大学的机器学习课程,特记录课程概要内容。课程地址: Andrew Ng机器学习课程
多个特征值
多个特征值的线性回归也被称为“多元线性回归”。
下面介绍的公式符号,可以有任意数量的输入变量。
- x(i)j = 第ith个训练集实例中的第j个特征值
- x(i) = 第ith个训练集实例的输入集合(特征值)
- m = 训练集实例个数
- n = 实例的特征值个数
对应多元特征值的假设函数的变形式如下:
hθ(x) = θ0 + θ1x1 + θ2x2 + θ3x3 + ... + θnxn
为了直观的表示这个方程,我们可以将 θ0 作为房子的基本价格,将 θ1 作为每平方的价格, θ2 作为每层楼的价格等等。x1 将是房子的平方数,x2 是房子的楼层数等。
使用矩阵乘法的定义,我们的多元假设函数可以简洁地表示为:
梯度下降实例 I - 特征缩放
我们可以通过使每个输入值在大致相同的范围内来加快梯度下降。这是因为在较小的范围内,θ 会快速下降,而在较大的范围内会缓慢下降,因此当变量非常不均匀时,它会低效地摆动到最佳状态。
防止这种情况的方法是修改输入值的范围,使其大致相同。理想的情况是:
−1 ≤ x(i) ≤ 1
或者
−0.5 ≤ x(i) ≤ 0.5
这些不需要很精确; 我们只是想加快速度。目标是将所有输入值大致分到这些范围。
做到这点的两种技术是特征缩放和均值归一化。特征缩放包括将输入值除以输入值的范围(即最大值减去最小值),使得新值的范围为 1。均值归一化指把输入值减去输入值的平均值,使新输入值的平均值为零。要实现这两种技术,需如以下公式所示调整输入值:
已经证明,如果学习率 α 足够小,则 J(θ) 将在每次迭代时减小。
总结:
- 如果 α 值太小: 收敛缓慢。
- 如果 α 值太大: 每次迭代可能不会减小,从而可能不会收敛。
特征值和多项式回归
我们可以通过几种不同的方式改进特征值和假设函数的形式。
我们可以将多个特征值合成一个。例如,我们可以以 x1x2 合并 x1 和 x2 组成新的特征值 x3 。
多项式回归
如果直线不能很好的拟合数据,我们的假设函数也不需要是一条直线。
我们可以通过使其成为二次,立方或平方根函数(或任何其他形式)来改变假设函数的行为或曲线。
例如,如果我们的假设函数是 hθ = θ0 + θ1x1 ,然后我们可以在 x1 基础上增加特征值,获得二次函数 hθ = θ0 + θ1x1 + θ2x12 或者立方函数 hθ = θ0 + θ1x1 + θ2x12 + θ3x13
在立方函数里,我们可以创建新的特征值 x2 和 x3 , 分别为 x2 = x12 和 x3 = x13
使它成为平方根函数则可以是:
一个重要事情是,如果以这种方式选择特征值,则特征缩放将变得非常重要。
例如,如果 x1 的范围为 1 - 1000 ,那么 x12 的范围将变为 1 - 1000,000 ,x13 的范围将变为 1 - 1000,000,000
网友评论