隔壁的女神,老是对我笑?啥意思呢,我就用Python来分析一下

640?wx_fmt=png

最近我认识了一个姑娘,这个姑娘长得不错,眼睛大大的,个人高挑,身材火辣,对人很喜欢笑 。而且这个爱笑的姑娘对我还经常打招呼,笑脸相迎,哎呀看的我胸口小鹿乱撞,是不是喜欢我呢?

640?wx_fmt=png

640?wx_fmt=png

哎...我这没车没钱没房子,就是一个屌丝码农,172的个子,长相一般,难道看上我了!!如果能看上我的话,这单身多年的问题就解决啦,就可以赶紧打电话给老妈啦~~,不要再给我介绍某某某啦!怎么办,最近在搞机器学习,要不用机器学习算法来预测一下吧!

01.

机器学习

贝叶斯算法

啥是贝叶斯算法,我们先来做一些定义。事件A代表姑娘对他人笑,事件B1代表姑娘喜欢一个人,而事件B2则代表了姑娘不喜欢一个人。事件的定义如下图所示。

640?wx_fmt=png

我们假定这位姑娘对一个人笑的概率为0.7 ,也即P(A) = 0.7,同理我们也对事件B1和事件B2的概率做出假设,如上图所示。P(B1) = 0.2, P(B2) = 0.8。这里我们假设这个姑娘要么是喜欢一个人,要么是不喜欢一个人,所以有P(B1) + P(B2) = 1。 这里我们还假定姑娘喜欢一个人的情况下对他笑的概率是0.7 ,也即P(A|B1) = 0.7,而姑娘不喜欢一个人对他笑的概率是0.3,即为P(A|B2) = 0.3。

所以有了上述的定义之后,我们如何利用贝叶斯公式来计算姑娘对我笑其实是喜欢我们的概率,也就是求 P(B1|A) 的大小呢?

640?wx_fmt=gif

我们可以这样来思考,一个姑娘对一个人笑,在我们的上述的定义中,只有两层的含义呢:
  • 要么是喜欢这个人
  • 要么是不喜欢这个人
那么只要求出在喜欢一个人的概率之下(P(B1))乘以该姑娘喜欢一个人并对其笑的概率,再除以该姑娘对所有人笑的概率,不久可以求出来我们所要寻求的结果了吗?这段话利用下图进行直观的解释更加比较容易理解。

640?wx_fmt=png

上图中不同形状代表的是不同的概率大小,而我们最终所要求的值P(B1|A)也就是P(喜欢一个人|对一个人笑)的大小。

所以我们可以得到最后的贝叶斯公式为

640?wx_fmt=png

为了更好的让大家理解贝叶斯公式,我们针对上述公式来举个例子:

1).假设这位姑娘对每个人都微笑,那么根据人们的经验,她对你笑说明不了任何问题。

2).而上述公式中P(对一个人笑|喜欢一个人)和P(对一个人笑|不喜欢一个人)两项的值都是1

3).因为不管她喜不喜欢他人,这个姑娘都会对人微笑

此时有=>  P(喜欢一个人|对一个人笑)=P(喜欢一个人)

4).也就是说她对你微笑并没有改变任何事情。

再举另外一个比较极端的例子,这位姑娘只对她喜欢的人微笑,这包含了两个假设,用公式描述就是P(喜欢一个人)=P(对一个人微笑),并且P(对一个人笑|喜欢一个人)=1

此时有=>P(喜欢一个人|对一个人笑)=1。

那么,她肯定是喜欢你的。

640?wx_fmt=gif

02.

用程序来算一下

下面我们利用python来阐述上面的过程。程序如下。

640?wx_fmt=png

上图的程序中,我们利用python将贝叶斯公式进行了简单的实现,并得到了我们想要得到的概率值。

我们上述的程序中,将一个姑娘对人笑的概率设成固定值0.7,喜欢一个人的概率为0.2,与之对应的是不喜欢一个人的概率为0.8

然后你对着这个模型输入:
  • 姑娘喜欢一个人并对其笑的概率 
  • 姑娘不喜欢一个人并对其小的概率
你能知道 她对你笑到底是啥意思?


上述的讲述中,小编利用一个简单的示例带领大家理解了一下贝叶斯公式的内容,并对其进行程序实现,贝叶斯公式在机器学习中的应用范围非常的广泛,其实日常生活中经常用到!

其实机器学习看似非常深奥,但是掌握了之后对我们的帮助很大!有兴趣的同学,也可以动手研一下。 以上就是小编为大家带来的分享,希望大家在阅读的同时能有所收获。

最近补充一句,我准备邀请她一起吃个西餐,当面谈一下我的算法,问问她到底怎么想的,机智如我,祝我成功!

往期热门:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值