本文主要是介绍分类算法NB,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
常见的机器学习任务
定义:给定一个对象X, 将其划分到预定义好的某的一个类别Yi中
-- 输入:X
-- 输出: Y(取值于有限的集合{y1,y2,y3...........,yn})
应用:
--人群,新闻分类,query分类,商品分类,网页分类,垃圾邮件过滤,网页排序
类别数量
-- 二值分类
Y的取值只有两种,如邮件是否垃圾邮件
-- 多值分类
Y的取值大于两个,如:网页分类{政治,经济,体育,........}
类别关系
-- 水平关系
类别之间无包含关系
-- 层级关系
类别形成等级体系
朴素贝叶斯(NaiveBeyesian Classification,NB) 分类器
-- 概率模型
-- 基于贝叶斯原理
• P(X):待分类对象自身的概率,可忽略
• P(yi):每个类别的先验概率,如P(军事)
• P(X|yi):每个类别产生该对象的概率
• P(xi|yi):每个类别产生该特征的概率,如P(苹果|科技)
模 型 训 练 、 参 数 估 计
策略:最大似然估计(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)
– P(xj|yi)
• Count(xj, yi):特征xj和类别yi在训练数据中同时出现的次数
– 例如:
• 总共训练数据1000篇,其中军事类300篇,科技类240篇,生活类140篇,……
• 军事类新闻中,谷歌出现15篇,投资出现9篇,上涨出现36篇
• P(谷歌|军事)=0.05, P(投资|军事)=0.03, P(上涨|军事)=0.12,……
模 型 示 例:
• 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,……
预 测
分类原则
– 给定X,计算所有的p(yi|X),选择概率值最大的yi作为输出
• X={国内,投资,市场,……} ---------------------》 词的集合
• P(军事|X)=P(国内|军事)* P(投资|军事)* P(市场|军事)……P(军事)
• 同样计算P(科技|X) P(生活|X)
– 二值和多值分类同样的做法
评测:
• 测试数据
– (微软更新必应搜索,科技)
– (名企精装修直降30万,房产)
– (国际版块利空突袭 周一大盘堪忧,财经)
混淆表:
• 准确度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%
朴 素 贝 叶 斯 分 类 特 点:
• 优点:
– 简单有效
– 结果是概率,对二值和多值同样适用
• 缺点:
– 独立性假设有时不合理
-----------------------自己理解部分-------------------------
朴素贝叶斯推导,理解与举例说明:
P(X|Y) = P(X,Y)/P(Y) --------》 联合概率
P(X,Y)=P(X|Y)*P(Y)
P(X,Y)=P(Y,X)=P(Y|X)*P(X)
P(X|Y) = P(Y|X)*P(X)/P(Y)
P(yi|X)=P(yi)P(X|yi)/P(X)
yi是指某一个分类
Y={军事、财经、体育}
X=一篇文章
xi=文章中具体某一个词
P(yi|X):给定一篇文章,属于某一个类别的概率值
P(yi):先验概率
给大家100篇文章,其中50篇是军事、30篇财经、20篇体育
P(y=军事) = 50/100
P(y=财经) = 30/100
P(y=体育) = 20/100
P(X):这篇文章的概率=是一个固定值,可以忽略掉
P(yi|X)≈ P(yi)P(X|yi)
P(X|yi):对于y指定的类别中,出现X的概率
P(xi|yi):对于y指定的类别中,出现x这个词的概率
y=军事,x=军舰
X={军舰、大炮、航母}
P(X|y=军事) = P(x=军舰|y=军事)*P(x=大炮|y=军事)*P(x=航母|y=军事)
前提:独立同分布=》朴素贝叶斯
P(yi|X)≈ P(yi)P(X|yi)
对每一个标签都求对应概率,最大者为该分类
--------------------还未写完--------------------
这篇关于分类算法NB的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!