吴恩达机器学习笔记——四、多元线性回归
1 符号定义
m:训练集的样本个数
n:特征的数量
x(i):第i个训练样本的特征向量
xj(i):第i个训练样本的第j个特征
2 多元线性回归的定义
因特征数不止一个,则此时我们的假设函数变为:
其中x和θ可以写作向量格式hθj(x) = θTx
3 梯度下降法确定参数θ
发现算法和单特征的线性回归差别并不大
4 特征缩放
当两个特征取值的范围差别很大时(什么时候算差距很大由自己经验来定),比如北京的房价和房子所处位置为几环,那么绘制出的等高线会是非常椭的椭圆,在这样的模型上使用梯度下降,会使θ的取值呈震荡式前进:
如果进行特征缩放,等高线图就会近似为圆,学习速度将会加快,我们缩放的方法有多种,常用方法有:
- 同时除以该特征取到的最大值;
- 同时减去该特征的平均值,再同时除以该特征的最大值与最小值之差;
- 同时减去该特征的平均值,再同时除以该特征取到的最大值;
5 学习率
当遇到以下情况时,请使用较小的学习率α值
学习率要尝试,直到找到较好的,收敛较快的学习率值,一般从较小的α开始,逐渐增大。
6 特征合并和多项式回归
6.1 特征合并
当有两个特征进行组合可以得到新的特征时,不妨用新特征去表示这两个特征,比如可以用面积来表示物体的长和宽,这样可以减少特征数量。
6.2 多项式回归
当单特征回归的特征点呈这样的分布时
我们可以用二次或者三次函数来回归,此时重新定义两个特征x1, x2,就可以将单特征的非线性回归转化为多元线性回归问题。
当然,也可以使用这用方程来拟合数据:
注意:此时特征缩放变得尤为重要。
学到这里可能感觉该如何选取特征是一件很玄学的事情,有好多种特征选取方案来拟合不同的方程,往后的课程将会学习用来选择合适的特征的算法。
7 正规方程
7.1 步骤
-
对于已有训练集,增加一组x0=1的数据,将所有样本的所有特征组成一个特征矩阵X,X维度为m*(n+1),y的维度为m*1;
-
则按下式即可计算得可以令代价函数J最小化的θ向量。
7.2 优点
- 不用选择学习率
- 不用多次迭代
7.3 不足
- 当n很大(特征数量大于一万时)计算起来会很慢,而此时梯度下降法反而较快。
- 计算矩阵转置成绩的逆时间复杂度为O(n3)
7.4 如果矩阵不可逆该如何求解正规方程
在octave软件中使用pinv()命令即可,不论矩阵可不可逆
- 当1. 特征间彼此相关或者 2. 特征数量太多(多于训练样本数)时会出现不可逆的情况。
- 也可以使用正则化(Regulation)的方法来解决,以后课程会讲解。
8 用向量表达
8.1 对h(x)的表示
8.2 对θ的更新
θ = θ - α·δ
其中 :
θ = [θ0, θ1, θ2, …, θn]T
α是常数,学习率
δ = [δ0, δ1, δ2, …, δn]T
- x(i):第i个训练样本的特征向量
- xj(i):第i个训练样本的第j个特征