支持多变量的假设 表示为:
这个公式中有n+1个参数和n个变量,为了使得公式能够简化一些,引入x0=1,则公式转化为:
此时模型中的参数是一个n+1维的向量,任何一个训练实例也都是n+1维的向量,特征矩阵X的维度是m*(n+1)。 因此公式可以简化为:,其中上标代表矩阵转置。
其他部分跟单变量差不多,直接到关键求θ
一.多变量梯度下降
下图右下角则是推广
两个地方需要注意:
1.学习率的选择:
过大显然不能很好地到达底部,提醒应该用更小的学习率
2.特征缩放
特征值的范围会不同,有的很大,有的很小,等高线图就显得很畸形,我们就很难获得想要的θ
处理方法:解决的方法是尝试将所有特征的尺度都尽量缩放到-1到1之间。如图:
例子:
二.正规方程
1.最小二乘法(适用于少变量的时候使用,求偏导为0)
前面单变量线性回归的文章有涉及解释
2. 多变量时,用矩阵方式求解方便
不用考虑XTX是否可逆
因为我们提供的条件往往不会有线性关系,即依赖性,有的话我们可以将其中一个剔除掉
这里的θ是表示(n+1)*1列向量
令上式为0则可解得 欧米卡 跟公式的 斯塔 一样 代表的是向量
下面用到了手写证明方法,更形象,但需要了解迹运算和导数的一些结论
机器学习中迹运算符和导数的一些结论:https://mp.csdn.net/mdeditor/100176845#
矩阵,向量求导法则:https://mp.csdn.net/mdeditor/89504723#
梯度下降与正规方程的比较:
梯度下降/正规方程: