吴恩达机器学习(三)——多特征回归及优化

多特征线性回归算法(Multiple features linear regression algorithm)即多元线性回归

  • 1. 理论介绍
  • 2.优化方法
    • 2.1 特征缩放
    • 2.2 调试以及选择合适的学习率
    • 2.3 标准方程法

1. 理论介绍

Notation:
n=Number of features(特征数)

x(i) =input(features) of ith training example(第i个输入的训练特征值)

xj(i) = value of feature j in ith training example(第i个训练样本的第j个特征量)

h θ \theta θ(x) = θ \theta θTx = θ \theta θ0x0+ θ \theta θ1x1+ θ \theta θ2x2+···+ θ \theta θnxn

J( θ \theta θ0, θ \theta θ1,···, θ \theta θn)= 1 2 m \frac{1}{2m} 2m1 ∑ \sum m(h θ \theta θ(x(i))- y(i))2
梯度下降法:
θ \theta θj := θ \theta θj - α \alpha α ∂ ∂ θ \frac{\partial}{\partial\theta} θ J( θ \theta θ0, θ \theta θ1,···, θ \theta θn)

n等于1时 梯度下降的情况:

吴恩达机器学习(三)——多特征回归及优化_第1张图片

当有多个特征时,也就是n大于1时:

吴恩达机器学习(三)——多特征回归及优化_第2张图片

注意m是前面提到的训练样本数。

2. 优化方法

2.1 特征缩放

也就是确定特征在相近区域内,一般缩放在-1~1之间,在这个值附近也可以,比如0 ~3。 另外有时也会做均值归一化,也就是x 1减去范围均值,再进行缩放(或者叫归一,但是这里叫归一的话我个人认为不太准确),也就是除以特征值范围(特征值最大值减去最小值)

2.2 调试以及选择合适的学习率

当函数J( θ \theta θ)随着迭代次数越来越大时或者反复震荡,也就是函数不收敛,说明选的学习率 α \alpha α过大,应该适当减小学习率 α \alpha α
但是学习率 α \alpha α过小的话会导致收敛速度很慢。

2.3 标准方程法

下面比较一下两种方法的优缺点:(m是训练样本数,n是特征数)

梯度下降法 标准方程法
需要选择合适的学习率 不需要选择合适的学习率
需要检查是否收敛 不需要检查是否收敛
n很大时,效果也很好 n很大时(n上万就算很大), (XTX)-1计算量很大,时间复杂度O(n3)很高,

标准方程法 不需要选择学习率;不需要画出迭代曲线,来检查是否收敛
θ \theta θ = (XTX)-1 XT y
在Octave中代码实现:

 pinv(X'*X)*X'*y

你可能感兴趣的:(机器学习,Matlab(Octave),机器学习,吴恩达)