AI作业2-监督学习

文章介绍了机器学习中的几种重要概念和算法,包括结构风险最小化与正则化的关联,正则化在防止过拟合中的作用,线性回归和逻辑斯蒂回归的模型,以及决策树的构建和信息熵、信息增益在特征选择中的应用。此外,还提到了LDA降维方法和PAC学习理论的基础,以及AdaBoost算法的工作原理和优缺点。
摘要由CSDN通过智能技术生成
  • 结构风险最小化

结构风险最小化(structural risk minimization,SPM)是为了防止过拟合而提出来的策略。结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则项(regularizer)或者罚项(penalty term)。在假设空间、损失函数以及训练数据集确定的情况下,结构风险的定义为:

  • 正则化

如果我们没有足够的数据集(训练集)去约束这个变量过多的模型,那么就会发生过拟合。

正则化中我们将保留所有的特征变量,但是会减小特征变量的数量级(参数数值的大小θ(j))。

这个方法非常有效,当我们有很多特征变量时,其中每一个变量都能对预测产生一点影响。正如我们在房价预测的例子中看到的那样,我们可以有很多特征变量,其中每一个变量都是有用的,因此我们不希望把它们删掉,这就导致了正则化概念的发生。

正则化(regularization)是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty term)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。比如,正则化项可以是模型参数向量的范数。

正则化一般具有如下形式:

其中,第一项是经验风险,第二项是正则化项,λ是调整经验风险和正则化间的系数,称为正则化系数。

正则化项可以取不同的形式。例如,回归问题中,损失函数是平方损失,正则化项可以是参数向量的L2范数:

这里,||w||2表示参数向量w的L2范数,L2范数为向量w中各个元素的平方和。

正则化项也可以是参数向量的L1范数:

这里, ||w||1表示参数向量w的L1范数,L1范数为数向量w中各个元素的绝对值之和。

第1项的经验风险较小的模型可能较复杂(有多个非零参数),这时第2项的模型复杂度会较大。正则化的作用是选择经验风险与模型复杂度同时较小的模型。

正则化符合奥卡姆剃刀(Occam's razor)原理。奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释已知数据并且十分简单才是最好的模型,也就是应该选择的模型。从贝叶斯估计的角度来看,正则化项对应于模型的先验概率。可以假设复杂的模型有较小的先验概率,简单的模型有较大的先验概率。

  • 线性回归

线性回归是属于机器学习里面的监督学习,与分类问题不同的是,在回归问题中,其目标是通过对训练样本的学习,得到从样本特征到样本标签直接的映射,其中,在回归问题中,样本的标签是连续值。线性回归是一类重要的回归问题。在线性回归中,目标值与特征直接存在线性关系。

  • 逻辑斯蒂回归

逻辑回归是用来做分类算法的,大家都熟悉线性回归,一般形式是Y=aX+b,y的取值范围是[-∞, +∞],有这么多取值,怎么进行分类呢?不用担心,伟大的数学家已经为我们找到了一个方法。

也就是把Y的结果带入一个非线性变换的Sigmoid函数中,即可得到[0,1]之间取值范围的数S,S可以把它看成是一个概率值,如果我们设置概率阈值为0.5,那么S大于0.5可以看成是正样本,小于0.5看成是负样本,就可以进行分类了。

Sigmoid函数公式如下:

函数中t无论取什么值,其结果都在[0,1]的区间内,回想一下,一个分类问题就有两种答案,一种是“是”,一种是“否”,那0对应着“否”,1对应着“是”,那又有人问了,你这不是[0,1]的区间吗,怎么会只有0和1呢?这个问题问得好,我们假设分类的阈值是0.5,那么超过0.5的归为1分类,低于0.5的归为0分类,阈值是可以自己设定的。

好了,接下来我们把aX+b带入t中就得到了我们的逻辑回归的一般模型方程:

结果P也可以理解为概率,换句话说概率大于0.5的属于1分类,概率小于0.5的属于0分类,这就达到了分类的目的。

SoftMax函数是用于多类分类问题的激活函数,在多类分类问题中,超过两个类标签则需要类成员关系。对于长度为K KK的任意实向量,Softmax函数可以将其压缩为长度为K KK,值在[ 0 , 1 ] [0,1][0,1]范围内,并且向量中元素的总和为1的实向量。

Softmax函数与正常的max函数不同:max函数仅输出最大值,但Softmax函数确保较小的值具有较小的概率,并且不会直接丢弃。我们可以认为它是arg max ⁡ \argmaxargmax函数的概率版本或“soft”版本。Softmax函数的分母结合了原始输出值的所有因子,这意味着Softmax函数获得的各种概率彼此相关。

Softmax激活函数的特点:

  1. 在零点不可微。

  1. 负输入的梯度为零,这意味着对于该区域的激活,权重不会在反向传播期间更新,因此会产生永不激活的死亡神经元。

  • 决策树

决策树(decision tree):是一种基本的分类与回归方法,此处主要讨论分类的决策树。

在分类问题中,表示基于特征对实例进行分类的过程,可以认为是if-then的集合,也可以认为是定义在特征空间与类空间上的条件概率分布

决策树通常有三个步骤:特征选择、决策树的生成、决策树的修剪。

用决策树分类:从根节点开始,对实例的某一特征进行测试,根据测试结果将实例分配到其子节点,此时每个子节点对应着该特征的一个取值,如此递归的对实例进行测试并分配,直到到达叶子节点,最后将实例分到叶节点的类中。

决策树的构造

决策树学习的算法通常是一个递归地选择最优特征,并根据该特征对训练数据进行分割,使得各个子数据集有一个最好的分类的过程。这一过程对应着对特征空间的划分,也对应着决策树的构建。

  1. 开始:构建根节点,将所有训练数据都放在根节点,选择一个最优特征,按着这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。

  1. 如果这些子集已经能够被基本正确分类,那么构建叶节点,并将这些子集分到所对应的叶节点去。

  1. 如果还有子集不能够被正确的分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的节点,如此递归进行,直至所有训练数据子集被基本正确的分类,或者没有合适的特征为止。

  1. 每个子集都被分到叶节点上,即都有了明确的类,这样就生成了一颗决策树。

决策树的特点

  1. 优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。

  1. 缺点:可能会产生过度匹配的问题(即过拟合)

  1. 适用数据类型:数值型和标称型

使用决策树做预测需要以下过程:

  1. 收集数据:可以使用任何方法。比如想构建一个相亲系统,我们可以从媒婆那里,或者通过参访相亲对象获取数据。根据他们考虑的因素和最终的选择结果,就可以得到一些供我们利用的数据了。

  1. 准备数据:收集完的数据,我们要进行整理,将这些所有收集的信息按照一定规则整理出来,并排版,方便我们进行后续处理。

  1. 分析数据:可以使用任何方法,决策树构造完成之后,我们可以检查决策树图形是否符合预期。

  1. 训练算法:这个过程也就是构造决策树,同样也可以说是决策树学习,就是构造一个决策树的数据结构。

  1. 测试算法:使用经验树计算错误率。当错误率达到了可接收范围,这个决策树就可以投放使用了。

  1. 使用算法:此步骤可以使用适用于任何监督学习算法,而使用决策树可以更好地理解数据的内在含义。

  • 信息熵 条件熵 信息增益

信息增益=信息熵—条件熵

信息熵

其中代表随机事件为的概率,下面来逐步介绍信息熵的公式来源!

信息量与事件x发生的概率成负相关,,因为,一个具体事件的信息量应该是随着其发生概率而递减的,且不能为负。

概率越小信息量越大。

信息量度量的是一个具体事件发生了所带来的信息,而熵则是在结果出来之前对可能产生的信息量的期望——

考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。即信息熵

事件越复杂,信息熵越大

信息熵还可以作为一个系统复杂程度的度量,如果系统越复杂,

出现不同情况的种类越多,那么他的信息熵是比较大的。如果一个系统越简单,出现情况种类很少

(极端情况为1种情况,那么对应概率为1,那么对应的信息熵为0),此时的信息熵较小。

条件熵

条件熵是另一个变量Y熵对X(条件)的期望。

其实条件熵意思是按一个新的变量的每个值对原变量进行分类,比如上面这个题把嫁与不嫁按帅,不帅分成了俩类。

然后在每一个小类里面,都计算一个小熵,然后每一个小熵乘以各个类别的概率,然后求和。

我们用另一个变量对原变量分类后,原变量的不确定性就会减小了,因为新增了Y的信息,可以感受一下。不确定程度减少了多少就是信息的增益。

信息增益

信息增益代表了在一个条件下,信息复杂度(不确定性)减少的程度。

那么我们现在也很好理解了,在决策树算法中,我们的关键就是每次选择一个特征,特征有多个,那么到底按照什么标准来选择哪一个特征。

这个问题就可以用信息增益来度量。如果选择一个特征后,信息增益最大(信息不确定性减少的程度最大),那么我们就选取这个特征。

通过计算各个特征的信息增益发现,身高的信息增益最大,也就是:身高这个特征对于我们广大女生同学来说,决定嫁不嫁给自己的男朋友是很重要的。那么我就可以说,孟非哥哥,我想知道男嘉宾的一个特征是身高特征。因为它在这些特征中,身高对于我挑夫君是最重要的,信息增益是最大的,知道了这个特征,嫁与不嫁的不确定度减少的是最多的。

  • 线性判别分析 LDA

LDA属于机器学习中的监督学习算法,常用来做特征提取、数据降维和任务分类。LDA算法与PCA算法都是常用的降维技术。两者最大的区别在于:LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的;而PCA是不考虑样本类别输出的无监督降维技术。LDA的思想可以用一句话概括:“投影后类内方差最小,类间方差最大”(即我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。)

  • 概率近似正确 PAC

PAC学习理论不关心假设选择算法,他关心的是能否从假设空间 H 中学习一个好的假设 h 。看到 能否 二字了没?此理论不关心怎样在假设空间中寻找好的假设,只关心能不能找得到。现在我们在来看一下什么叫“好假设”?只要满足两个条件(PAC辨识条件)即可:

  1. 近似正确:泛化误差 E(h) 足够小
    E(h) 越小越好,最好泛化误差能等于0,但一般是不可能的。那我们就把 E(h) 限定在一个很小的数 η之内,即只要假设 h 满足 E(h) < η ,我们就认为 h 是正确的。

  1. 可能正确
    不指望选择的假设 h 百分之百是近似正确的(按上段所述,即 E(h) < η ),只要 很可能 是近似正确的就可以,即我们给定一个值 μ ,假设 h 满足 P(h近似正确)>=1-μ。

综上两点,就得到了PAC(可能近似正确,probably approximate correct)可学习的定义。简单的讲就是模型在短时间内利用少量的(多项式级别)样本能够找到一个假设 h ,使其满足 P(E(h) < η) >=1-μ,其中0<η,μ<1。

  • 自适应提升AdaBoost

Adaptive Boosting(AdaBoost)是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个最强的最终分类器(强分类器)。

Boosting方法要解答的两个关键问题:

一是在训练过程中如何改变训练样本的权重或者概率分布;

二是如何将多个弱分类器组合成一个强分类器。

AdaBoost的做法是:一是提高前一轮被弱分类器分类错误的样本的权重,而降低分类正确的样本的权重;而是对多个弱分类器进行线性组合,提高分类效果好的弱分类器的权重,降低分类误差率高的弱分类器的权重。

  1. AdaBoost的两个权重

学习器的权重

样本的权重

  1. AdaBoost思想

刚开始有一份等权的数据,训练一个模型,这个模型会有一个错误率,根据这个错误率去求一个权重,就可以给这个学习器一个权重(学习器的权重),上个学习器分错的样本,需要调整权重,错的升高权重,对的降低权重(样本的权重)

3.AdaBoost思想的优缺点
  • 优点:
    • 可以使用各种回归分类模型来构建弱学习器,非常灵活
    • Sklearn中对AdaBoost的实现是从带权学习视角出发的,思想朴素,易于理解
    • 控制迭代次数可以一定程度防止发生过拟合

  • 缺点:
    • 对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终预测准确性。

4.AdaBoost小结
  • 提升树
    • AdaBoost思想结合决策树的基学习器,就得到提升树模型。提升树做分类时,基学习器选CART分类树;回归时选CART回归树

  • 两个视角
    • 带权学习视角、前向分布学习视角

  • 前向分步学习的说明
    • 在前向分步学习视角下,当提升树的损失函数是平方损失和指数损失时,优化是简单的,但对一般损失函数而言优化难度大,即没有通用的求解方案
    • 因此2001年,Friedman提出了一个通用方案——梯度提升,起名为GBDT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

likbou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值