吴恩达《机器学习》笔记——第四章《多元线性回归》

4.1 Multiple features/variables(多特征/变量)

记号(Notation):
n n n:number of features/variables(特征/变量数)
x ( i ) x^{(i)} x(i):input (features) of i t h i^{th} ith training examples(第 i i i个训练样本)
x j ( i ) x_j^{(i)} xj(i):value of feature j j j in i t h i^{th} ith training examples(第 i i i个训练样本的第 j j j个特征)

h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + ⋯ + θ n x n h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2+\dots+\theta_nx_n hθ(x)=θ0+θ1x1+θ2x2++θnxn,为了便利,定义 x 0 = 1 x_0=1 x0=1 x = ( x 0 , x 1 , x 2 , … , x n ) T x=(x_0,x_1,x_2,\dots,x_n)^T x=(x0,x1,x2,,xn)T θ = ( θ 0 , θ 1 , θ 2 , … , θ n ) T \theta=(\theta_0,\theta_1,\theta_2,\dots,\theta_n)^T θ=(θ0,θ1,θ2,,θn)T,则 h θ ( x ) = θ T x h_\theta(x)=\theta^Tx hθ(x)=θTx,称为多元线性回归(Multivariate linear regression)。

4.2 Gradient descent for multiple variables(多元梯度下降法)

假设函数:* h θ ( x ) = θ T x = θ 0 + θ 1 x 1 + θ 2 x 2 + ⋯ + θ n x n h_\theta(x)=\theta^Tx=\theta_0+\theta_1x_1+\theta_2x_2+\dots+\theta_nx_n hθ(x)=θTx=θ0+θ1x1+θ2x2++θnxn

参数: θ 0 , θ 1 , θ 2 , … , θ n \theta_0,\theta_1,\theta_2,\dots,\theta_n θ0,θ1,θ2,,θn

代价函数: J ( θ ) = J ( θ 0 , θ 1 , θ 2 , … , θ n ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)=J(\theta_0,\theta_1,\theta_2,\dots,\theta_n)=\frac{1}{2m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2 J(θ)=J(θ0,θ1,θ2,,θn)=2m1i=1m(hθ(x(i))y(i))2

还是和单变量的线性回归一样进行求导,只不过这次是多变量线性回归。不嫌麻烦可以对每个变量进行求导;简单方法是对向量求导。(求导很简单,没啥需要讲的。)

4.3 Gradient descent in practice I:Feature Scaling(多元梯度下降法演练1:特征缩放)

这一节讲的内容的目的是加快梯度下降算法的收敛。

Feature Scaling。Idea:Make sure features are on a similar scale。Get every feature into approximately a − 1 ≤ x i ≤ 1 -1\leq x_i\leq1 1xi1。方法:将特征除以训练集中该特征的最大值。

Mean normalization。Replace x i x_i xi with x i − μ i x_i-\mu_i xiμi to make features have approximately zero mean (Do not apply to x 0 = 1 x_0=1 x0=1),其中 μ i \mu_i μi是训练集中特征 x i x_i xi的平均值,最后再除以 x i x_i xi的范围。用数学表达式就是: x i ← x i − μ i s i x_i\leftarrow \frac{x_i-\mu_i}{s_i} xisixiμi,其中 s i s_i si x i x_i xi的范围,范围是指最大值减去最小值,也可以把 s i s_i si设置为 x i x_i xi的标准差。

以上两个缩放不需要太精确,只是为了让梯度下降法的速度更快一点儿。

4.4 Gradient descent in practice II:Learning rate(多元梯度下降法演练2:学习率).

建议:每次迭代输出代价函数值。

如果梯度下降算法不能正常工作(代价函数值变大或者代价函数值来回横跳),则可以尝试使用更小的学习率 α \alpha α

对于足够小的 α \alpha α,代价函数每次迭代都会下降;但是如果 α \alpha α太小,收敛会变慢。

4.5 Features and polynomial regression(特征和多项式回归)

这一节只是简单提了一下利用现有特征的运算(加减乘除)构造新的特征和多项式回归,没啥好说的。

4.6 Normal equation(正规方程)

分析地求解线性回归的 θ \theta θ,这一节就是在讲最小二乘法。

Normal equation:method to solve for θ \theta θ analytically。

m m m个训练样本 ( x ( 1 ) , y ( 1 ) ) , … , ( x ( m ) , y ( m ) ) (x^{(1)},y^{(1)}),\dots,(x^{(m)},y^{(m)}) (x(1),y(1)),,(x(m),y(m)) n n n个特征。
x ( i ) = ( x 0 ( i ) , x 1 ( i ) , x 2 ( i ) , … , x n ( i ) ) ∈ R n + 1 x^{(i)}=(x_0^{(i)},x_1^{(i)},x_2^{(i)},\dots,x_n^{(i)})\in R^{n+1} x(i)=(x0(i),x1(i),x2(i),,xn(i))Rn+1,则 X = [ x ( 1 ) x ( 2 ) ⋮ x ( m ) ] X= \begin{bmatrix} x^{(1)} \\ x^{(2)} \\ \vdots \\ x^{(m)} \end{bmatrix} X=x(1)x(2)x(m) y = [ y ( 1 ) y ( 2 ) ⋮ y ( m ) ] y= \begin{bmatrix} y^{(1)} \\ y^{(2)} \\ \vdots \\ y^{(m)} \end{bmatrix} y=y(1)y(2)y(m),利用最小二乘法或者是根据对代价函数求导,得到 θ = ( X T X ) − 1 X T y \theta=(X^TX)^{-1}X^Ty θ=(XTX)1XTy注:利用正规方程,不需要进行特征缩放。

上述涉及到矩阵求逆。当现实任务中 X T X X^TX XTX往往不是满秩矩阵。例如特征(变量)数远远超过样本数,导致 X X X的列数多于行数, X T X X^TX XTX显然不满秩。此时可以解出多个解,它们均能使代价函数最小化。选择哪一个解作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化(regularization)项。

梯度下降法和正规方程各自的优缺点。梯度下降法:需要选择学习率 α \alpha α;需要多次迭代;当训练集样本数大的时候表现好(速度快)。正规方程:不需要学习率 α \alpha α;不需要迭代;但是当训练集样本数大( n ≥ 10000 n\geq10000 n10000)的时候慢(因为这时候矩阵 X X X规模大)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值