机器学习综述

来源:互联网 发布:mac打开远程桌面 编辑:程序博客网 时间:2024/05/16 15:11

基本概念

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
基本目标是学习一个x->y的函数(映射),来做分类或者回归的工作。
“用机器学习的方法来进行数据挖掘。”机器学习是一种方法;数据挖掘是一件事情;还有一个相似的概念就是模式识别,这也是一件事情。

算法的评价标准

  • 准确率
  • 速度
  • 强壮性 数据出现噪音/缺失值情况下是否表现正常
  • 可规模性 考察在大规模数据情况下会不会出现异常
  • 可解释性 算法作出特征值选择和归类的时候,能不能解释为日常生活的情况

监督学习/非监督学习

  • 监督学习,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到一个最优模型(这个模型属于某个函数的集合,最优则表示在某个评价准则下是最佳的),再利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的,也就具有了对未知数据进行分类的能力。
  • 无监督学习,它与监督学习的不同之处,在于我们事先没有任何训练样本,而需要直接对数据进行建模。无监督学习里典型的例子就是聚类了。聚类的目的在于把相似的东西聚在一起,而我们并不关心这一类是什么。
  • 二者的中间带就是半监督学习(semi-supervised learning)。对于半监督学习,其训练数据的一部分是有标签的,另一部分没有标签,而没标签数据的数量常常极大于有标签数据数量(这也是符合现实情况的)。隐藏在半监督学习下的基本规律在于:数据的分布必然不是完全随机的,通过一些有标签数据的局部特征,以及更多没标签数据的整体分布,就可以得到可以接受甚至是非常好的分类结果。
  • 二者的区别:是否有监督(supervised),就看输入数据是否有标签(label)。输入数据有标签,则为有监督学习,没标签则为无监督学习。所谓的监督学习,其本质就是找到特征和标签间的关系(mapping)。这样当有特征而无标签的未知数据输入时,我们就可以通过已有的关系得到未知数据标签。
  • 标称型:标称型目标变量的结果只在有限目标集中取值,如真与假(标称型目标变量主要用于分类)
  • 数值型:数值型目标变量则可以从无限的数值集合中取值,如0.100,42.001等 (数值型目标变量主要用于回归分析)

标签的获取是非常困难的,所以非监督和半监督也很常见

分类/回归/聚类

特征:样本的属性
标签:样本结果的分类
学习:本质是把特征映射到标签中。(mapping)

分类和回归的区别在于输出变量的类型。
- 定性输出称为分类,或者说是离散变量预测。
- 分类算法的核心,是找到一个从样本到标签的映射(mapping)
- 分类器的功能就是实现这个映射
- 定量输出称为回归,或者说是连续变量预测

欠拟合过拟合

过拟合

在训练集上的表现很好,但是在验证集上的表现很差,泛化能力不足。

原因

  • 数据噪声
  • 数据不足
  • 模型过度复杂

解决

  • 优化正则项
  • 修改模型

机器学习的过程都是一个找到一个模式,让他的损失函数最小。
然后将该模型泛化于其他所有数据
这是ML的本质

欠拟合

在两个集上的表现都差,损失函数非常大

原因:

  • 数据不足

解决

  • 优化损失函数

我的学习

我是从0开始学ml,这里记录的是我一些心得体会和总结。
主要的参考资料:

  • 机器学习实战
  • 集体智慧编程
  • 机器学习(西瓜书)
  • 统计学习方法
  • 一些优秀的博客,论文
  • 吴恩达的公开课
  • sklearn的官方文档(重要)

主要用的语言是python,以及sklearn,numpy,panda包。
文章和内容主要是偏向于工程的,机器学习博大精深,能学多少是多少。

在工程中,经验和对业务的理解非常重要。有时候可能达到数量级上的提升。

训练集:用于训练模型的数据
测试集:用于验证模型正确性的数据

sklearn官网提供的算法集

0 0