追剧学AI (6) | 概率论在机器学习中的迁移运用,手把手建一个垃圾邮件分类器

简介:

人工智能中的数学概念一网打尽!欢迎来到YouTube网红小哥Siraj的系列栏目“The Math of Intelligence”,本视频是该系列的第6集,讲解
概率论在机器学习中的运用,看完视频后,大家会学到一个生活中非常实用的技能喔!

image

(大数据文摘已获得Siraj本人翻译授权)

大家好,我是Siraj。

让我们将目光高度聚焦在概率论在机器学习中扮演的角色,通过从头开始构建一个垃圾邮件分类器。

数学概念在生活中的应用

生活中充满了不确定性,我们尝试一些自己觉得会成功的事情,但我们无法确定,比如今天是否会下雨,或者在众人注视下跳舞是否合适,亦或是我是否该在这段感情中投入更多。概率论给我们搭建了一个大的框架来进行上述的决策,而通过这么做, 我们能做出更有效的决策。

数学的一些分支理论方法,能够在我们有完整信息时帮助我们做出决定,但是概率论能够训练我们,在规律性与不确定性并存时做出决定。就像我们真实的生活,它是用来衡量某事发生的可能性。

而分析服从一定概率分布的事件规律这一学科,叫做统计学。一个简单的例子便是抛硬币,只会存在两种结果,即正或者反,我们可以对正面出现的概率进行建模,因为我们知道两个要素,即事情可能发生的方式以及总共能出现的结果,在这个例子中便是50%。

image


就像蓝牙的工作频率一样,这是一个随机的变量,它代表着一件我们无法确定的事,无法确定的事并无法像代数那样用变量进行表述。相反的,它有一组可能的取值,也称作样本空间,以及这组里的每一个取值可能发生的概率是通过这样表示的。它们既可以是离散的,只表示一定数量的值,也可以是连续的,能够取到一定范围内的任何值。


image


假设现在有两件可能发生的事情 A和B,比如,我们抛一枚硬币,以及掷一枚六面的骰子。我们可以用三种方式来衡量它们的可能性,即当硬币是正面时,骰子是4的概率,这便是条件概率。

我们也可以对两件事情同时发生的概率建模,比如说,硬币落在正面同时骰子落在4的概率是什么,这便是联合概率。而如果我们想要知道某种特定结果的概率,比如说,仅仅只是硬币或者仅仅只是骰子的投掷概率,这种便被称为边际概率。

贝叶斯统计

在机器学习中我们做了很多类似的假设,有些时候它们是错的(一家公司),现在十分流行使用贝叶斯定理,它构建于条件概率的原理之上。

它之所以被称为定理,是因为我们可以通过逻辑来证明它的真实性。理论中说道,对于两个事件A和B,如果我们知道在A已知的条件下B发生的条件概率,以及A事件发生的概率,我们能计算得到已知B事件的条件下A发生的条件概率。

换句话来说,已知B的条件下,A发生的后验概率,能够通过下述方法计算得到,即将已知的可能性乘以先验概率,并将乘积除以已知的概率值,事件的先验概率 (the prior是英文中对先验概率的简称),它是利用已有的信息计算得出的概率。


image

某一天有雨的事前概率可以计算为0.6,在过去的100年里这个日期60%都有雨,我们从一个事前概率入手,现在我们得到了新的信息,从而更准确的重新估计此概率。

如贝叶斯统计学家Lindley所言,掏出枪,当你看到...(此处为2pac Hit'em Up歌词),等等...他说的是今天的事后概率就是明天的事前概率,我们可以利用这个定理,根据新的知识来更新概率。

如果木板断裂,这个小车而坠毁的概率是多少?木板断裂的概率为0.3,小车坠毁的概率为0.5。利用贝叶斯定理,坠毁几率为20%,事故避免啦,那么如何将此应用于机器学习中呢?

有这么一个线性分类器的家族,它们基于贝叶斯定理,被称为朴素贝叶斯分类器,它们往往表现得非常好,尤其是对于小样本来说,因此它们要优于其他更强大的替代品。

实战上手垃圾电子邮件的分类

朴素贝叶斯分类器广泛应用于一系列不同的领域,从诊断疾病,到情绪分析,到我们接下来要做的垃圾电子邮件的分类。

它们对数据做了两个很大的假设,第一个假设,样本是独立且同分布的,它们是两两相互独立的随机变量,是从相近的概率分布中得出的;第二个假设,特征的条件独立性,这意味着样本的概率,可以从训练数据中直接估计得出,而不是去评估X的所有可能性。因此给定一个N维特征向量,我们可以计算类条件概率,意思是说有多大可能性可以观测到这个特定模式,假定它属于类别Y的话,在实践中,这种假设被违反了相当长的时间,尽管它们的表现还是很不错的。

image
第一个假设


image
第二个假设

为了使用朴素贝叶斯做一个预测,我们将计算属于每个类别中的情况的概率,并使类值达到最高,对朴素贝叶斯分类器来说,这种分类数据是一个很好的用例。首先我们来加载数据文件,它是CSV格式,所以我们可以使用流行的数据处理模块pandas打开文件,并利用其读取功能将每一行存储在数据框中,每个电子邮件都标记为垃圾或非垃圾邮件。

我们可以将数据分割成一个测试我们模型的训练集,和一个评估其预测能力的测试集,对于我们在贝叶斯定理背景下的垃圾邮件分类问题,我们可以将A设为电子邮件是垃圾邮件的概率。而B设为电子邮件的内容,因此如果电子邮件是垃圾邮件的概率,大于它不是垃圾邮件的概率,那么我们将其分类为垃圾邮件,否则我们就不会由于贝叶斯定理在两种情况下都会导致B的概率作为除数。

因此可以将其从我们的比较方程中约去,计算A和非A的概率很简单,它们不过是我们的训练集中,垃圾邮件和非垃圾邮件的百分比,更为困难的部分是计算,A的条件下B的概率和非A的条件下B的概率,为了做到这个,我们需要“词袋”模型(BOW)。意思是我们把一段文字作为一组无重复词群来提取,忽略每个单词的顺序。

对于每个单词,我们计算出它出现在垃圾邮件中 和非垃圾邮件中的百分比,如果要计算一封完整邮件的另一种条件概率,我们就看邮件中出现的每个单词的之前的条件概率相乘之后的结果,这个是在分类中进行, 而不是在训练时。

我们可以构造自己的分类函数,这类函数在碰到每封邮件的时候就会启用,并且使用我们之前定义的方程去对它们进行分类,这个就是全部现在我们能很容易地对新邮件进行分类 把他们分成垃圾或者非垃圾邮件。

如果我们想要分类的邮件中的单词,不在我们的训练集里呢?不管怎样,我们要解决这个极端例子的问题。解决的方法是用一种叫,它可以让我们将代码就作为”Alpha“变量输入,这个意味着每一次我们加1,所以它永远不会是零,因为如果不是这样操作的话,他会把某个单词的概率设定成零 (比如说”警察“),这样的话 整个邮件的概率也变成了零,不管这封邮件中出现了多少个其它垃圾性词组,我们至今都还没有好的答案。

就是如果我们把模型自己变成随机会怎么样,的意思是像结构中的嵌入随机变量,变分自动编码器,很棒的一篇论文,我会发你的,请务必,我们或许还能把我们的模型造得和你一样变幻莫测,我很多变的,对于我们的模型有没有什么我们可以改进的地方?

当然啦!我们本可以用一些更有效率的技术,而不是词袋,并且用egram而不是数每个单词,但是朋友们,今天这个视频已经内容够多的了。

总结一下,概率论将有助于我们正式地将生活中的不确定因素用模型建立出来,这简直太棒啦,贝叶斯定律描述一件事情的概率是基于,之前所有可能和这个事件相关的条件,朴素贝叶斯分类器,将带有独立性假设的贝叶斯定律应用于各种特征之中。

比赛时间

这周得奖的是Hammad Shaikh的笔记,展现了如何运用主成分分析从而使一组多维的数据组视觉化,并且检测出一个人是否有糖尿病。他的笔记给我留下很深的印象,一定要,一定要去看看。

接下来第二名Christian Beekman,他用了3中不同的自动解码器将工厂数据视觉化,非常赞!

这周的挑战是写你自己的贝叶斯分类器!基于一个文本数据集 并且要比我的演示有更好的结果,具体的请移步——
https://github.com/llSourcell/naive_bayes_classifier/

赢家会在下周宣布,请大家订阅更多的编程视频。现在,我也只能接受不确定性啦!

谢谢大家观赏!

原文发布时间为:2017-09-03
翻轴:曾维新,chelle,马卓群
校对:Jenny,Sophie 后期:李文
本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”微信公众号

相关文章
|
16天前
|
存储 人工智能 大数据
AI开发新范式,PAI模型构建平台升级发布
本次分享由阿里云智能集团产品专家高慧玲主讲,聚焦AI开发新范式及PAI模型构建平台的升级。分享分为四个部分,围绕“人人可用”和“面向生产”两大核心理念展开。通过降低AI工程化门槛、提供一站式全链路服务,PAI平台致力于帮助企业和开发者更高效地实现AI应用。案例展示中,介绍了多模态模型微调在文旅场景的应用,展示了如何快速复现并利用AI解决实际问题。最终目标是让AI技术更普及,赋能各行业,推动社会进步。
|
2天前
|
SQL 人工智能 关系型数据库
AI时代下的PolarDB:In-DB一体化模型训练与推理服务
本次分享主题为“AI时代下的PolarDB:In-DB一体化模型训练与推理服务”,由阿里云资深专家贾新华和合思信息刘桐炯主讲。内容涵盖PolarDB的关键能力、AI硬件与软件结构支持、典型应用场景(MLops、ChatBI、智能搜索),以及合思实践案例——AI对话机器人提升客户响应效率。通过简化流程、SQL统一管理及内置算法,PolarDB显著降低了AI应用门槛,并在多个行业实现最佳实践。
|
17天前
|
SQL 人工智能 关系型数据库
PolarDB-PG AI最佳实践 2 :PolarDB AI X EAS实现自定义库内模型推理最佳实践
PolarDB通过POLAR_AI插件支持使用SQL调用AI/ML模型,无需专业AI知识或额外部署环境。结合阿里云EAS在线模型服务,可轻松部署自定义模型,在SQL中实现如文本翻译等功能。
|
16天前
|
人工智能 安全 大数据
PAI年度发布:GenAI时代AI基础设施的演进
本文介绍了AI平台在大语言模型时代的新能力和发展趋势。面对推理请求异构化、持续训练需求及安全可信挑战,平台推出了一系列优化措施,包括LLM智能路由、多模态内容生成服务、serverless部署模式等,以提高资源利用效率和降低使用门槛。同时,发布了训推一体调度引擎、竞价任务等功能,助力企业更灵活地进行训练与推理任务管理。此外,PAI开发平台提供了丰富的工具链和最佳实践,支持从数据处理到模型部署的全流程开发,确保企业和开发者能高效、安全地构建AI应用,享受AI带来的红利。
|
20天前
|
人工智能 安全 算法
PAI负责任的AI解决方案: 安全、可信、隐私增强的企业级AI
在《PAI可信AI解决方案》会议中,分享了安全、可信、隐私增强的企业级AI。会议围绕三方面展开:首先通过三个案例介绍生活和技术层面的挑战;其次阐述构建AI的关键要素;最后介绍阿里云PAI的安全功能及未来展望,确保数据、算法和模型的安全与合规,提供全方位的可信AI解决方案。
|
16天前
|
人工智能 容灾 Serverless
AI推理新纪元,PAI全球化模型推理服务的创新与实践
本次分享主题为“AI推理新纪元,PAI全球化模型推理服务的创新与实践”,由阿里云高级产品经理李林杨主讲。内容涵盖生成式AI时代推理服务的变化与挑战、play IM核心引擎的优势及ES专属网关的应用。通过LM智能路由、多模态异步生成等技术,PAI平台实现了30%以上的成本降低和显著性能提升,确保全球客户的业务稳定运行并支持异地容灾,目前已覆盖16个地域,拥有10万张显卡的推理集群。
|
16天前
|
人工智能 运维 API
PAI企业级能力升级:应用系统构建、高效资源管理、AI治理
PAI平台针对企业用户在AI应用中的复杂需求,提供了全面的企业级能力。涵盖权限管理、资源分配、任务调度与资产管理等模块,确保高效利用AI资源。通过API和SDK支持定制化开发,满足不同企业的特殊需求。典型案例中,某顶尖高校基于PAI构建了融合AI与HPC的科研计算平台,实现了作业、运营及运维三大中心的高效管理,成功服务于校内外多个场景。
|
2月前
|
机器学习/深度学习 数据采集
机器学习入门——使用Scikit-Learn构建分类器
机器学习入门——使用Scikit-Learn构建分类器
|
2月前
|
机器学习/深度学习 人工智能 自动驾驶
揭秘AI:机器学习如何改变我们的世界
在这篇文章中,我们将深入探讨机器学习如何改变我们的世界。从自动驾驶汽车到智能医疗诊断,机器学习正在逐步渗透到我们生活的每一个角落。我们将通过实例和代码示例,揭示机器学习的工作原理,以及它如何影响我们的生活。无论你是科技爱好者,还是对人工智能充满好奇的普通读者,这篇文章都将为你打开一扇新的大门,带你走进机器学习的世界。
43 0
|
2月前
|
机器学习/深度学习 数据采集 人工智能
自动化测试的未来:AI与机器学习的融合之路
【10月更文挑战第41天】随着技术的快速发展,软件测试领域正经历一场由人工智能和机器学习驱动的革命。本文将探讨这一趋势如何改变测试流程、提高测试效率以及未来可能带来的挑战和机遇。我们将通过具体案例分析,揭示AI和ML在自动化测试中的应用现状及其潜力。
58 0

热门文章

最新文章