最早是在《数据处理与优化算法》课堂上接触到数据挖掘(Data Mining),接着自学Pang-Ning Tan et al.的《数据挖掘导论》入门数据挖掘。所以我先讲一下数据挖掘、机器学习(Machine Learning)和统计学(Statistics)的关系。个人理解是传统统计学往往是更加偏向于纯粹的数学,偏向于理论。机器学习偏向于数学与计算机的交叉,统计的理论往往需要通过机器学习的研究来转化成有效的算法。数据挖掘是机器学习的一个应用领域,数据库(例如SQL)、大数据并行处理技术(Hadoop+Spark)与机器学习技术是数据挖掘的两大技术支撑。

机器学习可以分为以支持向量机为代表的统计学习和人工神经网络为代表的联结主义学习。统计学习模型参数往往是可解释的,而人工神经网络就是一个黑箱。

目前,主要通过学习李航的《统计学习方法》以及相关文献、博客对统计学习方法有一定的了解。所以先白话谈谈自己对统计机器学习的认识。如有叙述与理解不当之处,请不吝赐教。

什么是机器学习?要回答这个问题,首先需要明确学习的定义。Herbert Simon曾给出定义:如果一个系统能够通过执行某个过程改进他的性能,这就是学习。类比人的大脑,不断地接受信息,并遵循一定的逻辑规则处理信息,从而思维能力不断提升,对以前接触过类似的甚至没接触过的新鲜事物的判断更加准确。机器学习中的数学模型就是大脑,输入的训练数据蕴含大量信息,学习算法就是逻辑规则。学习之后,模型的分类预测能力更强,误差更小,相当于人的思维能力得到提升。所以,机器学习的核心就是数学模型(例如决策树、支持向量机、神经网络、贝叶斯网络等)。然而这些模型在没有数据的输入下是没有实际用途的,因为没有形成确定合理的参数,或者模型的结构还不够完善,就像再聪明的大脑没有经过实习训练也难以解决实际问题一样。所以需要实际的数据对模型进行训练,当然对统计学习而言,这些数据需要蕴含着相同的信息(统计规律性),就像人需要针对性学习一样。训练过程需要遵从一定的规律,就像人在处理信息的时候总是遵从一定的逻辑,这就是学习方法,而且训练不能无休无止,得有一个标准来判定什么时候结束,这就是学习策略。训练的效果好不好,得看模型的预见性,这就涉及对不同种类模型性能的度量。

一句话概括,统计机器学习是基于对数据的初步认识以及学习目的的分析,选择合适的数学模型,拟定超参数,并输入样本数据,依据一定的策略,运用合适的学习算法对模型进行训练,最后运用训练好的模型对数据进行分析预测。学习流程如下:

统计机器学习三个要素:

  1. 模型(model).例如支持向量机、人工神经网络模型等。模型在未进行训练前,其可能的参数是多个甚至无穷的,故可能的模型也是多个甚至无穷的,这些模型构成的集合就是假设空间(hypothesis space)。
  2. 策略(strategy).即从假设空间中挑选出参数最优的模型的准则。模型的分类或预测结果与实际情况的误差(损失函数)越小,模型就越好。那么策略就是误差最小。针对样本数据的误差是经验风险,但样本数目较小时不能代替数据的全部信息,故容易出现过拟合现象,即模型过度拟合小容量样本数据,从而泛化能力降低。期望风险就是针对所有数据的误差,但这里出现一个悖论,正因为存在需要预测的数据,才需要训练模型,如果所有数据的误差都能计算,那就无需训练了。故引入结构风险,就是在经验风险的基础上引入罚项(penalty term)或称正则化项(regularization),表示模型的复杂程度,以防止过拟合。
  3. 算法(algorithm).即从假设空间中挑选模型的方法(等同于求解最佳的模型参数)。机器学习的参数求解通常都会转化为最优化问题,例如支持向量机实质上就是求解凸二次规划问题。故学习算法通常是最优化算法,例如最速梯度下降法、牛顿法以及拟牛顿法等。

之前运用机器学习算法进行数据挖掘的经历告诉我对于应用而言,模型的选择(model selection)是最为关键的。首先没有哪一种算法是适用于所有情况的。例如,朴素贝叶斯分类器在输入数据各维度间相关性较大时分类效果差,而使用最为普遍的支持向量机在多分类领域表现不如随机森林且计算耗时。所以,选择模型需要在深刻明确学习目的,了解模型的理论、优缺点以及数据的特征基础上。业界有句话:真正的数据挖掘高手往往都是擅长业务的。因为业务能力强的人对数据的特征理解最为清楚。选择好合理的模型后,超参数是需要人为设定的,例如惩罚因子、学习率以及核函数等。这些参数至关重要,直接决定训练结果的好坏。如何选择这些设定参数呢?首先需要了解模型的理论,其次是丰富的调参经验(这需要建立在具体业务问题上,技术只有结合业务才能发挥用途)。Python的sklearn.model_selection.GridSearchCV可以实现自动化调参。调参过程中有几个准则需要遵守:

  1. 正则化。实质就是权衡损失函数与模型复杂度。换句话说,在降低经验误差的同时,使模型尽量简单,保证其泛化能力。这种思想符合奥卡姆剃刀(Occam`s razor)原理。
  2. 交叉验证。将训练样本分成N个大小相同的子数据集,每次训练选取其中一个作为测试数据集,其余均作为训练数据集。选取N次训练的平均误差最小的参数。

接下来,讲一下机器学习的分类。学习种类可以分为:

  1. 监督学习( supervised learning)。说白了,训练数据集包含输入X及相应的标记(输出y)两个部分。学习目的就是获得一个从X→y的映射。分类与回归问题是典型的监督学习。
  2. 非监督学习(unsupervised learning)。训练数据集只包含输入X。学习的目的在于找到数据集中隐含的结构。关联分析与大多聚类分析是典型的非监督学习。
  3. 半监督学习(semi-supervised Learning)。监督学习与非监督学习的结合。输入X,小部分有标记,大部分没有标记。标签传播算法(label propagation)是典型的半监督学习算法, 该算法充分利用已标记的样本点的信息,将其标签传播至未标记样本点,从而实现所有数据的聚类。

机器学习在数据挖掘领域的应用可分为三大部分:分类与回归,关联分析和聚类分析。

  1. 分类(classification)与回归(regression)。分为学习与预测两个阶段。学习是建立输入到输出的映射。预测是运用映射预测X对应的输出。分类针对输出是离散值的情况,回归针对输出是连续值的情况。经典的算法有:决策树、CART回归、线性回归、K近邻、逻辑斯谛回归、SoftMax、最大熵、朴素贝叶斯、感知机、支持向量机、Adaboost、提升树以及随机森林。
  2. 关联分析(association)。发现隐藏在大型数据集中的有意义的联系。经典的算法有:Apriori和FP-Growth。
  3. 聚类(cluster)。发现数据间的潜在关系,自动将数据归类(簇)。相关算法通常分为两类,一类需要确定簇的个数,例如K均值、谱聚类和高斯混合模型等;另一类自动确定簇的个数,例如DBSCAN、MeanShift、标签传播等。

[我的GitHub](https://github.com/Shi-Lixin)
    注:如有不当之处,请指正。

浅谈对统计机器学习的认识相关推荐

  1. 如何把密度函数化为标准正态二维分布_浅谈IVD统计系列--资料类型及正态分布...

    统计分析中对资料类型的识别非常重要,决定了统计分析方法的选择,因为不同类型的资料要用不同的统计方法去分析.资料类型分为计量资料.计数资料和等级资料. 1 计量资料的每个研究对象的变量值为一个数值,表现 ...

  2. 机器学习 —— 浅谈贝叶斯和MCMC

    ‍‍Abstract:最近课业内的任务不是很多,又临近暑假了,就在网上搜了一些有关于机器学习和深度学习的课程进行学习.网上的资料非常繁多,很难甄别,我也是货比三家进行学习.这是这个系列的第一个笔记,是 ...

  3. 浅谈机器学习之数据集构建

    浅谈机器学习之数据集构建 ​ 正如大家现在知道的,深度学习模型(DL)和机器学习模型(ML)是数据驱动型任务,在近乎完美的数据集面前,模型间的细微差异可以忽略.但要获得覆盖目标场景所有特征的样本,不仅 ...

  4. python中怎么计数_浅谈python中统计计数的几种方法和Counter详解

    1) 使用字典dict() 循环遍历出一个可迭代对象中的元素,如果字典没有该元素,那么就让该元素作为字典的键,并将该键赋值为1,如果存在就将该元素对应的值加1. lists = ['a','a','b ...

  5. 浅谈机器学习-回归与分类的区别

    前言 机器学习的主要任务便是聚焦于两个问题:分类和回归.本文将浅谈下两者的区别. 区别 回归会给出一个具体的结果,例如房价的数据,根据位置.周边.配套等等这些维度,给出一个房价的预测.         ...

  6. 【转】 机器学习入门——浅谈神经网络

    [转] 机器学习入门--浅谈神经网络 本文转自:https://blog.csdn.net/bitjoy/article/details/50464989 先从回归(Regression)问题说起.我 ...

  7. 浅谈机器学习之深度学习

    浅谈机器学习之深度学习 从人工智能到机器学习再到深度学习 人工智能是个很大的知识集合体,但目前有个和它关系最大的学科---机器学习 机器学习是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算 ...

  8. 机器学习:浅谈先验概率,后验概率

    机器学习:浅谈先验概率,后验概率 在学习贝叶斯网络模型的时候,接触到好多比较麻烦的概念,今天又复习了一下,就写一下笔记,用来巩固一下. 主题模型LDA算法是自PLSA之后一个重大提升.PLSA的mod ...

  9. python量化投资视频_【邢不行|量化小讲堂系列21-Python量化入门】「视频讲解」浅谈机器学习与量化投资...

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助. [历史文章汇总]请点击此处 [必读文章]: 个人微 ...

  10. 机器学习初级篇12——浅谈向量的各种积

    机器学习初级篇12--浅谈向量的各种积 向量点乘(内积)和叉乘(外积.向量积)概念及几何意义解读 一.点乘公式 二.叉乘公式 向量点乘(内积)和叉乘(外积.向量积)概念及几何意义解读 向量是由n个实数 ...

最新文章

  1. 服务器上找不到iis,解决IIS服务器部署 字体图标找不到的原因
  2. Java 分割字符串的方法String.split()底层原理
  3. 企业大型网络架构怎么做到零攻击?
  4. YonBuilder直播预约第七期 | 一场直播带你走近规则链
  5. Python自动化运维工具-Fabric部署及使用总结
  6. 使用swipecard实现卡片视图左右滑动监听以及点击监听
  7. 双指针算法基本原理和实践
  8. 【论文阅读】Learning Traffic as Images: A Deep Convolutional ... [将交通作为图像学习: 用于大规模交通网络速度预测的深度卷积神经网络](1)
  9. 一场赛跑引起的并发知识
  10. Matplotlib 中文用户指南 4.3 文本属性及布局
  11. 单选按钮带文字_店铺装修V2.0全新升级!带你走进商城个性化装修的智能时代!...
  12. YII with()
  13. 量子计算机组运算极限,拓扑量子计算
  14. python xml转excel_使用python脚本将XML 电子表格转变为Excel
  15. SpringBoot Web项目 解析
  16. 超文本传输协议版本 2 [http/2 spec]
  17. FL Studio教程之如何慢慢降音
  18. mysql数据库有string_mysql数据库内STRING系列数据类型介绍
  19. 百度官方大拿分享:移动搜索下的新机遇新挑战
  20. 玉雕工作室php,吴春强玉雕大师—吴春强玉雕工作室

热门文章

  1. Excel的窗口如何冻结与拆分?
  2. 阿里云商标注册流程是怎么样的(注册步骤详细教程)
  3. docker push received unexpected HTTP status: 503 Service Unavailable
  4. 激活ltsb2016_WIN10 LTSB 2016电话激活步骤详解
  5. 做头条自媒体的利与弊,避免少走一些弯路
  6. 人生的意义到底是什么?
  7. 对话李国权:新加坡为什么能成为全球Web3.0创业的节点?
  8. el-select和el-tree组成树下拉框以及数据回显
  9. AD7705驱动代码 -- Linux SPI设备驱动
  10. 学习java 的第一节课