多变量线性回归

模型描述

问题:房价预测(多变量线性回归)

把房子的大小、房间的数量、楼层数和房龄作为输入变量x(x_1,x_2,x_3,x_4),输出房子的预测价格(y)

假设函数:h(x)=θ_0+θ_1 x_1+θ_2 x_2+θ_3 x_3+θ_4 x_4

可以由此推导出多变量线性回归的假设函数:h(x)=θ_0+θ_1 x_1+θ_2 x_2+…+θ_n x_n

为了简化函数,设x_0=1,即任意第i个样本都有特征量x_0x_0^{(i) }=1

x=   \begin{bmatrix}  x_0 \\\     x_1 \\\      \cdots \\\    x_n  \end{bmatrix}       \theta=   \begin{bmatrix}  \theta_0 \\\    \theta_1 \\\    \cdots \\\    \theta_n  \end{bmatrix}

输入变量x和参数θ均为n+1维向量

h(x)= θ^T x


符号定义

n -- 输入变量的个数

x^{(i)} -- 第i个训练样本(特征向量)

x_j^{(i)} -- 第i个训练样本中第j个特征量的值


多元梯度下降

代价函数:

 J(\theta)=\frac{1}{2m} \sum_0^m (h{(x^{(i)})}-y^{(i)})^2

梯度下降算法定义:

repeat{

\theta_j := \theta_j - \alpha {\frac{∂}{∂\theta_j}} J(θ)(j = 0,1,2,...,n)

}

多变量梯度下降:

repeat{

\theta_j := \theta_j - \alpha \frac{1}{m} \sum_0^m (h{(x^{(i)})}-y^{(i)})·(x_j^{(i)})(j = 0,1,2,...,n)

}


梯度下降的特征缩放

目的:将特征的取值约束到[-1,+1]范围,让梯度下降更快

解决的问题:当不同特征值的范围相差很大或很小时,执行梯度下降的效率不高,耗费时间更多

例子:

0≤x1 ≤3 不需缩放

-2≤x2 ≤0.5 不需缩放

-100≤x3 ≤100 需要缩放

−0.0001≤x4 ≤0.0001 需要缩放

缩放方法:x_i = \frac{x_i-u_i}{s_i}

u_i 表示平均值,S_i 表示范围


学习率

合适的学习率的选择能极大提高梯度下降的效率,通常按如下规律测试α的值:

…,0.001,0.003,0.01,0.03,0.1,0.3,1,…

再根据损失函数-迭代次数图像判断α是否合适


曲线意味着梯度下降没有正常工作,通常需要缩小学习率的值


这样的曲线也要缩小学习率的值

正规方程法

正规方程提供了一种求θ的解析解法,可以一次性求解θ的最优值

假设有4个训练样本,每个样本包含4个特征变量,如下图所示:

x_0=1

同多元梯度下降一样,我们设x_0=1,即任意第i个样本都有特征量x_0x_0^{(i) }=1

可以构建矩阵X和向量yX是m*(n+1)维矩阵,y是m维向量,其中m是训练样本数,n是特征变量数,则有如下结论:

最小化θ=(X^T X)^{(−1)} X^T y

正规方程在不可逆情况下的解决办法:

1.删除存在线性关系的特征变量

2.减少特征变量个数

正规方程和梯度下降的比较

当特征变量n个数超过一万时,效率不高可能会得到体现,倾向于选择梯度下降

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容