机器学习笔记 - 入门 (2)

首先我们需要一个假设函数,在图中(左上)的数据(红叉)大概能看出用一元函数(一条直线)就能拟合(用一元函数还有一个原因是入门简单),因此我们使用下图的函数作为假设函数。

假设函数(hypothesis ):这个函数是对训练模型的一个假设,需要根据训练数据的特征数量来确定假设函数(线性回归中是多元函数)是几元的。

线性回归假设函数例子

 

其中,函数的元数代表了输入特征的数量,  θ(theta)代表了每个特征的权重。θ0比较特殊,它被称为偏置量

 

有了假设函数后,我们随机初始化它的权重。比如 theta0 = -1theta1 = 2,那么我们的假设函数会被初始为h = 2 * x - 1,是不是相当的简单。

 

初始化出来的假设函数肯定预测能力很差,我们就需要一个标准来判断假设函数的预测能力。在线性回归中我们使用最小二乘损失函数(如下图)来评估它的预测能力,这个用来评估的函数被称之为损失函数(loss)或者代价函数(cost)

机器学习笔记 - 入门

其中,m代表训练数据的数量,h(x)代表假设函数的预测值,y代表训练数据的标签(正确值)。函数就是把数据集的每一条数据的预测值正确值的差距做平方,把得到的值求和,再除以数据量的两倍。

 

 

  

机器学习笔记 - 入门

          

机器学习笔记 - 入门

 

这个线性回归的代价函数大概是上左图这样,代价函数是衡量模型好坏的标准,那么我们让模型变好的方法就是找到代价函数的最小值局部最小值。 我们刚才初始化的假设函数h = 2 * x - 1,如果用这个代价函数进行计算,会得到一个比较大的值。说明现在的模型很差,怎么办呢?

我们就需要用梯度下降算法来解决这个问题。想法就是,对代价函数中的每个权重求偏导,偏导在这个点(目前的权重值)的值是正的,说明函数沿着这个这个方向递增,需要减小这个权重值。偏导是负的,则需要加上这个权重值。然后批量对每个权重进行更新,最终得到我们的最优解局部最优解。下面则是这个算法的公式:

机器学习笔记 - 入门

θj代表当前的权重值,α代表学习率,α后面是偏导函数

 

得到最优解后,我们的权重向量会到达左上图的最低点,也就是右上图(等高线图)中的红叉位置。将权重带入假设函数,就得到了我们的训练结果。

 

 

 

由于刚刚开始写博客,机器学习也刚入门,有错误的地方请多多指教。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzdsyj.html