第八章 机器学习算法 简介

27
第第第 第第第 第第第第第第 第第第第第第 第第 第第 第第 第第第 () 第第 第第第 () 第第第第第第 第第第第第第

description

第八章 机器学习算法 简介. 邹权(博士) 计算机科学系. 提要. 8.1 机器学习问题 8.2 机器学习算法 8.3 机器学习应用 8.4 WEKA 平台简介. 8.1 机器学习问题. 概念 人工智能 (Artificial Intelligence, AI) 机器学习 (machine learning, ML) 模式识别 (Pattern Recognition, PR) 研究内容 分类 (classify) 、聚类 (cluster) 、回归 (regress) - PowerPoint PPT Presentation

Transcript of 第八章 机器学习算法 简介

Page 1: 第八章 机器学习算法 简介

第八章第八章

机器学习算法机器学习算法简介简介

邹权(博士)邹权(博士)计算机科学系计算机科学系

Page 2: 第八章 机器学习算法 简介

8.1 8.1 机器学习问题机器学习问题8.2 8.2 机器学习算法机器学习算法8.3 8.3 机器学习应用机器学习应用8.4 WEKA8.4 WEKA 平台简介平台简介

提要提要

Page 3: 第八章 机器学习算法 简介

8.1 8.1 机器学习问题机器学习问题• 概念概念– 人工智能人工智能 (Artificial Intelligence, AI)(Artificial Intelligence, AI)– 机器学习机器学习 (machine learning, ML)(machine learning, ML)– 模式识别模式识别 (Pattern Recognition, PR)(Pattern Recognition, PR)

• 研究内容研究内容– 分类分类 (classify)(classify) 、聚类、聚类 (cluster)(cluster) 、回归、回归

(regress)(regress)– 有监督学习有监督学习 (supervised learning) (supervised learning) 、无、无

监督学习监督学习 (unsupervised learning) (unsupervised learning) 、半、半监督学习监督学习 (semi-supervised learning)(semi-supervised learning)

Page 4: 第八章 机器学习算法 简介

数据采集

预处理

特征提取

分类器

输入 分类结果

Page 5: 第八章 机器学习算法 简介
Page 6: 第八章 机器学习算法 简介
Page 7: 第八章 机器学习算法 简介

x

h

Page 8: 第八章 机器学习算法 简介

3.00

2.50

2.00

1.50

0.60

x2

x1

0.80 1.00 1.20 1.40

红苹果

橙子

Page 9: 第八章 机器学习算法 简介

数据采集及预处理

特征提取与选择 模式分类

数据采集及预处理

特征提取与选择 分类器设计

待识模式

训练模式

识别结果

分类

训练

Page 10: 第八章 机器学习算法 简介

不同的分类方法效果不同不同的分类方法效果不同

Page 11: 第八章 机器学习算法 简介

8.2 8.2 机器学习算法机器学习算法

• 分类分类– 朴素贝叶斯朴素贝叶斯 (Native Bayes)(Native Bayes)– FisherFisher 线性判别线性判别– 支持向量机支持向量机 (support vector machine, (support vector machine,

SVM)SVM)– KK 近邻近邻 (k nearest neighbors, kNN)(k nearest neighbors, kNN)

• 聚类聚类– KK 均值均值 (K means)(K means)

Page 12: 第八章 机器学习算法 简介

贝叶斯分类器的错误率估计贝叶斯分类器的错误率估计

1p x 2p x

Page 13: 第八章 机器学习算法 简介

贝叶斯公式贝叶斯公式

先验概率先验概率 P(cj)P(cj)

P( cj|x) =P(x|cj)P(cj)

P(x)

联合概率联合概率 P(x|cj)P(x|cj) 后验概率后验概率 P(cj|x)P(cj|x)

Page 14: 第八章 机器学习算法 简介

BayesBayes最小错误率决策例解最小错误率决策例解 两类细胞识别问题:正常类两类细胞识别问题:正常类 ((ω1ω1)) 和类异常和类异常

((ω2ω2)) 根据已有知识和经验,两类的先验概率为:根据已有知识和经验,两类的先验概率为:

正常正常 ((ω1ω1)) : : P(P(ω1ω1)=0.9)=0.9异常异常 ((ω2ω2)) : : P(P(ω2ω2)=0.1)=0.1对某一样本观察值对某一样本观察值 xx ,通过计算或查表得,通过计算或查表得

到:到: p(x|p(x|ω1ω1)=0.2)=0.2 , , p(x|p(x|ω2ω2)=0.4)=0.4

如何对细胞如何对细胞 xx 进行分类?进行分类?

最小错误率决策

最小错误率决策

p(x|ω1)

p(x|ω2)

Page 15: 第八章 机器学习算法 简介

BayesBayes最小错误率决策例解最小错误率决策例解(( 22)) 利用贝叶斯公式计算两类的后验概率:利用贝叶斯公式计算两类的后验概率:

1 11 2

1

( ) ( | ) 0.9 0.2( | ) 0.818

0.9 0.2 0.1 0.4( ) ( | )j jj

P pP

P p

x

xx

2 22 2

1

( ) ( | ) 0.4 0.1( | ) 0.182

0.2 0.9 0.4 0.1( ) ( | )j jj

P pP

P p

x

xx

argmax ( | ) 1ii

j P x

1x 决策结果

最小错误率决策

最小错误率决策

Page 16: 第八章 机器学习算法 简介

FisherFisher 线性判别函数分类器线性判别函数分类器

FisherFisher 准则的基本原理:找到一个最合适的投准则的基本原理:找到一个最合适的投影轴,使两类样本在该轴上投影之间的距离影轴,使两类样本在该轴上投影之间的距离尽可能远,而每一类样本的投影尽可能紧凑,尽可能远,而每一类样本的投影尽可能紧凑,从而使分类效果为最佳。从而使分类效果为最佳。

Page 17: 第八章 机器学习算法 简介

FisherFisher 线性判别线性判别

FisherFisher 准则的基本原理:找到一个最合适的投准则的基本原理:找到一个最合适的投影轴,使两类样本在该轴上投影之间的距离影轴,使两类样本在该轴上投影之间的距离尽可能远,而每一类样本的投影尽可能紧凑,尽可能远,而每一类样本的投影尽可能紧凑,从而使分类效果为最佳。从而使分类效果为最佳。

Page 18: 第八章 机器学习算法 简介

FisherFisher 线性判别线性判别图图例例

x1

x2

w1

H: g=0

w2

FisherFisher 准则的描述:用投影后数据的统计性质准则的描述:用投影后数据的统计性质(( 均值和离散度的函数均值和离散度的函数 )) 作为判别优劣的标准。作为判别优劣的标准。

FisherFisher

Page 19: 第八章 机器学习算法 简介

SVM-SVM-线性可分线性可分

Page 20: 第八章 机器学习算法 简介

SVM-SVM-线性不可分线性不可分

以到原点的距离作为第以到原点的距离作为第 33 维维

(实际上分布在一个旋转抛物面上)(实际上分布在一个旋转抛物面上)

Page 21: 第八章 机器学习算法 简介

8.3 8.3 机器学习应用机器学习应用

• 多媒体处理多媒体处理– 人脸识别、指纹识别人脸识别、指纹识别– 视频跟踪视频跟踪– 哼唱找歌哼唱找歌

• 自然语言处理自然语言处理– 机器翻译机器翻译– 信息检索信息检索 (google, ba(google, ba

idu)idu)– 中文输入法中文输入法

• 生物信息处理生物信息处理– 基因挖掘基因挖掘– 大分子功能预测大分子功能预测– 基因调控关系基因调控关系

• 网络安全网络安全– 垃圾邮件过滤垃圾邮件过滤– 敏感图片识别敏感图片识别– 病毒检测病毒检测

Page 22: 第八章 机器学习算法 简介

8.4 WEKA8.4 WEKA

• 全名:怀卡托智能分析环境(全名:怀卡托智能分析环境( Waikato EnviroWaikato Environment for Knowledge Analysisnment for Knowledge Analysis ))

• 下载:下载:http://www.cs.waikato.ac.nz/ml/weka

• 功能:分类、回归、聚类、关联规则功能:分类、回归、聚类、关联规则• 特点:可视化操作、可调用编程特点:可视化操作、可调用编程• 开发:开发: JAVAJAVA 、开源、开源• 荣誉: 荣誉: ACM SIGKDDACM SIGKDD的最高服务奖(的最高服务奖( 2005.2005.

88 ))

Page 23: 第八章 机器学习算法 简介

数据格式数据格式

Page 24: 第八章 机器学习算法 简介

图形化操作图形化操作http://you.video.sina.com.cn/b/8235896-1272335572.html

Page 25: 第八章 机器学习算法 简介

编程操作编程操作 ------第一个程序第一个程序public class Console {public class Console { public static void main(String[] args) {public static void main(String[] args) { try{try{ BufferedReader br = new BufferedReader(new FileReaderBufferedReader br = new BufferedReader(new FileReader

("train.arff"));("train.arff")); Instances ins = new Instances(br);Instances ins = new Instances(br); ins.setClassIndex(ins.numAttributes()-1);ins.setClassIndex(ins.numAttributes()-1); Classifier c1 = new J48();Classifier c1 = new J48(); c1.buildClassifier(ins); c1.buildClassifier(ins); System.out.println(c1.toString());}System.out.println(c1.toString());} catch(Exception ex){} }}catch(Exception ex){} }}

Page 26: 第八章 机器学习算法 简介

编程操作编程操作 --------注意事项注意事项

• 不要忘了在工程中导入不要忘了在工程中导入 weka.jarweka.jar 包包• 不要忘了不要忘了 importimport相应的类相应的类

Page 27: 第八章 机器学习算法 简介

Pancake Flipping ProblemPancake Flipping Problem

• The chef is sloppy; he The chef is sloppy; he prepares an unordered prepares an unordered stack of pancakes of stack of pancakes of different sizesdifferent sizes

• The waiter wants to The waiter wants to rearrange them (so that rearrange them (so that the smallest winds up the smallest winds up on top, and so on, down on top, and so on, down to the largest at the to the largest at the bottom)bottom)

• He does it by flipping He does it by flipping over several from the over several from the top, repeating this as top, repeating this as many times as many times as necessarynecessary

Christos Papadimitrou et al flip pancakes