[机器学习] 第一课01笔记

来源:互联网 发布:flex java 做什么的 编辑:程序博客网 时间:2024/06/15 01:58

老师给出了房价与房子面积、卧室数量的一组实际样本。

目的是让监督学习算法预测给定的一组数据(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



即可直接由输入得出参数


0 0
原创粉丝点击