机器学习(Machine Learning,ML)就是让计算机从数据中进行自动学习,得到某种知识(或规律)。 如下图给出了机器学习的基本概念。对一个预测任务,输入特征向量为x,输出标签为y,我们选择一个函数f(x, θ),通过学习算法A和一组训练样本D,找到一组最优的参数θ∗,得到最终的模型f(x, θ∗)。这样就可以对新的输入x进行预测。 (上图引自邱锡鹏的《神经网络与深度学习》) 机器学习任务要先需要根据样本数据来确定其输入空间X 和输出空间Y。不同机器学习任务的主要区别在于输出空间不同,例如二分类、多分类等问题。 输入空间 X 和输出空间 Y 构成了一个样本空间。对于样本空间中的样本(x, y) ∈ X × Y,假定存在一个未知的真实映射函数g : X → Y 使得y = g(x),或存在真实条件概率分布pr(y|x),机器学习的目标是找到一个模型来近似(尽可能去拟合)真实映射函数g(x)或真实条件概率分布pr(y|x),通过学习参数、优化等措施来不断近似。 在进行该类任务时,我们并不知道真实样本空间是什么样子的,所以根据学习的经验形成一个假设函数集合F(也可叫做假设空间),然后根据训练样本在该集合中的表现选择最优的理想假设函数f∈ F。 其中f(x, θ)为假设空间中的模型,θ 为一组可学习参数,m为参数的数量。 一般假设空间分为线性和非线性两种,对应的函数模型为线性和非线性模型。
线性模型的假设空间为参数化的线性函数族,定义如下 其中参数θ 包含了权重向量w和偏置b。
广义的非线性模型可以写为多个非线性基函数ϕ(x)的线性组合,定义式如下 其中ϕ(x) = [ϕ1(x), ϕ2(x), · · · , ϕK(x)]T 为K个非线性基函数组成的向量,参数θ包含了权重向量w和偏置b。 如果ϕ(x)本身为可学习的基函数,比如 其中h(·)为非线性函数,ϕ′(x)为另一组基函数,wk和bk为可学习的参数,则f(x, θ)就等价于神经网络模型。 区分模型的种类是看是否存在非线性函数作用在样本数据上。 训练集和测试集的样本都应该是独立同分布(Identically and Independently Distributed,IID),即每个样本(x, y) ∈ X × Y 是从X 和 Y 的联合空间中按照某个未知分布 pr(x, y) 独立地随机产生的。
损失函数是一个非负实数函数,用来量化模型预测和真实标签之间的差异,通常通过损失函数值的大小可以判断一个模型的好坏。
其中I(·)是指示函数。 0-1损失函数的优缺点:比较直观。但是不连续且导数为0,不能进行优化操作,因此出现了连续可微的损失函数进行替代。
一般用在预测任务中,分类问题不适用。
一般用于分类问题中。假设样本的标签y ∈ {1, · · · C}为离散的类别,模型f(x, θ) ∈ [0, 1]C 的输出为类别标签的条件概率分布,即 并满足 对于两个概率分布,一般可以用交叉熵来衡量它们的差异。标签的真实分布y和模型预测分布f(x, θ)之间的交叉熵为 比如对于三类分类问题,一个样本的标签向量为y = [0, 0, 1]T,模型预测的标签分布为f(x, θ) = [0.3, 0.3, 0.4]T,则它们的交叉熵为 因为y为one-hot向量,上述交叉熵公式也可写为以下方式 其中fy(x, θ)可以看作真实类别y 的似然函数。因此,交叉熵损失函数也就是负对数似然损失函数。
经验风险最小化是指寻找一组参数使模型在训练数据的平均损失达到最小值,然而在寻找最小值的过程中可能会导致过拟合的问题,即模型在训练数据表现良好,而在测试数据时错误率很高。过拟合一般是由于数据量太小、数据包含噪声太大或模型结构等问题,为了解决过拟合的问题,就引入正则化(Regularization),形成结构风险最小化准则。 与过拟合相反的是欠拟合,指模型解决任务的能力不高,结构太弱,导致在训练数据集上的错误率较高,不能很好地拟合样本数据。 总之,机器学习中的学习准则并不仅仅是拟合训练集上的数据,同时也要使得泛化错误最低。
为了充分利用凸优化中一些高效、成熟的优化方法,比如共轭梯度、拟牛顿法等,很多机器学习方法都倾向于选择合适的模型和损失函数以构造一个凸函数作为优化目标。但也有很多模型(比如神经网络)的优化目标是非凸的,只能退而求其次找到局部最优解。 在机器学习中,最常用的优化算法有梯度下降法、提前停止法、随机梯度下降等方法。
本文学习笔记 参考邱锡鹏的《神经网络与深度学习》