机器学习三要素
1模型
模型其实就是一个函数,所谓的学习过程就是指从一个带参数的函数族中,选择一个函数使得从输入空间到输出空间的映射的误差最小。模型主要分为线性模型和非线性模型。
线性模型的数学表达长这个样子:,参数θ包括了权重w和偏置b。
非线性模型长这个样子:,其中是多个非线性基函数的线性组合,如果本身为可学习的函数,那这个就是我们所说的神经网络的数学表达式了。
2学习准则
一个好的模型在输入空间到输出空间的映射应该与真实映射函数差距越小越好。这个差距我们用损失函数来描述,下面就是一些常用的损失函数。
最简单的就是0-1函数啦,预测对就为0,预测错就为1。但是0-1函数不连续,且导数为0,难以优化。
平方损失函数就是(预测值-真值)的平方,一般用于回归问题,不用于分类问题。
交叉熵损失函数一般用于分类问题,我们用一个C维的one-hot向量来表示真值标签,模型的输出为一个各维度之和为1的C维向量,那么交叉熵损失函数可以表示为。其中f就是模型的预测输出,y就是真实标签的值。
3优化方法
我们现在有了数据集,有了学习准则,接下来机器学习问题就变成了找到最优模型的优化问题。
梯度下降法是一种最常用的优化方法,首先确定初始参数,然后按照下面这个公式迭代直到收敛就可以了,其中α为学习率。
上面的梯度下降是批量梯度下降,是计算数据集里所有的梯度然后求和再更新参数的。还有一种随机梯度下降法,是对针对数据集里的每一条数据计算一次梯度更新一次参数。小批量梯度下降顾名思义就是从数据集里每次取一个batch来更新参数了。