机器学习基础学习笔记

最小化经验风险函数

目的

用来学习模型参数,具体来说就是先随机初始化模型参数w,然后根据模型表达式所有训练数据的预测输出,将预测值和真实值进行对比,以减小误差为目标来更新模型参数w。这里的误差实际就是刚才所说的经验风险。

损失函数(loss function)

损失函数 是关于模型预测值f(xi)和样本标记值yi的函数,记做:L(f(xi), yi),L是loss的缩写。它用来度量模型在单个样本上预测效果的好坏。
常见的损失函数有:0-1损失函数、绝对损失函数、平方损失函数、对数损失函数。

0-1损失

0-1损失
样本预测值f(xi)等于样本标记值yi,则模型在该样本上的预测损失为0,否则为1.

绝对损失

绝对损失
将样本预测值f(xi)和样本标记值yi差的绝对值作为模型在该样本上的预测损失。

平方损失

平方损失
将样本预测值f(xi)和样本标记值yi差的平方值作为模型在该样本上的预测损失。

总结

三个损失函数中,平方损失用的最多。

经验风险

基本公式

经验风险是模型在训练数据集上的平均损失,用来度量模型在整个训练数据集上预测效果的好坏,数学表达式为:
在这里插入图片描述
经验风险是将每个样本的损失进行求和,然后再除以样本数。自然地,线性回归的经验风险只需要把它的损失函数带入上述公式就可以了。

线性回归的经验风险

在这里插入图片描述
公式右侧的分母多了一个2,这个其实是为了函数求导后形式的简洁而添加的,具体来说就是为了和二次函数求导后出现的常数2进行抵消。

将平方损失直接带入经验风险基本公式得到的是均方误差(mean squared error, 简称MSE),从名字可以知道它的计算方式为:先计算差值,然后平方,最后取均值。所以,线性回归的经验风险是MSE的一半。

公式左侧J(w)表示经验风险是参数向量w的函数;J表示函数的映射关系,其实就是用来表示线性回归经验风险的符号标识。

上面的经验风险(标量求和式)还可以转换成矩阵乘法的形式,线性回归的预测函数既有标量形式又有矩阵乘法的形式,但是他们表达的逻辑是一样的:

在这里插入图片描述
可以看到,行矩阵乘列矩阵等于对应元素乘积的求和式。所以,线性回归的经验风险也可以写成行矩阵乘列矩阵相乘的形式。
在这里插入图片描述

总结

经验风险用来度量模型在整个训练集上的预测效果好坏,而损失函数用来度量模型在单个训练样本上的预测效果好坏。

知道了线性回归的经验风险之后,下一步就是要最小化这个经验风险,并将经验风险最小时的模型参数作为学习到的最佳参数。

这个问题有两种解法,第一种是令经验风险的导数为0;第二种是机器学习中求解模型参数更加通用的一种方法:梯度下降法(gradient descent,简称GD)。

梯度下降

偏导数和梯度

偏导数是相对与多变量函数而言的,例如函数f(w1, w2)对于变量w1求偏导时,是把除w1以外的变量当做常数,然后计算导数。函数f(w1,w2)对w1的偏导记为:
在这里插入图片描述

导数的计算

在这里插入图片描述
注意:复合函数的导数为外层函数的导数与内层函数导数的乘积。

梯度(gradient):其实就是一个向量,一个函数对于其自变量分别求偏导数,这些偏导数所组成的向量就是函数的梯度。

梯度下降的理解

梯度下降法是求解模型参数的常用方法,那为什么是梯度下降呢?梯度实际就是一个向量,向量既有大小也有方向,所谓梯度下降实际上是模型参数的更新方法:沿梯度的负方向进行参数更新
经验风险大多是一个凸函数,它的梯度方向是经验风险增大的方向,我们要最小化经验风险就必须朝着负梯度方向更新参数。

**凸函数定义:**曲线上任意两点的连线都位于曲线的上方。

关于一元二次函数,这个函数的梯度可以看做只有一个元素的向量。

模型参数的更新公式

在这里插入图片描述
公式中的alpha在机器学习中的术语叫做学习率,是一个人为设定的超参数,代表了参数w一次更新的幅度大小;梯度gradient在一元二次函数中为导数的值。

梯度下降的推导

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值