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

简介:

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

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

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

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

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次计算后我们得到结果:

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




====================================分割线================================


本文作者:AI研习社

本文转自雷锋网禁止二次转载,原文链接

目录
相关文章
【数据挖掘】多项式回归原理介绍及实战应用(超详细 附源码)
【数据挖掘】多项式回归原理介绍及实战应用(超详细 附源码)
423 1
【数据挖掘】袋装、AdaBoost、随机森林算法的讲解及分类实战(超详细 附源码)
【数据挖掘】袋装、AdaBoost、随机森林算法的讲解及分类实战(超详细 附源码)
188 0
【数据挖掘】层次聚类DIANA、AGNES算法讲解及实战应用(图文解释 超详细)
【数据挖掘】层次聚类DIANA、AGNES算法讲解及实战应用(图文解释 超详细)
812 0
【数据挖掘】决策树归纳中ID3算法讲解及构建决策树实战(图文解释 超详细)
【数据挖掘】决策树归纳中ID3算法讲解及构建决策树实战(图文解释 超详细)
734 0
深入浅出:可视化理解揭示决策树与梯度提升背后的数学原理
本文将通过视觉方式解释用于分类和回归问题的决策树的理论基础。我们将看到这个模型是如何工作的,以及为什么它可能会导致过拟合。首先将介绍梯度提升以及它是如何改善单个决策树的性能的。然后将用Python从头实现梯度提升回归器和分类器。最后详细解释梯度提升背后的数学原理。
112 3
深入浅出:可视化理解揭示决策树与梯度提升背后的数学原理
【白话机器学习】算法理论+实战之决策树
【白话机器学习】算法理论+实战之决策树
171 0
|
11月前
|
【数据挖掘】Lasso回归原理讲解及实战应用(超详细 附源码)
【数据挖掘】Lasso回归原理讲解及实战应用(超详细 附源码)
1023 0
【模式识别】探秘聚类奥秘:K-均值聚类算法解密与实战
【模式识别】探秘聚类奥秘:K-均值聚类算法解密与实战
150 1
【模式识别】探秘分类奥秘:最近邻算法解密与实战
【模式识别】探秘分类奥秘:最近邻算法解密与实战
93 0

雷锋网

+ 订阅

热门文章

最新文章

下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等