机器学习初步:绪论

整理自学堂在线同名课程

教材

选用的教材

西瓜书

西瓜书中的每一章都不会超过25页,整本书会将大部分的机器学习的内容提及到

建议使用方式

建议读3遍:

  • 第一遍要通读,速度,观其大略,要在一个月内读完
  • 阅读关于机器学习具体分支的材料(三月、半年)
  • 再读,理解技术的本质,起到提纲契领的作用
  • 对机器学习的多个分支有所了解(一年、三年)
  • 再读、细思,细致的读每一句话,从一些书中的细节处获得灵感

课程定位

科学,技术,工程,应用的区别是什么?

  • 科学解决的是:“是什么”和“为什么”
  • 技术解决的是:“怎么做”
  • 工程解决的是:“怎么做的多快好省”
  • 应用解决的是:“如何应用”

机器学习的这个课程以“科学、技术”为主,“技术”其次,”应用“很少(几乎没有)

机器学习

经典定义

利用经验改善系统自身的性能

目前做机器学习的研究必然是离不开计算机系统的,不管什么样的经验,只要想在计算机系统中出现,一定是以数据的形式存在的。所以机器要想利用经验,就一定要分析数据:从利用经验的出发点出发,去研究分析数据的技术,产生出来的分析数据的技术正是当前时代所需要的东西

机器学习目前的研究方向智能数据分析的理论和方法(前面加了个“智能”是为了与传统的统计学的分析方法进行区分)

在大数据时代,大数据\neq大价值,只有经过处理的数据才是有价值的,而机器学习中的智能数据分析恰好可以承担这个重任。

机器学习的案例

  • 医学文件筛选

    在“循证医学”中,针对特定的临床问题,要先对相关的研究报告进行详尽的评估。

    如今医疗的论文的数量已经到达了一个十分可怕的量级,若全靠人工筛选会浪费大量的时间,但使用机器学习就可以达到又快又好的效果

  • 画作鉴别

    以往这个工作是要用专家来完成的,只有少数专家花大量时间才能完成这项工作,一位专家很难同时掌握不同一时期不同流派画家的作画风格

    使用机器学习可以快速根据特征对画作进行分类

典型的机器学习过程

首先我们会收到很多历史数据(有确定结果),这个结果被称为类别标记(标签)(lable)

历史数据又称训练数据

使用学习算法(learning algorithm)进行训练后我们会得到一个模型

得出模型后我们可以将新数据样本(类别标记未知)输入模型,模型会给出一个输出(输出的是新数据样本的类别标记)

机器学习是关于学习算法的设计、分析和应用的学问

计算学习理论

机器学习有坚实的理论基础----计算学习理论

计算学习理论中最重要的理论模型是:PAC(probably Approximately Correct,概率近似正确模型)

PAC模型的基础表达式:

P(|f(x)-y|\leq \epsilon)\geq 1-\delta

所以这个表达式代表的是什么事情呢?

我们现在拿到了一个数据xx就是一个样本),我们得到一个模型f,于是这个模型fx的判断:f(x)

y 是真实的结果

那我们该怎么表达这个模型对样本的预测十分准确呢?

|f(x)-y|\leq\epsilon

\epsilon大于0但十分小的数(这部分有点像我们在高等学学中学习的极限的数学定义不是吗?)

如果\epsilon=0那我们这个模型对样本的预测就是绝对精准的

我们希望得到极为精准的f,但并不是每次都可以得到它,因此我们只能希望可以以很高的概率得到它,这个概率就是

P(|f(x)-y|\leq \epsilon)

这个概率应当是大于等于1-\delta的:

P(|f(x)-y|\leq \epsilon)\geq 1-\delta

如果这个\delta非常小,这意味着得到f的概率非常大。

这个时候我们可能会有两个问题:

  • 为什么我们不能让|f(x)-y|等于0
  • 为什么这个式子是与概率相关的,而不是每次绝对可以得到f呢?

这是由于机器学习(乃至人工智能)研究的问题具有高度的不确定性与复杂性,而且有的时候我们甚至不知道该如何实现。(影响的因素过多,无法确切的知道这些因素是如何影响的结果,这时候我们才会用机器学习)

当我们的知识已经不能精确的给我结果的时候,我们从数据中进行分析,从数据中寻找规律与答案,那么这个时候,我们就不能指望我们得出的结果一定是准确的,我们只能追求正确的概率尽可能的高。

所以机器学习所追求的是以一个很高的概率得到一个很好的模型

所以是概率近似正确

基本术语

  • 数据集:我们拿到的所有数据的集合
  • 训练:用已知的数据建立模型,这个建立模型的过程被称为“训练”
  • 测试:使用模型判断新输入的数据并输出结果(判断结果是否正确;测试的目的是评估模型好不好;测试所使用的数据的类别标记是已知的;测试所使用的数据应当与训练时的数据不同)
  • 示例(instance):不包含结果的数据(只知道西瓜表皮的颜色,敲击的声响,并不知道这个瓜是不是好瓜)
  • 样例(example):包含结果的数据(不仅知道西瓜表皮的颜色,敲击的声响,还知道这个瓜是个好瓜)
  • 样本(sample):定义较为含糊,有时我们称一个样例叫样本,有时又称整个数据集叫样本
  • 属性(attribute):西瓜的颜色是青绿色,“西瓜的颜色就是一个属性”,有时我们也将其称为“特征(feature)”
  • 属性值:西瓜的颜色是青绿色,“青绿色”是属性值
  • 属性空间:我们把每一个属性想象成一条坐标轴,由这些属性张成的空间被称为属性空间,其中的向量被称为特征向量。有时我们也将属性空间称为样本空间,输入空间(因为这个空间中包含了所有的样本)
  • 标记空间(输出空间):属性空间的定义类似

我们所说的模型其实是某种规律

但这种规律可能是对的也可能是不对的,因此模型是一个假设(hypothesis) ,所以以后我们再次提及”假设“时,我们要注意到它是指机器学习所学得的模型。

对于一个问题我们可以有很多很多的假设,那些真的假设被我们称为真相(ground-truth)

下面我们将面临一个严重的问题-----学习器是什么?

学习器是一个学习算法,它对于一个数据和参数在给定事例化之后它得到的一个结果。

也可以粗糙的理解一下:一个分类的模型叫分类器,回归的模型叫回归器,学习的模型叫学习器。

接下来我们还有一些关于输出的术语:

  • 分类,回归:如果输出是离散的(如“好”和“坏”)我们将其称为“分类”;如果输出的结果是连续的,我们将其称为“回归”
  • 二分类:“好”和“坏”
  • 多分类:“大”、”中“、“小”
  • “正类”、”反类“:正类和反类只是抽象的说法,在西瓜的问题上“好”不一定是正类,“坏”也不一定是反类(我们通常假设这两类是可交换的,这非常重要,因为可交换意味着这两类的分布是差不多的)

分类问题是机器学习中最基本的问题,其余的问题都是在分类问题上进行拓展得到的。

  • 监督学习(supervised learning)(有导师学习)

    用样例进行训练

  • 无监督学习(unsupervised learning)(无导师学习)

    用示例进行训练

    无监督学习训练出的模型无法进行分类:

    训练时没有告知是好瓜还是坏瓜,训练出的模型不具有分辨好瓜还是坏瓜的能力,只能根据属性值将西瓜分成很多堆(聚类)

    若处理的数据是离散的则是---------聚类

    若处理的数据是连续的则是---------密度估计

  • 未见样本(unseen instance):模型在训练时没有接触过的样本

对于那些我们没有见过的数据,我们有一个基本的假设(也是机器学习的基本假设):我们拿到的所有数据都来自一个潜在的分布(所有的数据背后都有一个规律)我们的数据是根据分布抽出来的,那些未来要处理的数据也是符合这个分布的。

  • 未知“分布”:上面文字中提及的分布被称为未知分布

  • 独立同分布数据(i.i.d):所有的数据都是从这个分布来的

我们假定所有机器学习中使用的数据都是独立同分布数据,这个假设非常重要,只有在这个假设的前提下我们才可以把每一个样本视为独立随机事件,才能用独立随机事件出现的频率去逼近它的概率。

现实生活中不一定所有事件都是独立的,那我们怎么能用独立同分布来建模呢?突破独立同分布是目前机器学习最前沿的内容。

  • 泛化(generalization):我们训练得到的模型处理全新数据的能力

所谓的泛化其实就是P(|f(x)-y|\leq \epsilon)\geq 1-\delta中的\epsilon最小可以达到多小

归纳偏好(偏置)

机器学习算法在学习过程中对某种类型假设的偏好

我们先考虑只有两种可能的情形,假设曲线A和B都可以完美解释训练数据的情况下,谁更好?

在通常情况下,我们所采用的一般原则是:奥卡姆剃刀(Occam's razor) :若非必要,勿增实体

简单来说就是如果我们发现有很多假说都可以解释我们的观察,这时候我们选择最简单的那个。

所以我们认为A更好!

千万不要不要以为”找到最简单的假说“是一个很简单的事情!!!!

学习算法的归纳偏好是不是与问题本身匹配,大多数时候直接决定了算法能否取得好的性能。

NFL定理

没有免费的午餐!

一个算法A若在某些问题上比算法B好,那么必然存在另一些问题BA

在一些问题上A比B好,在另一些问题上B比A好!

NFL定理的前提

所有问题出现的机会相同、或所有问题同等重要

实际情况并未如此,我们通常只会去关注自己正在试图解决的问题。

脱离具体的问题,空泛地谈论“什么学习算法更好”毫无意义!

具体问题,具体分析!

对于机器学习这个学科来说,“问题”是:在输入域和输出域都确定的情况下,找到一个映射来描述输入域与输出域之间的关系

最优的方案来自:按需设计、度身定制
更进一步的阅读
点击跳转下一篇:<机器学习初步:模型的评估与选择>

游客

全部评论 (0)

暂无评论,快来抢沙发吧~