机器学习“判定模型”,“生成模型‘有啥区别?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习“判定模型”,“生成模型‘有啥区别?相关的知识,希望对你有一定的参考价值。

首先区分生成/判别方法和生成/判别模型。
有监督机器学习方法可以分为生成方法和判别方法(常见的生成方法有混合高斯模型、朴素贝叶斯法和隐形马尔科夫模型等,常见的判别方法有SVM、LR等),生成方法学习出的是生成模型,判别方法学习出的是判别模型。

接着对生成模型和判别模型做更详细一点的解释。
这里定义训练数据为(C,X),C=c1,c2,....cn是n个训练样本的label,X=x1,x2....xn是n个训练样本的feature。定义单个测试数据为(,),为测试数据的lable,是测试样本的feature。

1)训练完毕后,输入测试数据,判别模型直接给出的是,即输出(label)关于输入(feature)的条件分布,实际上,这个分布的条件还有训练数据---------因为实际上我们是“看过”训练数据之后,学习到了对数据分布的后验认识,然后根据这个认识和测试样本的feature来做出测试样本属于哪个label的决策的,所以有=。

我们认为这个条件分布由参数决定的,
即那么如何由得呢?如果我们可以求出参数关于训练数据的的后验分布(这其实就是学习过程),那么就可以来得到想要的答案(关于②如何得到,请参考其他地方的讨论PRML第一章公式1.68如何推导? - 机器学习 - 知乎,第31页公式1.68怎么推导的啊..)。

所以现在问题转化成了求条件分布的参数关于训练数据(C,X)的后验分布。那么我们来看看怎么求这个后验分布。条件分布关于训练数据的似然函数

参考技术A

生成方法的特点:生成方法可以还原联合概率分布,而判别方法则不能;生成方法的学习收敛速度更快,即当样本容量增加的时候,学习的模型可以更快的收敛于真实的模型;当存在隐变量时,仍可以用生成方法学习,此时判别方法就不能用。
判别方法的特点:判别方法直接学习的是条件概率或者决策函数,直接面对预测,往往学习的准确率更高;由于直接学习或者,可以对数据进行各种程度上的抽象、定义特征并使用特征,因此可以简化学习问题。
另外还有一篇经典的论文可以参考,讲的是朴素贝叶斯法和逻辑回归的关系,也就是生成模型和判别模型的区别:Andew Y Ng, Michael I. Jordan. On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes.

参考技术B

优点:
1)生成给出的是联合分布,不仅能够由联合分布计算条件分布(反之则不行),还可以给出其他信息,比如可以使用来计算边缘分布。如果一个输入样本的边缘分布很小的话,那么可以认为学习出的这个模型可能不太适合对这个样本进行分类,分类效果可能会不好,这也是所谓的outlier detection。
2)生成模型收敛速度比较快,即当样本数量较多时,生成模型能更快地收敛于真实模型。
3)生成模型能够应付存在隐变量的情况,比如混合高斯模型就是含有隐变量的生成方法。

缺点:
1)天下没有免费午餐,联合分布是能提供更多的信息,但也需要更多的样本和更多计算,尤其是为了更准确估计类别条件分布,需要增加样本的数目,而且类别条件概率的许多信息是我们做分类用不到,因而如果我们只需要做分类任务,就浪费了计算资源。
2)另外,实践中多数情况下判别模型效果更好。

机器学习:机器学习工作流程

文章目录

机器学习工作流程

一、什么是机器学习

二、机器学习工作流程

1、获取到的数据集介绍

2、数据基本处理

3、特征工程

4、机器学习

5、模型评估


机器学习工作流程

一、什么是机器学习

机器学习是从数据自动分析获得模型,并利用模型对未知数据进行预测。

二、机器学习工作流程

机器学习工作流程总结:

  • 1.获取数据
  • 2.数据基本处理
  • 3.特征工程
  • 4.机器学习(模型训练)
  • 5.模型评估
    - 结果达到要求,上线服务
    - 没有达到要求,重新上面步骤

 

1、获取到的数据集介绍

数据简介

  • 在数据集中一般:

    • 一行数据我们称为一个样本
    • 一列数据我们成为一个特征
    • 有些数据有目标值(标签值),有些数据没有目标值(如上表中,电影类型就是这个数据集的目标值)
  • 数据类型构成:

    • 数据类型一:特征值+目标值(目标值是连续的和离散的)
    • 数据类型二:只有特征值,没有目标值
  • 数据分割:

    • 机器学习一般的数据集会划分为两个部分:
      - 训练数据:用于训练,构建模型
      - 测试数据:在模型检验时使用,用于评估模型是否有效
    • 划分比例:
      - 训练集:70% 80% 75%
      - 测试集:30% 20% 25%

 

2、数据基本处理

即对数据进行缺失值、去除异常值等处理。

3、特征工程

3.1、什么是特征工程

特征工程(Feature Engineering)是使用专业背景知识和技巧处理数据使得特征能在机器学习算法上发挥更好的作用的过程

  • 意义:会直接影响机器学习的效果

3.2、为什么需要特征工程

机器学习领域的大神Andrew Ng(吴恩达)老师说“Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ”

注:业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。

3.3 特征工程包含内容

  • 特征提取
  • 特征预处理
  • 特征降维

 

3.4 特征工程类别介绍

  • 特征提取
    • 将任意数据(如文本或图像)转换为可用于机器学习的数字特征

特征预处理

  • 通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程

特征降维

  • 指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程

 

4、机器学习

选择合适的算法对模型进行训练。

5、模型评估

对训练好的模型进行评估。


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

以上是关于机器学习“判定模型”,“生成模型‘有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

《机器学习实战》-机器学习基础

机器学习资料《分布式机器学习算法理论与实践》+《白话机器学习算法》+《Python机器学习基础教程》

机器学习:机器学习工作流程

一文读懂什么是机器学习--1. 机器学习是什么?

机器学习机器学习的经典算法

机器学习基础教程笔记---机器学习概述