HCIE:第三章回归与分类问题建模(学习笔记)

一、基本概念

机器学习分类:有监督学习(回归、分类)、无监督学习(聚类)、半监督学习、强化学习

回归:等价于函数拟合,使用一条函数曲线使其很好的拟合已知函数且很好的预测未知数据。用于预测输入变量和输出变量之间的关系;包括学习和预测两个过程,预测值为连续的;按照变量个数划分:一元回归、多元回归;按照输入变量与输出变量之间关系的类型:线性回归、非线性回归。

分类:通过构造一个分类函数或分类器,将数据库中数据项映射到给定类别中某一个,从而用于预测未知数据。分类问题可划分为:线性可分、线性不可分。

偏差:算法期望预测值与真实值之间的偏差成都,反映了模型本身的拟合能力。

方差:度量同等大小训练集的变动导致学习性能的变化,刻画了数据扰动所导致的影响。

过拟合:模型把数据学习的太彻底,不能正确分类,模型泛化能力太差,高方差,低偏差。

欠拟合:模型没有很好捕捉到数据特征,不能很好的拟合数据,高偏差,低方差。

泛化能力:学得的模型很好的适用于新样本的能力。

误差:学习到的模型在养病上的预测结果与样本真实结果之间的差。训练误差:在训练集上的误差。泛化误差:在新样本上的误差。

凸函数:曲线上任意两点连线上的点对应的函数值不大于该两点对应的函数值。

凹函数:曲线上任务两点连线上的点对应的函数值不小于该店对应的函数值连线上的值。

二、分类算法

(1)逻辑回归logistic

处理二分类问题。

逻辑回归本质:假设数据服从该分布,用极大似然估计做参数估计,深度学习中常用到的Sigmoid函数是Logistic的分布函数在μ = 0 ,𝛾= 1 的特殊形式。

逻辑回归是为了解决二分类问题,目的是求取参数 w 和 b使得 𝑝(𝑦 l 𝑥) 对 0 类和 1 类的分类结果尽可能取最大值。损失函数是单个样本的预测值和实际值的误差,成本函数是全部样本的预测值和实际值之间的误差

逻辑回归优化方法:极大似然法,极大似然估计逻辑回归中的参数w和b。

逻辑回归优缺点:

    优点:实现简单;分类时计算量非常小、速度快、存储资源低;便利的观测样本改了分数;多重共线性不是问题可以结合L2正则化来解决。

    缺点:特征空间很大时逻辑回归性能不好、容易欠拟合、一般准确度不高;不能很好的处理大量多类特征或变量;只能处理两分类问题且必须线性可分;对于非线性特征需要进行转换。

(2)K近邻算法(KNN)

处理分类问题和回归问题。

KNN(K-Nearest Neighbor)核心思想:若一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。相似度衡量一般为距离,距离越近相似度越高,距离越远相似度越小。

KNN算法三要素:K值选择、距离度量的方式、分类决策规则

    K值:K值较小,训练误差小、容易过拟合;K值大,训练误差大、减少泛化误差。

    距离度量方式:欧式距离(距离差的平方和再开平方根)、曼哈顿距离(距离差的绝对值再开平方根)

    分类规则:分类问题(多数表决法)、回归问题(平均值)

KNN优缺点:

    优点:理论成熟思想简单、可以做分类和回归;用于非线性分类;对数据没有假设、准确度高。

    缺点:计算量大;样本不平衡问题;需要大量内存。

(3)朴素贝叶斯Naïve  Bayes

基本概念:由以往数据分析得到的概率叫先验概率、在得到信息后再重新得到的概率为后验概率。

朴素贝叶斯分类方法概念:利用贝叶斯定理来预测一个位置类别的样本属于各类别的可能性,选择其中可能性最大的一个类别作为该样本的最终类别。

朴素贝叶斯分类算法优缺点:

    优点:容易实现;对小规模的数据表现好;对缺失数据不太敏感。

    缺点:前提是假设各属性之间互相独立,满足独立性假设分类准确度较高;需要计算先验概率。

朴素贝叶斯特点:高偏差低方差。训练集小的数据该类分类器更有优势。

(4)决策树

决策树结构:根节点、子节点、叶节点

决策树构建过程:特征选择->决策树生成->剪枝(预剪枝、后剪枝)。

决策树生成是一个递归过程,导致递归返归的三种情况:当前节点包含的样本全属于同一类别,无需划分;当前属性集为空或者所有样本在所有属性上取值相同,无法划分;当前节点包含的样本集为空,不能划分。

基本概念:信息熵,衡量一个随机变量出现的期望值,信息不确定性越大、熵值也越大,概率分布越均匀、信息熵越大;信息增益(Information  Gain),衡量特征区分样本的能力,特征特征的信息增益越大,以该特征为节点建立的树就越简洁。

ID3算法:

    以信息论为基础,以信息熵和信息增益为衡量标准,从而实现对数据的归纳分类。建立在奥卡姆剃刀的基础上:越是小型的决策树越优于大的决策树( besimple简单理论)。

    核心思想:以信息增益度量属性选择,选择分裂后信息增益最大的属性进行分裂。

    ID3算法优缺点:

        优点:概念简单,计算复杂度不高,可解释性强,输出结果易于理解。

        缺点:只能对描述属性为离散型属性的数据集构造决策树;采用信息增益作为评价标准选择根节点和内部节点分支属性,缺点是倾向于选择取值较多的属性,但是这类属性可能不会提供太多有价值信息;属性只能是离散的,当然属性值可以是连续的数值型,但是需要对这些数据进行预处理,变为离散型的,才可以运用ID3算法。

C4.5算法:

    ID3算法的改进,能够处理属性为连续型的。改进有4个方面:

    改进1:用信息增益率代替信息增益选择属性,客服信息增益选择属性时偏向选择取值多的属性不足;

    改进2:能完成对连续值属性的离散化处理,对于特征a的取值集合V来说,选择一个阈值t进行划分,将它划分成小于t的和大于t的两个部分。

    改进3:能处理属性值缺失的情况,在计算 SplitInfo时,将缺失的属性值当作一个正常值进行计算

    改进4:在决策树构造完成后进行减枝,其根本目的就是为了去掉一些不必要的节点使得决策树模型具有更好的泛化能力,以解决过拟合问题。

        预剪枝prepruning:在完全正确分类训练集之前就停止树的生长。

        后剪枝postpruning:由“完全生长”的树剪去子树。

过拟合产生的原因:

    训练数据过小并未包含足够数据样本;数据包含大量与预测值不相关的信息(噪声数据);模型在单个数据样本集上训练的时间过长;模型复杂程度高

    C4.5算法优缺点:

        优点:产生的分类规则易于理解,准确率较高。

        缺点:只能用于分类;是多叉树,用二叉树效率会提高;只适合于能够驻留于内存的数据集,当训练集大的无法再内存容纳时程序无法运行。

CART算法:(Classification and Regression Tree)

    既能分类树又能是回归树。作为分类树时,采用GINI值作为节点分类的依据,作为回归树时,采用样本最小方差作为节点分类依据。是一颗二叉树。CART选择使子节点的GINI值或者回归方差最小的属性作为分裂的方案。

    分类树:采用GINI值来衡量节点纯度,值越大,越不纯

    回归树:采用样本方差衡量节点纯度,方差越大,节点数据越分散,预测效果越差

    CART剪枝:采用CCP(代价复杂度)剪枝方法(事后剪枝)。选择节点表面误差率增益值最小的非叶子节点,删除该非叶子节点的左右子节点。

决策树算的优缺点对比:

算法连续值处理缺失值处理特征选择树结构支持类型剪枝
ID3不支持不支持信息增益多叉树分类不支持
C4.5支持支持信息增益比多叉树分类支持
CART支持支持

基尼指数(分类树)

误差平方(回归树)

二叉树分类、回归支持

(5)SVM支持向量机

概念:支持向量:支持或支撑平面上把两类类别划分开来的超平面的向量点;机:一个算法。

线性SVM:

    拉格朗日函数优化目的:将约束条件放到目标函数中,从而将有约束优化问题转换为无约束优化问题。

    拉格朗日对偶优化:新目标函数先求最大值,再求最小值。需要满足两个条件:凸函数(进行凸优化),KKT条件(Karush-Kuhn-Tucker)

   非线性SVM:

        核函数:作用接受两个低维空间里的向量,计算出经过某个变换后在高维空间里的向量的内积。常用核函数:线性核函数、多项式核函数、径向基(高斯)核函数、Sigmoid核函数。

线性核函数:用于线性可分情况,通常首先使用线性核函数来做分类,如果不行再换用其他核函数;

多项式核函数:以实现将低维的输入空间映射到高维的特征空间,

高斯核函数:使用最广泛的就是RBF核,无论低维、高维、小样本、大样本等情况,RBF核都适用,具有较宽的收敛域,是较理想的分类依据函数。

Sigmoid核函数:采用Sigmoid核函数,支持向量机实现得就是一种多层神经网络。

核函数应用原因:避免“维数灾难”、减少计算量;可以和不同的算法相结合,形成多种不同的基于核函数技术的方法,且这两部分的设计可以单独进行,并可以为不同的应用选择不同的核函数和算法。

SVM小结:

线性可分:求解使得超平面具有最大内间间隔的w𝑇,b参数。将问题转化为对偶问题进行快速求解。

线性不可分:将数据空间映射到高维空间,使原本线性不可分变为线性可分;引入核函数,简化映射空间中的内积运算;不同的样本结构与不同的核函数结合,达到很好地分割效果。

三、回归算法

(1)线性回归

误差:真实值与预测值之间肯定存在差异,常用ε来表示,假设误差是独立同分布,并且服从均值为0方差为σ的高斯分布

一元线性回归目标函数(损失函数)又称为最小二乘损失函数;

多元线性回归有两种方式确定多元回归系数(对目标函数优化),进而获得回归方程:梯度下降(Gradient Descent)、正规方程(Normal Equation);

正规方程:涉及矩阵的逆,若矩阵没有逆,则无法使用该方法;

梯度下降:求局部最优的方法,一般有三种:批量梯度下降、随机梯度下降、小批量梯度下降;

   批量梯度下降(Batch Gradient Descent,BGD):每更新一次权重需要对所有数据样本点进行遍历。特点:每次参数更新都用到所有训练数据,所以BGD方法非常耗时、样本数据量越大训练速度越慢。

    随机梯度下降(Stochastic Gradient Descent,SGD):为解决批量梯度下降训练速度过慢的问题。利用随机选取每个样本的损失函数对θ求偏导得到对应的梯度来更新 θ

    小批量梯度下降(Mini-Batch Gradient Descent ,MBGD):为解决BGD和SGD缺点,使得算法训练过程快,也要保证最终参数训练的准确率。

    正则化:防止过拟合,加入惩罚项。L1称为套索回归(Lasso Regression);L2称为岭回归(Ridge Regression)

(2)多项式回归

用于定义或者描述非线性现象。

多项式回归最重要参数是最高次方的次数,过低的高次项,会使得拟合没有明显的效果,过高的高次项会使得过拟合

线性回归进行多项式变化后被称为多项式回归,多项式变化疯狂增加数据维度的同时,也增加了过拟合的可能性

(3)Ridge回归(岭回归)

专用于共线性数据分析的有偏估计回归方法,改良的最小二乘估计法

(4)LASSO回归

替代最小二乘法的压缩估计方法,全名为最小绝对值选择与收缩算子。

若数据线性相关,线性回归拟合不是很好,需要正则化。考虑使用Ridge回归,如果输入特征的维度很高,而且是稀疏线性关系,使用Lasso回归。

Lasso回归可以使得一些特征的系数变小,甚至还使一些绝对值较小的系数直接变为0,从而增强模型的泛化能力。在一堆特征里面找出主要的特征,使用Lasso回归

(5)ElasticNet回归(弹性网络回归)

Ridge回归与Lasso回归的组合。用Lasso回归太过(太多特征被稀疏为0),而岭回归也正则化的不够(回归系数衰减太慢)的时候,可以考虑使用ElasticNet回归来综合,得到比较好的结果。

损失函数加入 L1、L2,正则化和权重系数 λ、ρ,就是ElasticNet回归。

ElasticNet回归相对Lasso回归来说,保留了Lasso回归的特征选择的性质,又兼顾了Ridge回归的稳定性。

(6)支持向量回归(SVR)

SVR回归与SVM分类的区别在于,SVR的样本点最终只有一类,它所寻求的最优超平面不是SVM那样使两类或多类样本点分的“最开”,而是使所有的样本点离超平面的总偏差最小。

SVM是要使到超平面最近的样本点的“距离”最大;

SVR则是要使到超平面最远的样本点的“距离”最小。

优缺点:

  优点:高维数据也表现好、可解决非线性回归问题、核函数可将高维映射到低维从而解决高维问题、可处理大数据集且保持高效

  缺点:对异常值敏感,需要正则化防止过拟合;复杂度可能高需要特征选择;对缺失值敏感需要数据预处理

四、集成算法

基本概念:将多个单个学习器集成/组合在一起,使它们共同完成学习任务, 以达到提高预测准确率的目的。也被称为多分类器系统  ( multi-classifier system)。

结合策略:投票法(对分类问题的预测)、平均法(对数值类的回归预测)、学习法(解决投票法和平均法误差较大的问题)。

集成方法:使用训练集的不同子集训练得到不同的基分类器;使用同一个训练集的不同属性子集巡逻得到不同的基分类器。

(1)Bagging思想

基本思想:对训练集有放回的抽取训练样例,为每一个基本学习器都构造出一个与训练集相当大小但各不相同的训练集,从而训练出不同的基本学习器;

流程:独立随机抽取数据形成数据集,重复抽取产出K个独立数据集,训练处K个最优模型;对于分类问题:分类结果由K个模型结果投票决定;对于回归问题:K个模型的值求评价得到最终结果。

特点:通过降低基学习器的方差改善泛化误差;对于噪声数据装袋不太受过分拟合的影响;改进了预测准确率但损失了解释性。

随机森林(Random Forest):一个包含多个决策树的分类器,Bagging的扩展变体,RF以决策树为基学习器构建Bagging集成的基础上进一步在训练过程中引入了随机属性选择。Bagging+决策树 = RF。每棵树任其生长,不进行剪枝。

影响随机森林性能主要因素:单颗树的预测能力强度(Strength)预测能力越强,预测性越好;树之间的相关度(Correlation),树之间的相关度越大,分类性能越差。

随机森林构建方法总结:

    从原始样本集m个样本中使用bootstrap(有放回的随机抽样)采样法选出m个样本;

    从所有n个属性中随机选择K个属性(若k=n则基决策树的构建与传统的决策树相同,若

    K=1则是选择一个属性用于划分),一般令k的值为log2n;

    选择最佳分割属性 (ID3,C4.5 ,CART)作为节点创建决策树;

    每颗决策树都进行最大程度地生长,且不进行剪枝;

    重复以上4步S次, 建立S颗决策树,即形成随机森林;

    在分类问题中通过多数投票法决定输出属于哪一分类;在回归问题中输出所有决策树输出的平均值。

随机森林优缺点:

    优点:准确率好、运行速率高、可处理高维特征的样本不需降维、评估各特征在分类问题上重要性、对部分特征缺失不敏感、有放回抽样方差小泛化能力强。

    缺点:取值比较多的特征对RF决策产生角度影响、损失解释性、噪音较大的特征容易陷入过拟合。

(2)Boosting思想

基本思想:也是一种把若干个基分类器整合为一个分类器的方法。是一个顺序过程,每个后续模型都会尝试纠正先前模型的错误。后续的模型依赖于之前的模型。

提升是一个迭代过程,用于自适应的改变训练样本分布,使得基分类器聚焦,给每个训练样本赋予一个全职,每一轮提升过程结束时自动调整权值。

Adaboost(自适应提升)算法:

    算法原理:算法原理是将多个弱学习器进行合理的结合,使其成为一个强学习器;每次迭代只训练一个弱学习器,训练好的弱学习器将参与下一次迭代。

    优缺点:

        优点:较好利用弱分类器进行级联、将不同分类算法作为弱分类器、精度较高、充分考虑每个分类器权重;

        缺点:迭代次数不好设定(可使用交叉验证确定)、数据不平衡则分类精度下降、训练耗时

GBDT(梯度提升决策树)

    GBDT核心在于累加所有数的结果为最终结果,所以其所有的树都是回归树不是分类树。每一棵树学习的是之前所有树结论和的残差,这个残差就是一个加预测值后能得真实值的累加量。

    算法原理:继承Boosting思想,利用加法模型与前向分布算法实现学习的优化过程。每个基学习器在上一轮学习器的基础上进行训练。

    GBDT目标函数的优化:让损失函数沿着负梯度方向的下降是梯度迭代的另一个核心。这样每轮训练的时候都能够让损失函数尽可能快的减小,尽快地收敛达到局部最优或者全局最优。

    GBDT应用:几乎所有回归问题(线性/非线性),二分类、不适合多分类;排序问题;广告推荐。

XGboost

    本质上还是GBDT,把速度和效率做到极致,对损失函数做了二阶求导(泰勒展开),并在目标函数之外计入正则项整体求最优解,避免过拟合。

    目标函数:模型也是CART,不限于回归树,沿用加法模型,目标函数包括所属函数和正则项,正则项主要是为防止过拟合、提高准确率。

    XGboost应用:建立分类预测模型,推荐算法,速度快准确度高。

    XGboost与GBDT不同:分类器除CART外还支持线性分类器、同时用到一阶和二阶求导、加入正则项控制模型复杂度防止过拟合、缩减、列抽样

LightGBM

    核心思想:三个方面Histogram(分桶策略:基于特征的数值进行分bin,然后基于bin的值寻找最佳分裂的bin值。)、GOSS(Gradient based One Side Sampling)(采样策略:移除小梯度样本,使用余留的样本做增益计算)、EFB(exclusive feature bundling)(特征合并:捆绑不会同时为非零的特征(互斥),达到减少特征数量的目的)

    分桶策略:将连续的特征值进行离散化bin并放入不同的bucket,在训练的时候基于这些bin来构建特征Histogram。这种做法效率更高,速度更快。

    采样策略:保留了所有的大梯度样本,对小梯度样本进行随机采样,同时为了保证分布的一致性,在计算信息增益的时候,将采样的小梯度样本乘以一个常量:(1−a)/b,a表示Top a×100%的大梯度样本比例值,b表示小梯度样本的采样比值。

    特征合并:高维数据通常是非常稀疏的,而且很多特征是互斥的,将互斥特征分组合并为更少的维度。通过这种方式,将特征的维度降下来。

LightGBM与XGboost对比:训练速度快、内存消耗相对较小、鲁棒性相对较弱、参数相对较少、处理缺失值避免偏差但需要更多内存、分裂点选择方法不同、特征并行处理不同

Stacking(分层模型集成框架)

    第一层由多个基学习器组成,其输入为原始训练集,第二层的模型则是以第一层基学习器的输出作为特征加入训练集进行再训练,从而得到完整的Stacking模型。

    优缺点:优点模型效果好、可解释性强、适用于复杂数据;缺点:模型融合复杂度较高、运行缓慢。

Voting(投票)

可以用于分类或回归。

在回归的情况下,计算模型预测的加权融合值。根据各个模型的最终预测表现,分配不同的权重,以改变其对最终结果影响的大小。

在分类的情况下,对每个标签的预测求和,并预测获得多数票的标签。工作方式类似于选举系统,根据一组机器学习模型成员的投票系统对新数据点进行预测。分为Hard Voting, Soft Voting

    Hard  Voting  Classifier:应用于多数规则投票的预测类标签。这使用了“多数投票”的想法,即做出有利于拥有超过一半选票的人的决定。

    Soft  Voting  Classifier:将所有模型预测样本为某一类别的概率的平均值作为标准,概率最高的对应的类型为最终的预测结果。

优缺点:优点简单;缺点:融合的模型结果差总结果也差、模型之间相互独立结果没有相关性、少数服从多数有时候不适用。

  • 40
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值