1.Multiple Features
当有多个特征值的时候:
这时候,我们的假设函数应修改为
为了结构统一,我们假设
这样子,变量就向量化了。注意x和theta都是n+1维向量。
新的梯度下降算法:
Feature Scaling(特征缩放)
如果特征值的范围大小相差太大,那么用梯度下降会面临很糟糕的情况,想象一下,如果只有theta0和theta1,这两个变量的取值范围相差1000倍,那么最终画出来的代价函数J的轮廓图,会呈现出一种非常偏斜,瘦长的形状,如果用这个代价函数来运行梯度下降的话,最终可能会花费大量时间才收敛到全局最小值。因此我们想到了特征缩放做法。
α 学习速率(Learning’rate)
- 如果 α 太小,则梯度下降法会收敛缓慢
- 如果 α 太大,则梯度下降法每次迭代可能不下降,最终导致不收敛
Features and polynomial regression
除了线性回归外,我们也能采用多项式回归
我们可以将多个特性组合成一个,比如X1,X2,组合成一个新特性X3,方法是X3=X1*X2。
如果多项式回归不能很好地拟合数据,我们的假设函数不必是线性的,我们可以将假设函数变成二次函数、三次函数、平方根函数或任何其他形式。
正规方程(Normal Equation)
对于某些线性回归问题 ,给出了一个更好的方法求出参数 θ 的最优解。具体而言,到目前为止,我们一直在使用的线性回归的法是梯度下降法 就是说 为了最小化代价函数 J(θ),我们使用的迭代算法需要过多次迭代来收敛到全局最小地 正规方程法提供了一种求θ 的解析解法所以与其使用迭代算法,我们可以直接一次性求解θ的最优值。我们把J(θ)看作拥有n+1维参数θ的函数,为了使J(θ)最小,我们可以利用微积分原理,当导数为0时求得J得最小值。
因为J的参数是多维的,我们需要从θ0到θm挨个求偏导,使其为0,这样会求出一组θ0到θm的值使J最小。
下面是一个例子:
这里注意每个 展开写的
,,,其中
是我们手动添加的,值为1!!!!!
对于 不可逆的情况下,(利用线性代数知识,什么情况不可逆呢?找出原因)我们可以采取减少特征量和使用正规化方式来改善。
下面是梯度下降和正规方程的比价: