机器学习笔记

线性模型

1、基本形式:

线性模型:通过属性的现行组合来进行预测的函数,即

向量形式:

优点:线性模型形式简单,易于建模。

经典线性模型:

①LR线性回归:试图学得一个线性模型以尽可能的预测实值输出标记。

基于均方误差最小化来进行模型求解的方法称为“最小二乘法”。线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线的欧氏距离之和最小

求解使最小化的过程,称为线性回归模型的最小二乘“参数估计”。

②对数几率回归:优点是可直接对分类可能性进行建模,无须事先假设数据分布。

对数几率函数:一种“Sigmoid函数”

对数几率:

③LDA线性判别分析(Linear Discriminate Analysis)

LDA思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离。

④多分类学习

最经典的拆分策略:“一对一”、“一对其余”、“多对多”。

决策树

决策树基于树结构进行决策。

一棵决策树包含一个根节点、若干个内部节点和若干个叶节点;叶节点对应于决策结果其他每个节点则对应于一个属性测试;个节点包含的样本集合根据属性测试的结果呗划分到子节点中;根节点包含样本全集

决策树学习的目的是未来产生一棵泛化能力强,即处理未见示例能力强的决策树。

信息增益:

信息熵是度量样本集合纯度最常用的一种指标。假定当前样本集合 D中第k类样本所占比例为,D的信息熵定义为:

 

Ent(D)的值越小,则D的纯度越高。

 

 

计算信息熵时约定:若

                

信息增益:用属性a对样本集D进行划分所获得的“信息增益”

一般而言,信息增益越大,意味着使用属性a来进行划分所获得“纯度提升”越大。

ID3决策树学习算法以信息增益为准则来选择划分属性。

CART决策树使用“基尼指数”(Ginidex)来选择划分属性,数据集D的纯度可用基尼指数度量:                                                       

反基尼指数应了从数据集D中随机抽取两个样本,其类别标记不一致的概率,因此,基尼指数越小,数据集纯度越高。

属性a的基尼指数定义为:

                        

在候选属性集合A中,选择那个使得划分后基尼指数最小的属性作为最优划分属性,即                                                                

剪枝处理:是决策树学习算法对付“过拟合”的主要手段

决策树剪枝基本策略:预剪枝、后剪枝

预剪枝:指在决策树生成过程中,对每个节点在划分前先进行估计,若当前阶段的划分不能带来决策树泛化能力的提升,则停止划分并将当前节点标记为叶节点。

后剪枝:则是先从训练集生成一棵完整的决策树,然后自底向上地对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来泛化能力的提升,则将该子树替换为叶节点。

 

神经网络

神经元网络的基本模型:神经元模型,M-P神经元模型:

 

 

理想的激活函数是阶跃函数。常用的是Sigmoid函数。

Sigmoid函数有一个很好的性质:

 

感知机:有两层神经元组成

感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元,其学习能力非常有限。与或非问题都是线性可分的,即存在一个超平面能将他们分开,则感知机的学习过程一定会收敛。

误差逆传播算法(error BackPropagation),简称BP。

BP算法基于梯度下降策略,以目标的负梯度方向对参数进行调整,

BP算法的目标是要最小化训练集D上的累积误差:

                

标准BP算法往往需要进行多次迭代,累计BP算法直接针对累积误差最小化,参数频率更新低的多。

BP算法表示能力强,但易过拟合,两种常用来缓解过拟合的策略:“早停”和“正则化”

“早停”:将数据分为训练集和验证集,训练集用来计算梯度、更新连接权和阈值,验证集用来估计误差,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值。

“正则化”:基本思想是在误差目标函数中增加一个用于描述网络复杂度的部分,例如连接全与阈值的平方和。

跳出局部最小常用的策略有:

①以多组不同参数值厨师胡多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数。

②使用“模拟退火”技术模拟退火在每一步都以一定的概率接受比当前解更差的结果,从而有助于跳出局部较小。

③使用随机梯度下降,与标准梯度下降法精确计算梯度不同,随机梯度下降法在计算梯度时加入了随机因素。

④遗传算法。

 

RBF网络

RBF网络是一种单隐层前馈神经网络,它使用径向基函数作为隐层神经元激活函数,输出层则是对隐藏层神经元输出的现行组合。

 

常用的高斯径向基函数形如:

ART网络(Adaptive Resonance Theory,自适应谐振理论)

竞争型学习是神经网络中一种常用的无监督学习策略,在使用该策略时,网络的输出神经元互相竞争,每时刻仅有一个竞争获胜的神经元被激活,其他神经元的状态被抑制。

ART网络包括:比较层、识别层、识别阈值和重置模块构成。

ART比较好的缓解了竞争学习中的“可塑性-稳定性窘境”(stability-plasticity dilemma),

可塑性指:神经网络要有学习新知识的能力

稳定性指:神经网络在学习新知识时要保持对旧知识的记忆

ART网络的重要优点:可进行增量学习和在线学习。

增量学习:指在学得模型后,再接收到训练样例时,仅需根据新样例对模型进行更新,不必重新训练整个模型,并且先前学得的有效信息不会被“冲掉”。

在线学习:指每获得一个新样本就进行一次模型更新。

SOM(Self-Organizing Map,自组织映射)

一种竞争型的无监督网络,它能将高维输入数据映射到低维空间(通常为二维),同时保持输入数据在高维空间的拓扑结构,即将高位空间中相似的样本点映射到网络输出层的邻近神经元。

SOM的训练目标:为每个输出层神经元找到合适的权向量,以达到保持拓扑结构的目的。

SOM的训练过程:在接收到一个训练样本后,每个输出层神经元会计算该样本与自身携带的权向量之间的距离,距离最近的神经元成为竞争获胜者,成为最佳匹配单元,然后,最佳匹配单元及其邻近神经元的权向量将被调整,以使得这些权向量与当前输入样本的距离缩小。这个过程不断迭代,直至收敛。

Boltzmann 机

神经网络中有一类模型时为网络状态定义一个“能量”能量最小化时网络达到理想状态,网络的训练就是在最小化这个能量函数。Boltzmann 机就是一种基于“能量的模型”,其神经元分两层:显层和隐层。

显层用于表示数据的输入和输出。

隐层则被理解为数据的内在表达。Boltzmann机中的神经元深度学习都是布尔型的,状态“1”表示激活,状态“0”表示抑制。

典型的深度学习模型是很深的神经网络,从增加模型复杂度的角度看,增加隐层的数目比增加隐层神经元的数目更有效。

无监督逐层训练(unsupervised layer-wise training)是多隐层网络训练的而有效手段,其基本思想是:每次训练一层隐结点,训练时将上一层隐结点的输出作为输入,而本层隐结点的输出作为下一层隐结点的输入,这称为“预训练”;预训练全部完成时,再对整个网络进行“微调”(fine-tuning)。

DBN(deep belief network)深度信念网络:每层都是一个受限Boltzmann 机。

节省训练开支方法:“与训练+微调”和权共享。

“与训练+微调”:利用模型大量参数所提供自由度的同时,有效的节省了训练开支。

权共享:即让一组神经元使用相同的连接权。(CNN中便有权共享)。

CNN:复合了多个“卷积层”和“池化层”对输入信号进行加工,然后再连接层实现与输出目标之间的映射。

每个卷积层都包含多个特征映射(feature-map),每个特征映射是一个由多个神经元构成的“平面”,通过卷积滤波器提取输入的一种特征。

采样层也叫“池化”层,其作用是基于局部相关性原理进行亚采样,从而再减少数据量的同时保留有用信息。

CNN可用BP算法进行训练,但在训练中,无论是卷积层还是池化层,其每一组神经元都使用相同的连接权,从而大幅减少了需要训练的参数数目。

度学习从另一个角度也可以理解为:通过多层处理,逐渐将初始的低层特征表示转化为“高层”的特征表示后,用“简单模型”即可完成复杂的分类等学习任务,由此可将深度学习理解为进行“特征学习”(feature-learning)或“表示学习”(representation learning)。

 

支持向量机(Support Vector Machine)

 

 

1、对偶问题将原始问题中的约束转为了对偶问题中的等式约束。

2、方便核函数的引入。

3、改变了问题的复杂度。由求特征向量w转化为求比例系数a,在原始问题下,求解的复杂度与样本的维度有关,即w的维度。在对偶问题下,只与样本数量有关。

核函数

 

 

定理1:令为输入空间,是定义再上的对称函数,则是核函数当且仅当对于任意数据,“核矩阵”(kernel matrix)总是半正定的:

定理1表明,只要一个对称函数所对应的核矩阵半正定,它就能作为核函数。

事实上,对于一个半正定的核矩阵,总能找到一个与之对应的映射,换言之,任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间”(Reproducing Kernel Hilbert Space,RKHS)的特征空间。

 

 

常用核函数:线性核、多项式核、高斯核、拉普拉斯核、Sigmoid核

在现实任务中往往很难确定合适的核函数使得训练样本在特征空间线性可分,即使找到了,也无法确定貌似线性可分的结果是不是由于过拟合造成的。

硬间隔”:所有样本都必须正确划分。

软件隔”:允许某些样本不满足约束:

当然,在最大化间隔的同时,不满足约束的样本应尽可能少,于是,优化目标可写为:

其中C是一个常数,是“损失函数”。

软间隔支持向量机”

                        

其所要满足的KKT条件为:

                        

 

 

SVM有如下主要几个特点:

 

(1)非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射;

(2)对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心;

(3)支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量。

(4)SVM 是一种有坚实理论基础的新颖的小样本学习方法。它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理”,大大简化了通常的分类和回归等问题。

(5)SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。

(6)少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒”性。这种“鲁棒”性主要体现在:

①增、删非支持向量样本对模型没有影响;

②支持向量样本集具有一定的鲁棒性;

③有些成功的应用中,SVM 方法对核的选取不敏感

 

两个不足:

(1) SVM算法对大规模训练样本难以实施

由于SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的个数),当m数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。针对以上问题的主要改进有有J.Platt的SMO算法、T.Joachims的SVM、C.J.C.Burges等的PCGC、张学工的CSVM以及O.L.Mangasarian等的SOR算法

(2) 用SVM解决多分类问题存在困难

经典的支持向量机算法只给出了二类分类的算法,而在数据挖掘的实际应用中,一般要解决多类的分类问题。可以通过多个二类支持向量机的组合来解决。主要有一对多组合模式、一对一组合模式和SVM决策树;再就是通过构造多个分类器的组合来解决。主要原理是克服SVM固有的缺点,结合其他算法的优势,解决多类问题的分类精度。如:与粗集理论结合,形成一种优势互补的多类问题的组合分类器。

贝叶斯分类器

贝叶斯决策论:是在概率框架下实施决策的基本方法。对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。

 

 

假设与N种可能的类别标记,即,是将一个真实标记为的样本误分类为所产生的损失,基于后验概率可获得将样本分类为所产生的期望损失(expected loss),即在样本上的“条件风险”(conditional risk)

                                

                           

总体风险:

贝叶斯判定准则:为最小化总体风险,只需要在每个样本上选择那个能使条件风险最小的类别标记,即

             贝叶斯最优分类器: 

总体风险称为贝叶斯风险,1-反应了分类器所能达到的最好性能最小化分类错误率的贝叶斯最优分类器为:

 

极大似然估计

估计类条件概率的一种常用策略是先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计。

朴素贝叶斯分类器表达式

 

朴素贝叶斯分类器的训练过程就是基于训练集D来估计类先验概率,并为每个属性估计条件概率。

 

集成学习

集成学习(ensemble learning)通过构建多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifier system)。

集成学习的结构:先产生一组“个体学习器”,再用某种策略把它们结合起来。

根据个体学习器的生成方式,目前的集成学习方法分为两类:

①个体学习器间存在强依赖关系、必须串行生成的序列化方法,代表是Boosting;

②个体学习器间不存在强依赖关系、可同时生成的并行化方法。代表是Bagging和“随机森林”(Random Forest).

从偏差-方差分解的角度看,Boosting主要关注降低偏差,因此Boosting能基于泛化性能相当弱的学习器构建出很强的集成。Bagging主要关注降低方差。

 

Boosting

Boosting是一族可将弱学习器提升为强学习器的算法。

工作机制:先从训练集训练出一个基学习器,再根据基学习器的表现对训练样本进行分布调整,使得先前基学习器做错从训练样本再后续受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器;如此反复进行,直至学习器数目达到制定的值T,最终将这T个基学习器进行加权结合。

Boosting族算法最著名的代表是AdaBoost(只适用于二分类任务),其中

AdaBoost最易于理解的推导方式是基于“加性模型”(additive model),即基学习器的线性组合:

                          

来最小化指数损失函数(exponential loss function)

                       

分类器权重更新公式:

样本分布更新公式:

Boosting 算法再训练的每一轮都要检查当前生成的基学习器是否满足基本条件,一旦条件不满足,则当前基学习器即被抛弃,且学习过程停止。若采用“重采样法”,则可获得“重启动”的机会以避免训练过程过早停止。

Bagging与随机森林

Bagging采样集通过自助采样法(bootstrap sampling)获得,初始集中约有63.2%的样本出现在采样集中。采样出T个含m个训练样本的采样集,然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合,这就是Bagging的基本流程,在对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法,若出现票数相同的情况,则最简单的做法是随机选一个,也可进一步考察。

训练一个Bagging集成与直接使用基学习器算法训练一个学习器的复杂度同阶,Bagging是一个很高效的集成学习器算法,且能不经修改地用于多分类、回归等任务。

Bagging自助采样过程中由于每个基学习器值使用了初始训练集中约63.2%的样本,剩下约36.8%的样本可用作验证集对泛化性能进行“包外估计”。

“包外估计”用途:

①当基学习器是决策树时,可使用包外样本来辅助剪枝。

②用于估计决策树中各节点的后验概率以辅助对零训练样本节点的处理。

③当基学习器是神经网络时,可使用包外样本来辅助早期停止以减小过拟合风险。

 

随机森林是Bagging的一个扩展变体,RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。

传统决策树在选择划分属性时是在当前结点的属性集合(假设有d个属性)中选择一个最优属性;而在RF中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。一般推荐

随机森林简单、易实现、计算开销小,在很多现实任务中展现出强大的性能。

随机森林的起始性能相对较差,随着个体学习器数目的增加,随机森林通常收敛到更低的泛化误差,随机森林的训练效率常优于Bagging,因为Bagging使用的是“确定型”决策树,在选择划分属性时要怼结点的所有属性进行考察,而随机森林使用的“随机型”决策树只需考察一个属性的子集。

结合策略

学习器结合带来的三方面好处:

统计的原因:多个同等性能的假设,通过多学习器的结合降低单学习器因误选导致泛化能力下降的风险。

计算的原因:降低陷入糟糕局部极小点的风险。

表示的原因:多个学习器可扩大假设空间,学得更好的近似。

常见结合策略:平均法、投票法、学习法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值