甲骨文认证体系
Vmware认证体系
AWS亚马逊
阿里云认证体系
红帽认证体系
ZStack云计算认证体系
思科认证体系
华为认证体系
CDA数据分析师认证
达梦认证体系
麒麟
定制化课程
模型评估与优化1--基本概念与最优化问题
发布日期:2020-03-31 14:13:15阅读次数:

首先先看一下基本术语和概念
1.数据集的划分
(1)数据集(dataset):在机器学习任务中使用的一组数据。数据集中每一个数据称为一个样本。反映样本在某方面的表现或性质的事项或属性称为特征。
(2)训练集(training data):训练过程中使用的数据集。数据集中每个训练样本称为训练样本。从数据中学得模型的过程称为学习 (训练)。
(3)测试集(testing data):学得模型后,使用其进行预测的过程称为测试,使用的数据集称为测试集,每个样本称为测试样本。
(4)交叉验证集(cross validation data):用于衡量训练过程中模型的好坏。

2.偏差与方差
(1)偏差:衡量算法的期望预测与真实值之间的偏差程度,反映了模型本身的拟合能力。
(2)方差:衡量同等大小的训练集的变动导致模型学习的变化,刻画了数据扰动所导致的影响。
注意:
当模型越复杂时,拟合能力就越好,模型的偏差就越好。但此时如果换一组数据可能模型的变化就会很大,即模型方差变大,将这种现象称为过拟合,所以复杂的模型容易造成过拟合;当模型简单的时候,即使换一组数据,得出的学习器分类效果与之前分类器的效果也不会很大,即模型方差很小,但由于模型过于简单,导致偏差会很大,导致欠拟合。

3.过拟合和欠拟合
(1)欠拟合:模型没有很好地捕捉到数据特征,不能够很好地拟合数据。也就是高偏差,低方差。
(2)过拟合:通俗一点地来说过拟合就是模型把数据学习地太彻底,以至于把噪声数据的特征也学习到了,这样就会导致在后期测试的时候不能够很好地识别数据,即不能正确地分类,模型泛化能力太差。也就是高方差,低偏差。

4.抽样方法
(1)简单随机抽样:在简单随机抽样中,总体所有成员被选为样本的概率是相等的。
(2)分层抽样:将总体分成不同的子群,然后对所有的子层进行随机抽样。
(3)系统抽样:首先将总体中各单位按一定顺序排列,根据样本容量要求确定抽选间隔,然后随机确定起点,每隔一定的间隔抽取一个单位,以得到所需要的样本。
(4)整群抽样:整群地抽选样本单位,对被抽选的各群进行全面调查的一种抽样。例:检验某种零件的质量时,不是逐个抽取零件,而是随机抽若干盒 (每盒装有若干个零件),对所抽各盒零件进行全面检验。

5.凹凸函数
(1)凹集:非凸集。
(2)凸集:若集合中任意两点连线上的点都在该集合中,则称该集合为凸集。
函数的凹凸是由函数“上方”集合的凹凸性决定的,该集合为凸集则该函数为凸函数,相反该集合为凹集则该函数为凹函数。
(3)凸函数:简单理解为在函数图像上任取两点,如果函数图像在这两点之间的部分总在连接着两点的线段上方,则为凸函数。
(4)凹函数:简单理解为在函数图像上任取两点,如果函数图像在这两点之间的部分总在连接这两点的线段的下方,则为凹函数。

关于最优化模型
1.最优化概述
从某种程度上说,我们的世界是由最优化问题组成的。每一天,我们的生活都面临无数的最优化问题:上班怎么选择乘车路线,才能舒服又快速地到达公司;旅游如何选择航班和宾馆,既省钱又能玩地开心;跳槽应该选择哪家公司,钱多、事少、离家近;买房子应该选在哪里,交通发达有学区,生活便利升值快。
可以看出,上面所有的问题都面临无数的选择,我们会根据自己的偏好对每个选择打一个不同的分数,再从所有的选择中找出最优的一个。这个寻求最优解的过程其实就是最优化问题,我们要打的分数就称为目标函数。
最优化方法是机器学习中模型训练的基础,机器学习的很大一部分内容就是通过最优化方法找到最合适的参数,使得模型的目标函数最优。

2.最优化问题
最优化问题的定义:在给定的约束条件下,选择最优的参数和使得目标函数最大化/最小化。
最优化问题的三个基本要素:
(1)目标函数:用来衡量结果的好坏
(2)参数值:未知的因子且需要通过数据来确定
(3)约束条件:需要满足的限制条件
注意:
目标函数必须是凸函数,才能保证优化后获得的最优结果是全局最优而不是局部最优,否则要进行凸优化。

3.非凸函数
在一些最优化问题中很可能遇到复杂且不易求解的目标函数如高阶函数。如下图所示,其可能有多个局部极值点,而我们想找到的只有一个全局最优点。

对于一个复杂函数,找其全局最优点无疑比较困难,在实际工程中可能很难求解,这时我们想将一个复杂的非凸函数转化为一个如下图所示的凸函数,这样其局部最优便是全局最优。凸函数所对应的优化便是凸优化。

4.凸优化
凸优化是机器学习的一个根本性问题,在工程中很多问题可以抽象化为一个凸问题,很多非凸问题可以通过一定的手段或方法转化为一个凸问题,一旦转化为一个凸问题,那么理论上来说,这个问题便可以得到解决。
凸优化的定义:只有满足以下两个条件才需要我们做凸优化的处理:
条件一: 约束条件为凸集。
条件二: 目标函数为凸函数。
非凸优化问题转化为凸优化问题的方法:
修改目标函数,使之转化为凸函数。
抛弃一些约束条件,使新的可行域为凸集并且包含原可行域。

5.损失函数
损失函数(Loss function) :是用来估量模型的预测值与真实值的不一致程度,是一个非负实值函数。损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心,也是结构风险函数的重要组成部分。模型的风险结构通常包括风险项和正则项。如下所示:

6.0-1损失函数

7.平方损失函数/绝对值损失函数

8.对数损失函数

对数损失函数(Cross Entropy Loss):该损失函数用到了极大似然估计的思想。
P(Y|X)通俗的解释就是:在当前模型的基础上,对于样本X,其预测值为Y,也就是预测正确的概率。由于概率之间的同时满足需要使用乘法,为了将其转化为加法,取对数。最后由于是损失函数(log函数)是递增的函数,P越大,所以函数值越大。进而预测正确的概率越高,其损失值应该越小,因此公式前加负号取反。

9.指数损失函数

10.最优化模型的分类
最优化模型分类方法有很多,可按变量、约束条件、目标函数个数、目标函数和约束条件的是否线性,是否依赖时间等分类。
根据约束条件来分类。首先最优化问题通常是带约束条件,比如对旅行路线的选择,总花费和出发、到达时间就构成了约束条件;对买房子的选择,离公司的路程、总价也可能构成约束条件。我们选择的最优解也必须满足这些约束条件。
最优化问题根据约束条件的不同主要分为三类:
无约束优化
等式约束的优化
不等式约束的优化

11.无约束最优化
无约束最优化的求解方法主要有解析法和直接法。
无约束优化常表示为:

直接方法为费马定理(Fermat), 即使用求取函数f(x)的导数,然后令其为零, 可以求得候选最优值。再在这些候选值中验证,如果是凸函数,可以保证是最优解。
解析法,是根据无约束最优化问题的目标函数的解析表达式给出一种求最优解的方法,主要有梯度下降法,牛顿法等。

无约束最优化的应用:
当下最常用的无约束优化方法为梯度下降法(已经在第二章数学基础知识部分详细介绍)。在机器学习算法中应用到梯度下降方法进行优化的主要算法有:线性回归,逻辑回归,神经网络等。
梯度下降常用的方法有三种:
批量梯度下降(BGD):每次更新使用所有的训练数据,最小化损失函数,如果只有一个极小值,那么批量梯度下降是考虑了训练集所有数据,是朝着最小值迭代方向运动的,但如果样本数量过多,更新速度会很慢。
随机梯度下降(SGD):每次更新的时候只考虑了一个样本点,这样会大大加快训练数据,也恰好是BGD的缺点。但是有可能陷入局部最优,不一定是朝着极小值方向更新,且SGD对噪声也更加敏感。
小批量梯度下降(MBGD):MBGD解决了批量梯度下降法的训练速度慢问题,以及随机梯度下降法的准确对噪声敏感的问题。

12.不等式优化

————————————————
腾科教育