一. 判别模型(Discriminative Model)

1. 支持向量机(SVM, Supported Vector Machine)

使用松弛变量来处理噪声。
将低维空间线性不可分问题转化为高维空间线性可分问题。

2. 神经网络(NN, Neural Network)

3. 线性判别分析(Linear Discriminant Analysis, LDA)

现在用作判别很少了,一般作为一种有监督降维方法。对所有样本进行一次线性变换,降低维度。线性变换矩阵通过求去前k个特征值对应的特征向量得到。

4. 线性回归(Linear Regression)

Y=AX+B
回归A和B的值。
参数估计方法使用最小二乘法

5. 逻辑回归(Logistics Regression)

逻辑回归解决的是分类问题。
参数估计方法使用极大似然法。
与线性回归的区别是将输出通过Sigmoid归到0-1之间,同样也是用MSE均方差损失,在inference时候用阈值0.5来判断。

6. 高斯过程(Gaussian Process)

7. 条件随机场(CRF, Conditional Random Field)

概率无向图

8. CART(Classification and Regression Tree)

9. Boosting增强学习

梯度提升树(Gradient Boosting Decision Tree,GBDT)
和随机森林类似,也是训练一堆决策树,不同之处在于GBDT采用所有样本来进行训练,同时决策树的训练是串行的,下一棵训练的决策树是用于拟合上一棵决策树的输出和标签的偏差。
XGBoost(Experience Gradient Boosting)
XGBoost是GBDT的优秀版本。
两个提升:
1.考虑二阶梯度,摆脱对GBDT偏差的依赖,实现并行。
XGBoost目标函数如下所示,包含损失函数和正则项两部分。
损失函数中yi为标签,^yi为上一个决策树预测结果,ft(xi)为该决策树输出结果。

将上式与泰勒展开式对比

ft(xi)就是Δx,故损失函数可以展开为

其中

2.使用正则项分裂方法限制了决策树叶子节点数量。
精确贪心算法:可以找到精确的划分条件,但计算量大、内存消耗大、容易过拟合。
Level-wise预排序方法
LightGBM
GBDT的另一个改进版本,改进了XGBoost。
XGBoost的不足
a)每轮迭代时,都需要遍历整个训练数据多次,如果把整个训练数据装进内存,则会限制训练数据的大小,如果不装进内存,反复读写训练数据又会消耗非常大的时间。
b)预排序方法的时间和空间的消耗都很大。
LightGBM原理
1)直方图算法:把连续的浮点特征值离散化成k个整数,同时构造一个宽度为k的直方图。当遍历一次数据后,直方图累积了需要的统计量,然后根据直方图的离散值,遍历寻找最优的分割点。在XGBoost中需要遍历所有离散化的值,而在这里只要通过遍历k个直方图的值
2)LightGBM的直方图做差加速:一个叶子的直方图可以由它的父亲节点的直方图与它兄弟的直方图做差得到,且直方图做差仅遍历直方图的k个桶
3)带深度限制的leaf-wise的叶子生长策略
4)直接支持类别特征(即不需要组偶one-hot编码)
5)支持高效并行:
a)特征并行:在不同机器在不同的特征集合上分别寻找最优的分割点,然后在机器间同步最优分割点
b)数据并行:让不同的机器先在本地构造直方图,然后进行全局的合并,最后在合并的直方图上面寻找最优分割点
AdaBoost(Adaptive Boosting)
问题:类似随机森林的一堆弱分类器性能都很弱,即使一起预测,对于一些困难样本仍然难以正确预测。故AdaBoost使用Boosting方法,让下一个决策树着重于上一个决策树未正确分类的部分。
AdaBoost是Adaptive Boosting(自适应增强)的缩写,它的自适应在于:被前一个基本分类器误分类的样本的权值会增大,而正确分类的样本的权值会减小,并再次用来训练下一个基本分类器。同时,在每一轮迭代中,加入一个新的弱分类器,直到达到某个预定的足够小的错误率或预先指定的最大迭代次数再确定最后的强分类器。

10. 决策树(Decision Tree)

纯度:种类越少,纯度越高。
熵:熵衡量样本的混乱程度,熵越大,纯度越小,熵越少,纯度越高。
信息增益:熵降低的越多,所包含的信息量越大,信息增益的就越多。
信息增益率:从ID3到C4.5的改进。
ID3、C4.5、C5.0、CART
ID3选用使得信息增益最大的那个属性来划分样本,对于取值很多的属性,具有每个取值的样本只有1个或很少(如客户ID),信息增益会很高。故ID3倾向于挑选取值较多的分类属性来划分。像这种使用客户ID这种自变量的划分是没有意义的,会造成过拟合。而ID3并没有任何防止过拟合的措施。

C4.5
针对ID3倾向于挑选值较多的属性划分导致过拟合的问题,使用信息增益比代替信息增益作为划分标准。
CART(classification and regression tree)使用使得gini系数最小的那个属性来划分样本。
CART与C4.5算法是非常相似的,但是CART支持预测连续的值(即回归)。
CART构建二叉树,而C4.5则不一定。显然由于二叉树的原因使得CART5不会出现ID3的问题(倾向于选择属性值多的属性来划分样本)
CART用训练集和交叉验证集不断地评估决策树的性能来修剪决策树,从而使训练误差和测试误差达到一个很好地平衡点。

11. 随机森林

随机对样本和特征进行抽样,并行独立地训练很多棵决策树,每个决策树的训练目标都是高偏差低方差的(欠拟合),用这些弱分类器预测结果求均值(Bagging)来获得最终结果。

11. KNN(K-nearest Neighbors)

KNN的原理就是当预测一个新的值x的时候,根据它距离最近的K个点是什么类别来判断x属于哪个类别。

12. 最大熵模型

二、生成模型

1. 朴素贝叶斯(Naive Bayes)

贝叶斯的假设/前提为特征变量之间相互独立。
贝叶斯公式:
P(类别∣特征)=P(特征∣类别)P(类别)P(特征)P(类别|特征)=\frac{P(特征|类别)P(类别)}{P(特征)}P(类别∣特征)=P(特征)P(特征∣类别)P(类别)​
对于要预测的样本根据特征计算对各个类别计算概率,最大的P(类别∣特征)P(类别|特征)P(类别∣特征)对应的类别即为预测分类的类别。
出现未知特征时候,P(特征|类别)=0,会出现分类错误,可采用拉普拉斯平滑,对各种特征的次数+1后计算概率。
优点:算法逻辑简单,易于实现;分类过程中时空开销小。
缺点:属性个数比较多或者属性之间相关性较大时,分类效果不好。

2. 混合多项式

3. 混合高斯模型

4. 专家混合模型(Mixture of Experts Model)

5. 隐马尔可夫模型(HMM)

概率有向图

6. 马尔可夫随机场(Markov Random Fields)

马尔可夫随机场(Markov random field),又称为概率无向图模型, 是一个可以由无向图表示的联合概率分布。

7. Sigmoid Belief Networks

8. 深度信念网络/贝叶斯网/贝叶斯网络/有向图模型

9. 隐含狄利克雷分布(Latent Dirichlet Allocation, LDA)/文档主题生成模型

10. 马尔可夫链

LDA将文档

【秋招基础知识】【3】机器学习常见判别模型和生成模型相关推荐

  1. 秋招基础知识:定点数和浮点数

    1.定义 (1)定点数:一个数的小数点的位置是固定不变的.定点化是一种对数据表示格式的认为约定,乘法过程不关心具体的数值表示方式,尽管同样位宽的数有可能有不同的定点化表示格式,但是乘法规则是一样的,乘 ...

  2. SAP SD基础知识之SD常见流程概述

    SAP SD基础知识之SD常见流程概述 正常销售.正常退货.第三方销售.跨公司销售.独立采购.寄售.免费赠送,这些就是项目实践中SD模块里最常见的流程了,当然还有一些不太常用的流程没有列举进来,不再本 ...

  3. c# getresponsestream返回byte[]_C# 基础知识系列-13 常见类库(三)

    0. 前言 在<C# 基础知识系列- 13 常见类库(二)>中,我们介绍了一下DateTime和TimeSpan这两个结构体的内容,也就是C#中日期时间的简单操作.本篇将介绍Guid和Nu ...

  4. 判别模型和生成模型的区别

    20210703 https://www.zhihu.com/question/20446337 机器学习"判定模型"和"生成模型"有什么区别? 重点 http ...

  5. 判别模型和生成模型(Discriminative Model Generative Model)【转】

    又是碰到了一些简单的基本概念,但是仔细想想发现自己没有理解透彻,Search一下,总结如下: [摘要] - 生成模型:无穷样本==>概率密度模型 = 产生模型==>预测 - 判别模型:有限 ...

  6. 判别模型、生成模型与朴素贝叶斯方法

    1.判别模型与生成模型 上篇报告中提到的回归模型是判别模型,也就是根据特征值来求结果的概率.形式化表示为,在参数确定的情况下,求解条件概率.通俗的解释为在给定特征后预测结果出现的概率. 比如说要确定一 ...

  7. 判别模型、生成模型和朴素贝叶斯模型

    1判别模型与生成模型 上篇报告中提到的回归模型是判别模型,也就是根据特征值来求结果的概率.形式化表示为,在参数确定的情况下,求解条件概率.通俗的解释为在给定特征后预测结果出现的概率. 比如说要确定一只 ...

  8. 备战秋招 |《百面机器学习》算法+leetcode开班报名!

    算法面试刷题班推荐: 以<百面机器学习>为教材 结合leetcode筛选刷题 秋招已经开始了!时间紧迫,也许别人已经得到offer了,你却还在不知所措?(文末重金招聘讲师) 六月份基本都是 ...

  9. 2017-我的秋招之路:机器学习/算法工程师(含大量面经)

    前言: 从今年的8月1号正式开启秋招到现在,过去三个多月了,发生了很多事情,经历了N多场笔试和面试,深深感慨到本硕双非的学生找算法岗的艰辛...,当经过了8.9月份的种种面试挂掉后,终于从十月下旬陆续 ...

最新文章

  1. 开源软件5大常见问题及解决方法
  2. python下载大文件-使用请求在python中下载大文件
  3. php -i | grep configure,PHP7中I/O模型内核剖析详解
  4. 简单网络管理协议(SNMP)实现linux系统信息网络监控
  5. Linux usual cmd
  6. python实现栈,实现push(),pop(),top(),getMin()方法
  7. SAP CRM BSP URL 302 redirect
  8. struct __POSITION{}和ASSERT
  9. html单张图片效果,jquery+html5实现单张图片上传预览
  10. jQuery WeUI 上传
  11. java4android代码_Android逆向-java代码基础(4)
  12. 动态电压与频率调节在降低功耗中的作用
  13. 十年Java面向对象编程心路——函数与方法的概念区别
  14. 社交网络影响力最大化——贪心算法实现(Python实现)
  15. sonarqube 数据清理
  16. iOS转前端之仿写宠物网(适配不同尺寸)
  17. c语言直线和椭圆的交点,直线与椭圆交点距离公式
  18. linux系统下多终端管理工具,terminator
  19. 2021-08-06随记(vertical-align, 顶线、底线、中线、基线,vue原理理解)
  20. linux部署qq机器人记录

热门文章

  1. 多线程的Furture应用(一)
  2. 城市地下综合管廊安全运营与智慧管控的分层架构研究
  3. RGB色彩模型和YUV色彩模型简介
  4. 15款经典图表软件推荐 创建最漂亮的图表
  5. C# Spire.PDF 实现pdf文件盖章
  6. cocos-js web开发泡泡龙游戏【一 加载游戏场景】
  7. PyDev+Eclipse使用点滴
  8. 解决IDEA按键失效
  9. FTTX简要介绍与ODN网络简要概述
  10. python中save 函数_Tensorflow之Saver的用法详解