线性回归之向量化 linear regression -- vectorization
在线性回归中,通过梯度下降不停的迭代以减少代价函数
的值,来拟合出一个效果较好的模型。代价函数如下所示,其中:数据集为m个样本,n个特征。
先看
,在matlab / octave中,我们完全可以把它转化为矩阵运算,而不用使用for循环去解决。因此:对于m个样本n个特征的数据集来说:
因此:
。
所以
,这样在matlab/octave中就可以很方便的利用矩阵运算来求解。
再来看梯度下降,求解
。拿n=2来举例,梯度下降公式为:
注意:
要同时更新。上述公式也可以向量化:
,其中:
再看矩阵
里的元素又可以写成矩阵相乘的形式:
.
因此
。然后设置学习率
和迭代次数就可以求出最优参数。
本文探讨了如何在Matlab/Octave中实现线性回归的向量化操作,避免使用for循环来提高效率。文中详细介绍了如何将梯度下降算法转化为矩阵运算形式,并给出具体的向量化公式。
428

被折叠的 条评论
为什么被折叠?



