您正在使用IE低版浏览器,为了您的雷峰网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
人工智能开发者 正文
发私信给AI研习社
发送

0

关于贝叶斯分类问题的一些思考和实践

本文作者: AI研习社 2017-07-05 15:11
导语:如何用贝叶斯公式处理分类问题?有哪些缺陷?

雷锋网按:本文作者夏洪进,原载于作者个人博客,雷锋网经授权发布。

这几天的时间里看了一下关于分类算法的一些知识,趁热打铁写下博客来拯救下记忆力不好的自己,话不读多说,马上开始!

先说一下前提的题设条件.假设我们现在有了一封邮件,那么我们应该怎么根据这个邮件里的一些关键的词语来给这个邮件进行分类呢?

首先我们先想可以用贝叶斯公式来进行处理:

关于贝叶斯分类问题的一些思考和实践

c是一个详细的类别,比如”朋友的邮件”,”工作邮件”等等,而d就是一些关键的词语(注意:关键词可能会有多个),上边等式的左边是指:在给出当前的关键词的条件下,类型为C的概率,更多的情况就不详细说了,有兴趣的可以翻一下数理统计书。

接下来利用相关的统计学的知识对邮件进行处理(水平太菜了,就一切简化着来)

关于贝叶斯分类问题的一些思考和实践

上面的这个 NB 的公式,就是最简化的参数公式了,下面给出相关参数的计算方法:

关于贝叶斯分类问题的一些思考和实践

但是上边的第二个公式有以下缺点:

What if we have seen no training documents with the word “fantastic”  and classified in the topic positive(thumbs-up)?

关于贝叶斯分类问题的一些思考和实践

为了避免这一种情况,我们特地的给加上一些数

关于贝叶斯分类问题的一些思考和实践

所以上述的这个问题就解决了。

现在我们举一个例子吧,这样可以加深理解

关于贝叶斯分类问题的一些思考和实践

这个部分我也在继续学习,会将陆续更新!

以下是实践部分:

现在用实际的代码来实现这个分类的问题吧.在这里我们会使用TensorFlow来解决分类的问题,以前的时候我写过关于线性回归的问题.相信看过的小伙伴可能在这里就会想这个回归的问题.那么这个回归和分类有什么区别可以值得说道说道.分类和回归的区别在我看来是在于输出变量的类型上.通俗理解上定量输出是回归,或者是连续变量的预测.定性的输出是一个分类,或者说是离散变量的预测,比如说是预测我们北京的放假会是一个回归的任务,但是把一堆水果分为苹果,桃,梨子这些区别,这其实就是一个分类的任务.

在这个例子中我们会使用的是MINIST数据库,MINIST是一个手写字体的数字库,长得大概是下边这个样子

关于贝叶斯分类问题的一些思考和实践

现在我们导入MNIST数字库:

关于贝叶斯分类问题的一些思考和实践

这个数据中大概是包含了55000张训练的图片,每个图片的分辨率大概是28*28,所以我们训练网络的输入实际上是一个784个的像素数据。

关于贝叶斯分类问题的一些思考和实践

每张图片都表示一个数字,所以我们的输出是数字0到9,共10类。

prediction = add_layer(xs,784,10,activation_function=tf.nn.softmax)

调用add_layer函数构建一个只有输入输出层的简单的训练神经网络,其中输入的数据是784个特征,输出的是10个特征,激励的是使用softmax函数,大致结构类似这样:

关于贝叶斯分类问题的一些思考和实践

loss函数(即最优化目标函数)选用交叉熵函数。交叉熵用来衡量预测值和真实值的相似程度,如果完全相同,它们的交叉熵等于零。

关于贝叶斯分类问题的一些思考和实践

train方法这里使用的是梯度下降法:

关于贝叶斯分类问题的一些思考和实践

现在开始train,每次只取100张图片,免得数据太多训练太慢。每训练50次输出一下预测精度

关于贝叶斯分类问题的一些思考和实践

在经过10000次计算后我们得到结果:

关于贝叶斯分类问题的一些思考和实践

雷锋网相关阅读:

监督学习最常见的五种算法,你知道几个?

9800万美元卖掉公司后,他用贝叶斯网络分析数据中的因与果

雷峰网版权文章,未经授权禁止转载。详情见转载须知

关于贝叶斯分类问题的一些思考和实践

分享:
相关文章

编辑

聚焦数据科学,连接 AI 开发者。更多精彩内容,请访问:yanxishe.com
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说