HIT机器学习期末复习(1)——机器学习简介及决策树

刘杨的机器学习终于上完了惹,下周就要考试了,赶紧复习ing......

趁机做个总结,就当是复习了惹......


机器学习简介

1、什么是机器学习

简单来说,就是一个三元组<P, T, E>

P——performance性能(对应着性能的评估函数,也就是常说的loss或者likelihood)

T——task任务(对应着被优化的对象,也就是目标函数)

E——experience经验

就是我们想要某种算法,这种算法的目的是提高某项任务的性能,怎么提升呢?通过已有的经验。

一个经常被引用的定义是:

A computer program is said to learn from experience E, with respect to some class of tasks T, and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

2、机器学习的应用

语音识别器、翻译机;对象识别;机器人控制(自动驾驶);文本挖掘;生物信息学;etc,.

3、机器学习的一般泛型

①监督学习

Given D = {Xi, Yi}  learn F(?; θ)  s.t.: Yi = F(Xi)  Dnew = {Xj} → {Yj}

Xi是我们的数据集,有m维特征,一共N个数据,X是一个m×N的矩阵;

Yi是数据集的标签,和Xi一一对应,可以有{y1, y2, ..., yk}k种取值,Y是一N×1的列向量;

监督学习的意思是数据集打好了标签,这个标签和数据有一定的关联,但是我们不知道,所以我们想办法找到另一个函数去拟合这个未知的函数。最后给一些新的数据Dnew来检验这个拟合的函数,只给定X的特征,去检验得出的结果Y。

②无监督学习

Given D = {Xi}  learn F(?; θ)  s.t.: Yi = F(Xi)  Dnew = {Xj} → {Yj}

无监督学习的意思是只给数据集,没有标签,我们去给这个数据集打上标签,也就是分类,寻找某一种算法F,来做X到Y的某一种映射。

③强化学习(刘杨说会讲一点最后还是没讲惹)

Given D = {env, actions, rewards, simulator/trace/real game}

learn policy: e, r → a / utility: a, e → r  s.t.: {env, new real game} → a1, a2, a3, ...

强化学习的意思是给定某一个环境下的某些行为,例如说Alpha Go学习下棋,机器学习的是某一种规则,在什么样的环境下,有什么样的激励会采取某种行动;或者学习某种功能,在什么样的环境下,采取什么样的行为会有什么样的激励。那么最终的目的是使得在一局新的游戏中,我们能够使得机器一步一步地采取行动。


决策树

1、函数近似

  • 设置:

示例集合X

未知的目标函数?:X → Y

函数假设集合H = {h|h: X→Y}

  • 给定:

目标函数?的训练样本{<xi, yi>}

  • 确定h∈H,可以最好的近似?

2、Example:税务欺诈问题

假设这是某一个人的特征,他没有还款,已婚,收入80K,那么他是否存在税务欺诈行为呢?我们该采用什么样的函数?来判断呢?

这是一棵决策树,我们用它来查询一条数据:

  • 首先从根节点开始,如果还款了,那么判断不存在欺诈问题,如果没有还款,那么进行下一步的判断;这里这个人没有还款,那么选择右侧分支No;
  • 第二步判断他的婚姻状况,如果已婚,那么判断不存在欺诈,单身或离异,则进行下一步判断;这里这个人已婚,那么选择右侧分支Married;
  • 最后给Cheat这一项赋值No。

3、决策树

通过这个例子,我们看到什么是一棵决策树呢?

  • 输入:属性向量

X = [Refund, MarSt, TaxInc]

  • 输出:

Y = Cheat(Y取值为{Yes, No},代表是否欺诈)

  • H是不同的决策过程

就是不同的决策树

  • 每一个内节点:

测试一个属性Xi

  • 每一个分支:

选择属性Xi的一个取值

  • 每一个叶节点:

预测Y

例如上图就是一种决策树的选择,当然也可以有很多种其他的决策树的选择。

4、决策树的表示能力

决策树可以表示输入属性的任何函数

问题:可能没有泛化的能力→希望找到一个更紧凑、更小规模的决策树

5、决策树的学习

Top-Down的决策树归纳/构造算法

Main loop:

  1. A←下一个节点node的最好属性
  2. 把A作为决策属性赋给节点node
  3. 对A的每一个取值,创建一个新的儿子节点node
  4. 把相应的训练样本分到叶节点
  5. 如果训练样本被很好的分类,则停止,否则在新的叶节点上重复上述过程

那么现在的问题就在于:

  • 如何切分示例集

如何确定属性的测试条件?

如何确定最好的切分?

  • 如何确定停止切分准则X

6、如何确定最好的切分

Ideology:一个好的属性切分是将示例集合切分为若干子集,最理想的情况是没给子集“皆为正例”或“皆为反例”。

所以我们更倾向节点上的数据具有同质(homogeneous)类别分布,因此一个度量来对节点的混杂度(impurity)进行测量。

  • 熵(Entropy)

随机变量X的熵为H(X):

$H(X) = -\sum_{i=1}^{N}P(x=i)\log_{2}P(x=i)$

为什么是这样的呢?

emmm香农告诉我们的...

信息论:

在最短编码情况下,对消息X = i分配$-\log_{2}P(x=i)$位,所其编码一个随机变量X的期望位数是:

$E(X) = \sum_{i=1}^{N}X \cdot P(X) = \sum_{i=1}^{N}(-\log_{2}P(x=i)) \cdot P(x=i)$

令$E(X) = H(X)$,就是我们上面的熵的公式了!

进一步地,我们有:

  • 条件熵

$X$在给定$Y = v$特定条件熵$H(X|Y=v)$:

$H(X|Y=v) = -\sum_{i=1}^{N}P(X=i|Y=v)\log_{2}P(x=i|y=v)$

$X$在给定$Y$条件熵$H(X|Y)$:

$H(X|Y) = -\sum_{j∈Val(y)}P(y=j)H(X|y=j)$

相当于遍历Y的取值,然后sum掉。

$X$和$Y$的互信息:

$I(X;Y) = H(X) - H(X|Y) = H(Y) - H(Y|X) = H(X) + H(Y) - H(X, Y)$

  • 样本熵

假设S是训练例子的样本集,P+是样本中正例的比例,P-是样本中反例的比例,用熵来测量样本中S的混杂度:

$H(S) = -P_{+}\log_{2}P_{+} - P_{-}\log_{2}P_{-}$

原文地址:https://www.cnblogs.com/liam36/p/9932733.html

时间: 2024-10-22 15:33:40

HIT机器学习期末复习(1)——机器学习简介及决策树的相关文章

【华为云技术分享】机器学习(01)——机器学习简介

最近在研究机器学习,随手将学习的过程记录下来,方面自己的学习与回顾 1. 机器学习是什么? 机器学习(Machine Learning,ML)是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的一门科学技术. 它使用计算机技术,应用微积分.概率论.统计学.逼近论.凸分析.算法等多种不同的理论与学科,针对分析目标建立有针对性的数据模型,通过对过往历史数据的学习(分类.回归.聚类等),完成基本算法模型,并能通过后续持续的学习(数据输入),

机器学习实战笔记1(机器学习基础)

1:如何选择合适的算法 2:python简介 (1)   python的优势:相对于matlab,matlab单个软件授权就要花费数千美元,也没有一个有影响力的大型开源项目.相对于c++/c/java,完成简单的操作就需要编写大量的代码:而如今我们应该花费更多的时间去处理数据内在的含义,而无需花费太多精力解决计算机如何得到数据结果(python简洁) (2)   python具有numpy科学函数库,它是一个使运算更容易.执行更迅速的库:另外还有matplotlib绘图工具. 3:python语

Stanford机器学习---第七讲. 机器学习系统设计

本文原始版本见http://blog.csdn.net/abcjennifer/article/details/7834256 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Standford公开课mach

数据结构期末复习第五章数组和广义表

数据结构期末复习第五章 数组和广义表 二维数组A[m][n]按行优先 寻址计算方法,每个数组元素占据d 个地址单元.     设数组的基址为LOC(a11) :LOC(aij)=LOC(a11)+((i-1)*n+j-1)*d     设数组的基址为LOC(a00) :LOC(aij)=LOC(a00)+( i*n+j )*d    二维数组A[m][n]按列优先 寻址计算方法,每个数组元素占据d 个地址单元.     设数组的基址为LOC(a11) :LOC(aij)=LOC(a11)+((j

[机器学习] 1、《机器学习系统设计》学后总结

<机器学习系统设计>是一本不错的机器学习实战入门的书籍.第一章介绍了用于机器学习的Python相关工具,接下来分别用实战型例子讲解聚类.分类.回归.模式识别.降维等机器学习的主要的几种方法. 机器学习就是教机器自己来完成任务,机器学习的目标就是通过若干示例让机器学会完成任务. 像其他工程一样,设计一个机器学习系统工作一般花在一些极其平凡的任务上: (1)读取和清洗数据: (2)探索和理解输入数据: (3)分析如何最好地将数据呈现给学习算法: (4)选择正确的学习算法和模型: (5)正确地评估性

【机器学习快讯】20150206机器学习快讯

机器学习视野 <10 Machine Learning Experts You Need to Know>最值得关注的10位机器学习专家:Geoffrey Hinton.Michael I Jordan.Andrew Ng.Jeff Hawkins.Yann LeCun.Terry Sejnowski.David M. Blei.Daphne Koller.Zoubin Ghahramani.Sebastian Thrun DEEPLEARNING.UNIVERSITY的论文库已经收录了963

斯坦福机器学习公开课---1.机器学习简单介绍

斯坦福机器学习公开课---1. 机器学习简单介绍 1.1  介绍 机器学习流行原因--- 1)      由人工智能AI发展来的一个领域 2)      是计算机需要开发的一项新的能力,涉及工业和基础学科中的很多内容. 应用学习算法,如设计自主机器人,计算生物学和其他被机器学习影响的领域. 1.2  机器学习应用 1)        数据挖掘 网站点击流数据.电子医疗记录.计算生物学和工程学. 2)        无法手动进行编程的领域 自动直升机.手写体识别.自然语言处理NLP和计算机视觉.

机器学习系列(7)_机器学习路线图(附资料)

作者: 龙心尘 && 寒小阳 时间:2016年2月. 出处:http://blog.csdn.net/longxinchen_ml/article/details/50749614 http://blog.csdn.net/han_xiaoyang/article/details/50759472 声明:版权所有,转载请联系作者并注明出处 1. 引言 也许你和这个叫『机器学习』的家伙一点也不熟,但是你举起iphone手机拍照的时候,早已习惯它帮你框出人脸:也自然而然点开今日头条推给你的新闻

Python机器学习实战&lt;二&gt;:机器学习概述

1.机器学习的真实含义是利用数据来彰显数据背后的真实含义. 2.机器学习的一般用例:人脸识别.手写数字识别.垃圾邮件过滤.产品推荐等等. 3.机器学习的主要任务是分类,即将实例数据划分到合适的分类中.另一项任务是回归,主要用于预测数值型数据.分类和回归属于监督学习,之所以称为监督学习,是因为这类算法必须知道预测什么,即目标的分类信息.另一种机器学习方式是无监督学习,此时数据没有类别信息,也没有给定的目标.在无监督学习中,将数据集合分成由类似对象组成的多个类成为聚类,将寻找数据统计值的过程称为密度