美文网首页
分类算法-NB

分类算法-NB

作者: ForgetThatNight | 来源:发表于2018-05-20 19:09 被阅读24次

分类技术概述

• 最常见的机器学习任务
• 定义:给定一个对象X,将其划分到预定义好的某一个类别Yi中
– 输入:X
– 输出:Y(取值于有限集合{y1,y2,……,yn})
• 应用:
– 人群,新闻分类,query分类,商品分类,网页分类,垃圾邮件过滤,网页排序

不同类型的分类

image

• 类别数量
– 二值分类
• Y的取值只有两种,如:email是否垃圾邮件
– 多值分类
• Y的取值大于两个,如:网页分类{政治,经济,体育,……}
• 类别关系
– 水平关系
• 类别之间无包含关系
– 层级关系
• 类别形成等级体系

新闻分类

• 任务
– 为任一新闻,例如{股市,反弹,有力,基金,建仓,加速……}--找出刻画特征能力特别强的词语
– 指定其类别=>{军事,科技,财经,生活……}
• 基于规则的方式
– 列举每个类别的常用词
• 军事:导弹,军舰,军费……
• 科技:云计算,siri,移动互联网……
– 问题、局限性
• 如何保证列举全?
• 冲突如何处理?苹果:科技?生活?
• 不同的词有不同的重要度,如何决定?
• 如果类别很多怎么办?

分类任务解决流程

• 新闻分类
• 特征表示:X={昨日,是,国内,投资,市场……}
• 特征选择:X={国内,投资,市场……}--筛选比较好的特征
• 数据建模:朴素贝叶斯分类器
• 训练数据准备
• 模型训练
• 预测(分类)
• 评测

分类技术

image

• 概率分类器
– NB
– 计算待分类对象属于每个类别的概率,选择概率最大的类别作为最终输出
• 空间分割
– SVM
• 其他
– KNN(没有训练,上来就预测,计算量很大,好性能,但是可能是最好的分类算法)

朴素贝叶斯分类--给定某个item计算属于哪个类别的概率最大

QQ截图20180520173436.png
– 朴素贝叶斯(NaiveBeyesian Classification,NB)分类器
  – 概率模型
  – 基于贝叶斯原理
    • X:代表一个item,比如文章
    • yi:类别
    • P(X):待分类对象自身的概率,可忽略
    • P(yi):每个类别的先验概率,如P(军事)
    • P(X|yi):每个类别产生该对象的概率
    • P(xi|yi):每个类别产生该特征的概率,如P(苹果|科技)--众多特征组成一个item,然后对所有的特征token做一个连乘,所以公式成立建立在所有的特征相互独立同分布的假设上,所谓的朴素贝叶斯的朴素就是忽略了一些元素。

模型训练、参数估计

• 策略:最大似然估计(maximum likehood estimation,MLE)
– P(Yi) 每个类别的先验概率
• Count(yi):类别为yi的对象在训练数据中出现的次数
– 例如:
• 总共训练数据1000篇,其中军事类300篇,科技类240篇,生活类140篇,……
• P(军事)=0.3, P(科技)=0.24, P(生活)=0.14,……
• 最大似然估计(maximum likehood estimation,MLE)

image
– P(xj|yi)
    • Count(xj, yi):特征xj和类别yi在训练数据中同时出现的次数
– 例如:
    • 总共训练数据1000篇,其中军事类300篇,科技类240篇,生活类140篇,……
    • 军事类新闻中,谷歌出现15篇,投资出现9篇,上涨出现36篇
    • P(谷歌|军事)=0.05, P(投资|军事)=0.03, P(上涨|军事)=0.12,……

模型示例

image.png
 • P(yi)
  – p(军事)=0.3, p(科技)=0.24, p(生活)=0.14,……
 • P(xj|yi)
  – P(谷歌|军事)=0.05, P(投资|军事)=0.03, P(上涨|军事)=0.12,……
  – P(谷歌|科技)=0.15, P(投资|科技)=0.10, P(上涨|科技)=0.04,……
  – P(谷歌|生活)=0.08, P(投资|生活)=0.13, P(上涨|生活)=0.18,……
  – ……

预测

分类原则


QQ截图20180520173436.png
– 给定X,计算所有的p(yi|X),选择概率值最大的yi作为输出
  • X={国内,投资,市场,……}
  • P(军事|X)=P(国内|军事)* P(投资|军事)* P(市场|军事)……P(军事)
  • 同样计算P(科技|X) P(生活|X)
– 二值和多值分类同样的做法

评测---不能再使用训练样本去验证

• 测试数据
– (微软更新必应搜索,科技)
– (名企精装修直降30万,房产)
– (国际版块利空突袭 周一大盘堪忧,财经)
– ……
• 混淆表


image.png

评测指标

评测指标

• 准确度Accuracy:(C11+C22)/(C11+C12+C21+C22)
• 精确率Precision(y1):C11/(C11+C21)--分类器预测的角度
• 召回率Recall(y1):C11/(C11+C12)--实际的角度


评测指标

• 准确度Accuracy:(50+35)/(35+5+10+50)=85%
• 精确率Precision(y1):50/(50+5)=90.9%
• 召回率Recall(y1):50/(50+10)=83.3%
实际上精确率和召回率同时达到百分之七八十就已经不错了,不能有一个很低而且还要兼顾auc(即负样本排在正样本前面的概率)。


auc评价--未排序
auc评价--已排序

有3列,分别为item、真是类别以及预测分数,0为军事,1为财经,1全部在后面,0在前面,auc评价为完美的模型

朴素贝叶斯分类特点

  • 优点:
    – 简单有效
    – 结果是概率,对二值和多值同样适用
  • 缺点:
    – 独立性假设有时不合理

相关文章

  • 分类算法-NB

    分类技术概述 • 最常见的机器学习任务• 定义:给定一个对象X,将其划分到预定义好的某一个类别Yi中– 输入:X–...

  • 机器学习学习笔记--朴素贝叶斯实践

    朴素贝叶斯算法是应用最为广泛的分类算法之一。简称NB算法。可以用来检测异常操作,检测DGA域名,检测针对Apach...

  • 算法工程师知识树 持续更新

    机器学习算法 监督学习分类模型LRSVM决策树NB回归模型线性回归 最小二乘融合模型baggingRFboosti...

  • 分类算法与数据挖掘

    ################分类算法与数据挖掘---也就是回归于分类算法--对应于Y的0/1算法 ####分类...

  • 大数据算法:分类算法

    KNN分类算法 KNN算法,即K近邻(K Nearest Neighbour)算法,是一种基本的分类算法。其主要原...

  • 逻辑回归

    逻辑回归是一种解决分类问题的机器学习算法。 逻辑回归可以视为回归算法也可以视为分类算法,但通常用于分类,#####...

  • sklearn的常用函数以及参数——1. 分类算法

    sklearn可实现的函数或者功能有以下几种: 分类算法回归算法聚类算法降维算法模型优化文本预处理其中分类算法和回...

  • KNN算法介绍

    一、算法介绍 邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最...

  • 3.1分类和表达式

    分类 逻辑回归算法(Logiistic Regression)目前最流行,使用最广泛地一种学习算法。使用分类算法的...

  • KNN算法:K最近邻分类算法(K-NearestNeighbor

    一、KNN算法概述 最近邻算法,或者说K最近邻(KNN,K-NearestNeighbor)分类算法是数据挖掘分类...

网友评论

      本文标题:分类算法-NB

      本文链接:https://www.haomeiwen.com/subject/ksvwdftx.html