本文基本按照《统计学习方法》中第一章的顺序来写,目录如下:

1. 监督学习与非监督学习

2. 统计学习三要素

3. 过拟合与正则化(L1、L2)

4. 交叉验证

5. 泛化能力

6. 生成模型与判别模型

7. 机器学习主要问题

8. 提问

正文:

1. 监督学习与非监督学习

  从标注数据中学习知识的规律以及训练模型的方法叫做监督学习,但由于标注数据获取成本较高,训练数据的数量往往不够,所以就有了从非标注数据,也就是非监督数据中学习的方法。

  由于非监督数据更容易获取,所以非监督学习方法更适合于互联网时代,Deep Learning就是一种非监督的学习方法,机器学习笔记并不包含这部分内容,后续会专门写一个集合,记录自己在DL方面的提炼和思考。

2. 统计学习三要素

  在《统计学习方法》中,李航博士提出了统计学习方法的三要素,即:模型、策略、算法,博主觉得也可以叫做:数学模型、学习目标、优化算法,这样更加一目了然。

  数学模型——学习的目的在于学到一个由输入到输出的映射,这一映射就是数学模型,该模型即可以是概率模型,也可以是非概率模型,概率模型由条件概率P(Y|X)表示,非概率模型由决策函数Y=f(x)表示,建模的时候,通常既可以使用概率模型也可以使用非概率模型,这里又会涉及到第二个要素:学习目标的选择,如果是概率模型,通常选择最大似然函数作为其学习目标。

  学习目标——有了模型的假设空间,之后要考虑的就是按照什么样的准则去选择最优的模型(模型参数),模型的输出与期望输出之间会有一定的差距,这个差距代表的就是当前模型的好坏程度,学习目标就是要构造一个能够表示模型好坏的函数,这个函数通常叫做损失函数,或者叫误差函数、代价函数等,损失函数的选择也是十分重要的,这直接关系到学习的效果。

  优化算法——有了模型和目标函数,剩下的就是怎么求解了(模型的参数),如果最优化问题有解析解,那问题就比较简单,但通常解析解都不存在,这就得用数值计算的方法去求解,并要尽量找到全局最优解才好,通常的优化算法有:梯度下降法、牛顿法、拟牛顿法等等。

  以上就是统计学习的三要素,任何一个统计学习任务都必须有这三要素。

3. 过拟合与正则化(L1、L2)(待补充完整)

  模型是一种抽象,抽象度过低,就是欠拟合,抽象度过高,就是过拟合。

  这部分的内容在Andrew的课程(欠拟合与过拟合的概念)中有较为详细的解释,这里就不多做重复了。

  为了防止模型过拟合,通常需要使用正则化方法,对目标函数做一个惩罚,以保证其学习到的模型尽量简单够用即可,正则化的思想符合奥卡姆剃刀原则,即在所有的模型参数中,选择那个能够很好解释已知数据且最好用的模型,其实就是对学习加了一个刹车闸,防止过学习、过拟合了,让模型既能够很好的表现已知数据,又能够很好的预测未知数据,处于最佳的平衡状态。

  正则化通常使用L1与L2两个范数,此部分后续补充。。。

4. 交叉验证(待补充)

5. 泛化能力(待补充)

6. 生成模型与判别模型

  按模型特点来划分,可以分为生成模型与判别模型。

  生成模型是指由数据学习联合概率分布P(X, Y),然后求条件概率分布P(Y|X)作为预测模型:

  P(Y|X) = P(X, Y)/P(X) = P(X|Y) * P(Y)/P(X)

  之所以叫做生成方法,是因为给定输入X到产出Y的每一步这个生成过程都是可以推导得到的,例如:朴素贝叶斯方法。

  以垃圾邮件分类任务为例,模型中Y是邮件类别,X是邮件内容,容易得到这样的统计数据P(X|Y)和P(Y),其中P(X|Y)是在某个类别下某些内容出现的概率,以及P(Y)该类别整体的概率,由此可得联合概率P(X, Y),如果内容是一个个独立的词条组成,则从X到产出Y的每一步都可以由上述统计值生成推导而来。

  与之相对应的,判别方法是指直接学习决策函数Y=f(x)或条件概率P(Y|X),判别模型不关心模型的产生过程,只关心输入X可以产出什么样的Y即可,对比生成模型,判别模型有点不求甚解的味道,不过两种方法各有优缺点,常用的判别方法有:最大熵、SVM等。

  总结:

  a. 生成模型可以还原出联合概率分布P(X, Y),而判别方法不能,其缺点是直接使用概率模型,需要先验概率知识(P(X|Y)),却不能添加特征,因为特征属于中间数据,概率模型直接使用最终的概率知识P(X|Y),与判别模型不同在于,得到P(X|Y)的过程中有哪些特征导致了这个概率的生成,生成模型并不关心,如果训练数据不充分,或者数据并不吻合独立性等假设,则训练出的效果就会打折扣。

  b. 判别模型恰好相反,由于其直接面对预测,且不关心生成过程,只关注那些观测到的各种局部特征,由此来训练模型,所以可以方便的添加各种特征,学习的准确率也往往更高。

7. 机器学习主要问题

  按面向的不同问题或任务来划分,可以将机器学习任务划分为:

  a. 分类

    给定输入,预测其属于哪个类别(输出),如:垃圾邮件分类等,输出需要是有限个、离散值。

  b. 回归

    给定输入与输出(连续值),学习两者之间的关系或叫做函数拟合,其最常用的损失函数是平方损失函数(Least Squares),如:房价回归/预测、股票走势回归/预测等。

  c. 聚类

    给定多个输入,将其聚成K个类别,与分类问题的区别是分类问题已知类别,给定一个输入,要预测其属于哪个类别,聚类问题有:用户按兴趣聚类。

  d. 标注

    给定一组连续的输入,预测其中每一个输入的类别,如:序列标注等。

  e. 特征学习

    给定输入,学习其更抽象的特征,例如:DL中的图像识别问题。

 

8. 提问

  a. 什么时候使用决策函数y=f(x),什么时候使用概率模型p(y|x)?

   多数时候两者都可以,例如分类任务,有些时候最适合用决策函数,如回归任务,有些时候问题更适合转换为概率问题,因此采用概率模型,个人理解就像经济学家看待世界,所有的行为都有其背后的经济规律,可以用经济学模型来解释,而社会学家呢,则习惯用社会学的知识来看待和解释现象背后的规律,站得角度不同,利用的知识体系稍有不同,正如看同样的病症,有中医和西医两套理论,站在概率的角度,所有的输入X都有一定概率归为Y,所以一切问题都以P(Y|X)来构建模型。

  b. 什么时候用最小二乘法(Least Squares),什么时候用极大似然估计(Maximum Likelihood)?

   极大似然其实就是为了求概率最大化时的一种方法,而最小二乘则是在估计决策函数时使用的。

  

  这两个问题告诉我们,求解不同的数学模型时应该使用不同的学习目标

转载请注明引用自:

  http://www.cnblogs.com/breakthings/p/4085871.html

转载于:https://www.cnblogs.com/breakthings/p/4085871.html

机器学习笔记之基础概念相关推荐

  1. Docker:学习笔记(1)——基础概念

    Docker:学习笔记(1)--基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...

  2. Docker笔记1 基础概念和镜像

    基础概念 开发环境deepin linux 15.11.安装docker之后,执行命令: sudo usermod -aG docker $USER_NAME 让docker和当前用户在一个组中,可以 ...

  3. lua笔记1 基础概念

    基础概念 Lua的变量默认是全局的,如果想要清除,只需要设置为nil.没有赋值的变量也是nil.注意lua是动态语言,变量不需要声明类型,而且自动类型转换. b = 1 print(b) b = ni ...

  4. 云计算HCIA学习笔记-云计算基础概念

    第1章 云计算基础概念 1.1 云计算课程安排说明 (IA-虚拟化-FC / IP-Linux OpenStack 桌面云/IE-备份容灾迁移) 1.2 为什么云计算IA讲虚拟化? 提前告知学员,为什 ...

  5. 西瓜书入门辅助【机器学习 周志华】一些关于机器学习的重要基础概念提炼

    周志华. 机器学习 = Machine Learning. 清华大学出版社, 2016. Print. 文章目录 周志华. 机器学习 = Machine Learning. 清华大学出版社, 2016 ...

  6. 笔记——流水线基础概念

    什么是流水线 流水线是利用执行指令所需的操作之间的并行性,实现多条指令重叠执行的一种技术.流水线是一种在连续指令流中开发指令级并行性的技术.流水线的明显长处是:它对编程者是透明的. 就像装配线那样,不 ...

  7. 操作系统原理学习笔记(基础概念与进程)

    学习视频 王道的操作系统原理,我在网上搜了一下,没有那个视频像湖科大那种推荐的人那么多,感觉这个还可以,就看这个了. 随看随记 进程运行前需要将需要执行的程序放置到内存中,内存再到CPU中执行程序. ...

  8. 机器学习笔记-时间序列基础知识

    前言   本章不会对时间序列所有的内容进行一个全方位的介绍,只会简单的整理部分时间序列的基础知识点. 时间序列的成分 时间序列:按时间顺序记录的一组数据,称为时间序列   而一条时间序列通常可以分解为 ...

  9. 机器学习与数据挖掘: 基础概念

    如何成为机器学习工程师 https://keras-cn.readthedocs.... http://www.tensorfly.cn/tfdoc... 机器学习 vs 数据分析 数据特点 数据分析 ...

  10. 遗传算法(Genetic Algorithm)之deap学习笔记(一): 基础概念

    遗传算法是通过计算机模拟生物学中的染色体用于解决最优化的一种搜索算法. 使用遗传算法要考虑的因素: 个体表征(Individual representation) 评估和适应度分配(Evaluatio ...

最新文章

  1. android 语音通信,Android与PC间的语音通信
  2. Ubuntu 18.04换国内源
  3. matlab设计声音听听
  4. 计算机编程常用指令,加工中心几个常用指令的编程技巧
  5. 一加9系列全网预约量破200万:3月24日见!
  6. 毕啸南专栏 | 对话智联招聘CEO郭盛:未来的社会是透明的
  7. Selenium定位不到元素的解决方法—iframe挡住了去路
  8. ubuntu操作系统之新手操作必看篇
  9. SAP学习记__物料管理(MM)模块__维护仓储地点
  10. SLIC——算法详细分析及代码
  11. 蚂蚁全媒体中心总编刘鑫炜解答:「李子柒说时代给了我一阵风」,成就自媒体网红需要哪些助力?
  12. 100种网站推广方法全集
  13. Latex如何写参考文献及修改顺序
  14. WPF中, DataGrid表格设置标题Header文字大小和行高
  15. 腾讯云Elasticsearch集群多可用区容灾实现原理及最佳实践
  16. 旺旺文件上传服务器在哪,手机旺旺服务器在哪里设置
  17. 苹果电脑如何修改服务器文件在哪里设置,电脑服务器修改mac地址
  18. 关于 C++ 依赖管理
  19. kriging.grid()差值转java算法
  20. 亚马逊账户锁定无法登陆_如何删除您的亚马逊账户

热门文章

  1. 为Windows Live Writer写一个简单的插件
  2. ESP32实践FreeRTOS
  3. 手把手教你Markdown语法
  4. 汇总我关注的技术博主的2021年度总结
  5. 如何使用xxl-job分布式任务调度平台 | 定时任务
  6. 小程序获取收货地址流程
  7. 信息学奥赛一本通 1362:家庭问题(family)
  8. vue 前端获取用户登录地址 ip 设备型号
  9. 查看本地windows密码方法
  10. 软件工程课程的实践(综合实践能力创新实训 3)解决方案