生成概率模型(Generative Model)

1.概率分布

我们还是从分类问题说起:
当我们把问题问题看做是一个回归问题, 分类是class 1 的时候结果是1
分类为class 2的时候结果是-1;
测试的时候,结果接近1的是class1 ,结果接近-1的是class2

问题解决了! 但是这只是看起来很美,但是如果结果远远大于1的时候,他的分类应该是class1还是class2,我们为了降低整体误差,需要调整已经找到的分类函数,这样会实际导致结果的不准确

所以这是另一个角度,分类不能用回归的思路去做的原因。
##分类问题机器学习三板斧

  • 1.函数(Model)

以二分类为例,f(x)f(x)f(x)

  • 2.损失函数(Loss)

  • 3.找到最好的函数(SVM,perceptorn)(以后会讲)

2. 概率生成模型

我们开始我们的生成概率模型,首先举一个例子,有两个盒子,有蓝球和绿球,
那么问题来了,如果闭着眼睛拿出一个蓝色的球,概率是三分之二(高中数学),但是如果问题是:拿出一个蓝色的球并且它盒子1的概率是多少。
我们假设:p(B1∣x)p(B_{1}|x)p(B1​∣x), 当p(B1∣x)》0.5p(B_{1}|x)》0.5p(B1​∣x)》0.5 我们就认为它属于盒子1.

那么蓝球来自盒子1的概率是:

推而广之:如果我们看成分类,两个类别

那么给一个x,他的分类的概率是:

整体p(x)p(x)p(x)的概率是:

生成概率模型其实是先假设数据的概率分布(正太、伯努利、泊松),然后用概率公式去计算x所属于的类型p(C1∣x)p(C_{1}|x)p(C1​∣x)

一般的,我们假设x的分布为高斯分布(最为常见的概率分布模型),为什么会往往选择高斯分布呢,概率论中的中心极限定理告诉我们答案。
一维的概率分布一般是钟形曲线,大家都比较了解,那么高维的分布是:

均值为μ\muμ,协方差为∑\sum∑

上面三幅图表示均值都为0,但是协方差分别为为I , 0.6I,2I

更多的例子


我们假设数据点服从高维高斯分布,那么,我们需要找到这个高斯分布的函数,也就是为μ\muμ,和协方差∑\sum∑。
这个函数满足,它的所有数据点的生成概率是最大的,假设有79个数据点,他的高斯函数的求法:

3.解决分类问题

让我们开始我们的分类问题:
我们要进行二分类,分别是水系的怪物精灵和一般的怪物精灵(李宏毅老师的例子),我们计算得到他们的高斯分布分别为

那么我们就可以用本篇第一部分的公式计算x的分类了,水系p(C1)p(C_{1})p(C1​),非水系p(C2)p(C_{2})p(C2​) 分别在数据中就可以简单计算,p(x∣C1)p(x|C_{1})p(x∣C1​),p(x∣C2)p(x|C_{2})p(x∣C2​) 由它们概率密度函数推导求解得到(积分)

这样就把分类问题变成了一个概率计算问题了。
但是结果不理想,只有54%的正确率。

我们分析一下原因,是由于两类额协方差导致参数过多,那我们让协方差共享∑\sum∑,减少协方差的种类。

我们得到了73%的正确率

本专栏图片、公式很多来自台湾大学李弘毅老师、斯坦福大学cs229,斯坦福大学cs231n 、斯坦福大学cs224n课程。在这里,感谢这些经典课程,向他们致敬!

机器学习与深度学习系列连载: 第一部分 机器学习(五) 生成概率模型(Generative Model)相关推荐

  1. 机器学习与深度学习系列连载(NTU-Machine Learning, cs229, cs231n, cs224n, cs294):欢迎进入机器学习的世界

    欢迎进入机器学习的世界 本教程是根据台湾大学李弘毅老师的课程机器学习课程,斯坦福大学CS229.CS231N.CS224N.CS20i.伦敦大学学院 ([UCL-Course])(http://www ...

  2. 机器学习与深度学习系列连载: 第三部分 强化学习(八) 整合学习与规划 (Alpha Go 基本原理)

    整合学习与规划 本篇之前所有的内容都没有提及到个体如何构建一个模拟环境的模型,自然也没有讲解个体构建一个模拟环境的模型对于解决MDP问题有何帮助. 本篇即关注这两个问题. 通过构建一个模型,个体具备了 ...

  3. matlab“机器学习和深度学习”系列工具箱作用总结

    这是MATLAB r2019a的"机器学习和深度学习"工具箱 1,Classification Learner工具箱 打开之后的界面,主要用于分类 具体用法见: MATLAB自带分 ...

  4. python系列文章(基础,应用,后端,运维,自动化测试,爬虫,数据分析,可视化,机器学习,深度学习系列内容)

    python基础教程 python基础系列教程--Python的安装与测试:python解释器.PyDev编辑器.pycharm编译器 python基础系列教程--Python库的安装与卸载 pyth ...

  5. fast.ai 深度学习笔记:第一部分第五课

    原文:Deep Learning 2: Part 1 Lesson 5 作者:Hiromi Suenaga 课程论坛 一,引言 没有足够的关于结构化深度学习的出版物,但它肯定出现在行业中: 结构化深度 ...

  6. 【深度学习系列】——深度学习简介

    这是深度学习系列的第一篇文章,欢迎关注原创公众号 [计算机视觉联盟],第一时间阅读我的原创!回复 [西瓜书手推笔记] 还可获取我的机器学习纯手推笔记! 直达笔记地址:机器学习手推笔记(GitHub地址 ...

  7. 灵魂拷问:机器学习、深度学习专业已经沦为调包专业了吗?

    有硕士同学问:小弟现在正在高校读硕士,目前跟着导师做自然语言处理的研究,虽说听起来高大上,但是做过的都知道,例如深度学习框架跑起来就是各种调包,运气好凑个模型出来发发论文,技术含量就比较稀少了,感觉现 ...

  8. 【机器学习基础】机器学习和深度学习的练习数据

    0.导语 初学者学习机器学习和深度学习的时候,经常会找不到练习的数据,本文提供了获取数据的一些方法. 一.scikit-learn自带数据集 Scikit-learn内置了很多可以用于机器学习的数据, ...

  9. 【机器学习基础】获取机器学习和深度学习的练习数据

    0.导语 初学者学习机器学习和深度学习的时候,经常会找不到练习的数据,本文提供了获取数据的一些方法. 一.scikit-learn自带数据集 Scikit-learn内置了很多可以用于机器学习的数据, ...

最新文章

  1. 【组队学习】【35期】动手学数据分析
  2. python多继承顺序_Python多重继承方法解析顺序(MRO构建算法)
  3. 算法:三种简单排序算法
  4. 皮一皮:论脑回路的新奇指数...
  5. oracle查询字段精度,【Oracle】查询字段的长度、类型、精度、注释等信息
  6. java 使用vsphere 创建虚拟机‘_Java数组的创建及使用
  7. HDU-1671 Phone List
  8. Linux 安装 tomcat
  9. 田汉卿 | 量化基金怎么投,才能源源不断赚钱?
  10. Anthony Zee《Quantum Field Theory in a Nutshell (2nd)》(徐一鸿《简明量子场论(第二版)》)中文目录
  11. 百度正式开放大数据引擎
  12. 费马小定理(详细证明)
  13. 除了像菊花的微信小程序二维码,我还找到更多奇葩
  14. 魔兽争霸war3心得体会(三):UD内战
  15. 2022材料员-岗位技能(材料员)操作考试题及答案
  16. 北航计算机在职研究生多少钱,在职攻读北航研究生需要多少学费?
  17. vlan—虚拟局域网
  18. java中gat和sat方法_2016届高考语法专项复习单项填空(16)
  19. 如何为您的在线业务设置和使用YouTube
  20. 3DSSPP人因工程静态力仿真软件

热门文章

  1. 自编STM32轻量级操作系统(一)------操作系统实现
  2. 得实ds2600打印机连接问题
  3. ❤️思维导图整理大厂面试高频数组: 两万字详解各种数组求和(建议收藏)❤️
  4. 插入排序与选择排序的比较
  5. 你想成为什么样的人?
  6. 反射工具-ReflectUtil
  7. NSFileManager终极杀手
  8. 主板鸣叫_为代码#4鸣叫
  9. Android利用方向传感器获得手机的相对角度实例说明
  10. java/php/net/python停车场收费管理系统设计