PowerPoint Presentation by D1F5IS

VIEWS: 4 PAGES: 27

									  第八章
机器学习算法简介
 邹权(博士)
 计算机科学系
               提要


8.1 机器学习问题
8.2 机器学习算法
8.3 机器学习应用
8.4 WEKA平台简介
8.1 机器学习问题
• 概念
  – 人工智能(Artificial Intelligence, AI)
  – 机器学习(machine learning, ML)
  – 模式识别(Pattern Recognition, PR)
• 研究内容
  – 分类(classify)、聚类(cluster)、回归(regress)
  – 有监督学习(supervised learning) 、无监督学习
    (unsupervised learning) 、半监督学习(semi-
    supervised learning)
     数       特
         预       分
输入   据       征       分类结果
         处       类
     采       提
         理       器
     集       取
x




    h
        x2
3.00


              红苹果

2.50



                      橙子
2.00



1.50                                      x1
       0.60   0.80   1.00   1.20   1.40
待识模式                             识别结果
       数据采集及预   特征提取与选
                         模式分类
         处理        择


                                 分类

                                 训练
训练模式
       数据采集及预   特征提取与选
                         分类器设计
         处理        择
不同的分类方法效果不同
8.2 机器学习算法
• 分类
  – 朴素贝叶斯(Native Bayes)
  – Fisher线性判别
  – 支持向量机(support vector machine, SVM)
  – K近邻(k nearest neighbors, kNN)
• 聚类
  – K均值(K means)
贝叶斯分类器的错误率估计


   p 2 x    p 1 x 
贝叶斯公式

               P(x|cj)P(cj)
  P( cj|x) =
                   P(x)
      先验概率P(cj)

      联合概率P(x|cj)
      后验概率P(cj|x)
                                    最小错误率
 Bayes最小错误率决策例解                       决策


 两类细胞识别问题:正常类(ω1)和类异常(ω2)
 根据已有知识和经验,两类的先验概率为:
  正常(ω1): P(ω1)=0.9
  异常(ω2): P(ω2)=0.1
  对某一样本观察值x,通过计算或查表得
   到:
   p(x|ω1)=0.2, p(x|ω2)=0.4
 如何对细胞x进行分类?
                            p(x|ω )
                              1

                                  p(x|ω2)
                                                                     最小错误率
Bayes最小错误率决策例解(2)                                                      决策


 利用贝叶斯公式计算两类的后验概率:

                    P (1 ) p( x | 1 )               0.9  0.2
P (1 | x )                                                          0.818
                2
                                                0.9  0.2  0.1  0.4
                 P( ) p(x |  )
                j 1
                           j              j


                  P(2 ) p( x | 2 )                  0.4  0.1
P(2 | x )                                                           0.182
                2
                                                0.2  0.9  0.4  0.1
                 P( ) p(x |  )
                j 1
                           j              j


                         j  argmax P(i | x)  1
                                  i
                                                                  决策结果
                                      x  1
    Fisher线性判别函数分类器




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

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




                H: g=0




                 w2      x1

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



        




以到原点的距离作为第3维
(实际上分布在一个旋转抛物面上)
8.3 机器学习应用
• 多媒体处理                  • 生物信息处理
 – 人脸识别、指纹识别              – 基因挖掘
 – 视频跟踪                   – 大分子功能预测
 – 哼唱找歌                   – 基因调控关系
• 自然语言处理                 • 网络安全
 – 机器翻译                   – 垃圾邮件过滤
 – 信息检索(google, baidu)    – 敏感图片识别
 – 中文输入法                  – 病毒检测
    8.4 WEKA

• 全名:怀卡托智能分析环境(Waikato
  Environment for Knowledge Analysis)
• 下载:http://www.cs.waikato.ac.nz/ml/weka
• 功能:分类、回归、聚类、关联规则
• 特点:可视化操作、可调用编程
• 开发:JAVA、开源
• 荣誉: ACM SIGKDD的最高服务奖(2005.8)
数据格式
                    图形化操作
http://you.video.sina.com.cn/b/8235896-1272335572.html
                 编程操作---第一个程序
public class Console {
 public static void main(String[] args) {
  try{
   BufferedReader br = new BufferedReader(new FileReader("train.arff"));
   Instances ins = new Instances(br);
   ins.setClassIndex(ins.numAttributes()-1);
   Classifier c1 = new J48();
   c1.buildClassifier(ins);
   System.out.println(c1.toString());}
  catch(Exception ex){} }}
     编程操作----注意事项
• 不要忘了在工程中导入weka.jar包
• 不要忘了import相应的类
          Pancake Flipping Problem
• The chef is sloppy; he prepares
  an unordered stack of pancakes
  of different sizes
• The waiter wants to rearrange
  them (so that the smallest
  winds up on top, and so on,
  down to the largest at the
  bottom)
                                    Christos Papadimitrou et al
• He does it by flipping over              flip pancakes
  several from the top, repeating
  this as many times as necessary

								
To top