老师给出了房价与房子面积、卧室数量的一组实际样本。
目的是让监督学习算法预测给定的一组数据(size,#benrooms),预测输出y为房子对应房价。
线性回归
给定一个预测函数
参数θ 既我们现在需要算法最终确定的值(目前理解)
那么我们如何选择参数的值?为了让h(x)逼近给定的样本y,定义一个cost function(成本函数):
老师的课上并未说明是如何得到此j,经查资料终于理解,记录如下:
我们假设,误差满足正态分布
所以要使误差最小,再线性回归中取均方差最小 既
故,我们为了取得一个θ 使得j(θ)的值最小,可以使用梯度下降的方法(gradient descent)。
对于单个样本:
推广到m个样本的情况:
还有一种方法叫做 随机梯度下降(stochastic gradient descent)
在极大训练数据条件下,收敛效率高于所有样本采样的梯度下降(叫啥来着:批量梯度下降)
2、矩阵的迹 和 矩阵导数
对于f(a)来说,他将 一个mxn的矩阵映射到一个实数R上,则 导数f(A)为一个mxn的矩阵,被定义为所有矩阵元素对于f的偏导数
例如:对于一个f(a) 将 2x2的矩阵映射到实数上
则 导数f(a)等于:
矩阵的迹是所有对角线上元素的累加和:
先引入矩阵求导和矩阵的迹 是为了简化后面loss函数求最小值的过程,但先不知道用法。
这里可以把矩阵的迹运算理解为f(x) 既将mxn的矩阵映射到实数的函数,所以可以对其求导
我们给出 输入X,输出Y的矩阵表示模式:
根据
得出
所以 使得j最小,倒数为0
即可直接由输入得出参数