首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于我们的算法,您必须知道的一大堆事

您的一次转发,可能会为您自己,为您身边的人,为整个社会改变一次世界!

听说配上这个音乐食用本推送效果更佳 (Seth: 我甚至不知道是听谁说的......)

tech_raven小队队长: 丁子桓

大家好,我是tech_raven小队队长丁子桓!大家还记得在开题宣言中我们提及的大数据算法吗?现在,是时候让大家一起学术一下了!在我们的课题中,我们需要用到的算法包括:

- 决策树 Decision Tree

- 朴素贝叶斯分类器 Naive (-1s) Bayesian Mode Classifier

- 逻辑回归 Logic Regression

- K-NN算法 K- Nearest Neighbour

- 随即森林 Random Decision Forests

等等等等……

可能大家会觉得有一点点懵,没关系,本篇推送中,我们将会使用最通俗易懂的方法解释给大家!我们相信,大家也希望对我们算法的运作有一个基本的了解!那么来跟我一起,向着学术的世界进发吧⊙ω⊙

对了!在这里,我想代表我们队伍所有队员向大家 (包括向我们的队员)道一句“圣诞节快乐!” (我们队伍换了头像还加了圣诞帽!)希望大家在跟着我们学术(?)的同时,有一个开心无比的假期 (拉仇恨我们放假啦hhhh)!

2017.12.18 Edited by tech_raven的dalao们

这里是滑水区与学术区(不严肃的学术区)的分界线 :D

或许我们需要先说一句“前方高能预警!”

tech_raven

作者: 小队所有成员

本文肯定有

一大堆

字跟图片

读完肯定需要

一大堆

时间

或者我们猜测您可能会选择放弃阅读

(我们很希望您能够坚持阅读……)

1

那让咱们来说说决策树先吧 :D

我们请来了正在肝舰(?)的小队队长Jack来说说决策树!

学神好……请问决策树是什么呀?

决策树是一种算法。大家千万不要看到“算法”就以为是高大上的东西哈哈,其实不是的。决策树在我们的日常生活中是十分常见的,比如说……呃……算了上图片!下面的图片就是决策树的一个直观的例子!

(敲白板)大家看一下上面的图啦!简单来说就是通过不断的分支来选取最佳结果(放在这个图里就是多个因素最终决定我接不接受这个offer)!整个过程就如上图所示,我们接受一组数据 (收到offer),把它放到多个问题里去。针对每个问题,我们会有不同的解决方案,在决策树中,每个方案会有不同的概率p,而这个概率会影响我们最终的结果,也就是我最终决定究竟要不要接受这个offer!

2

现在我们来讲讲逻辑回归吧~

我们使用了某种黑科技找到了坐在飞机上的Austin,看看dalao是怎么说的!

啧修图的人太菜了 (Seth:......= =) 那我就不装深沉了,来说正事!所以说逻辑回归是一种针对分类问题的回归算法。它不是一个普通的回归算法,因为这个算法使用线性方程来分析data set,然后得出一个针对这个set的合理的假设,然后使用这个假设分析同一组数据内的更多数据 (晕.jpg)。

在逻辑回归中,有一个常用方程,名字叫做Sigmoid函数,也叫做S型生长曲线。曲线的公式如下:

为什么这个函数比较实用呢?因为这个函数可以将变量的值映射到0和1这两个值的其中一个上面。也就是说,这个函数经常用来处理有两个outcomes的分类。举个例子!这个函数可以应用在医院方面: 确定一个患者会不会来诊;这个患者的病情是良性或是恶性的一种判断。

如果是医院的这个case,我们诊断出了一批患上了癌症的患者。但是我们并不知道对于每个个体而言他们的癌症是会往好的方向发展还是往坏的方向发展。所以我们会观察记录每一个患者的具体症状,并且把这些症状量化 (变成数字),然后使用我们的函数进行计算,最终得到0: 往好的方向发展或者1:病情恶化两种情况。

同理,在理想状态下我们也可以将这个函数应用到我们课题的其中一个目标: 来判断一封网络邮件是不是垃圾邮件。因为这个case的情况也只有两种: 是垃圾邮件与不是垃圾邮件。接下来我们就需要统计与分析垃圾邮件的具体features,然后量化这些数据代入算法内进行分析,最终得出一封网络邮件是不是垃圾邮件。

3

接下来跟学神一起了解朴素贝叶斯分类器吧!

>>>>

国交的日常问候语是“你学神!”所以……

你学神!

是的,我是学神,世界第一。

其实朴素贝叶斯分类器是一个简单易懂的计算机算法!在机器学习中,单纯贝叶斯分类器是一系列以假设特征之间强独立 (强独立的意思是两个事件之间相互独立!举个例子: 一个完美情况下的骰子,在理想环境下第一次掷出6的概率跟第二次掷出6的概率是相互独立的,它们不会互相影响)下运用贝叶斯定理为基础的简单概率分类器!

那么什么是贝叶斯定理呢?

在关键时刻图片总是必要的,请看下面 (貌似有一个语法错误)!

这幅图的意思是说:事件B绝对发生后事件A发生的概率等于事件A绝对发生后事件B发生的概率乘以事件B发生的概率除以事件A发生的概率 (事件B发生的概率除以事件A发生的概率是一个分数,所以要先进行计算!)

其实这就是贝叶斯定理啦!

4

还没完呢!我们还有随机森林!

让我们来听一下Helen是如何解释随机森林的吧!

嘛……随机森林的话,大家可以理解成是N个决策树汇集在一起。大家都说树多了就成森林嘛,其实就是这个意思!

不过我还是准备详细说说的!首先我们有一个原始数据,我们提取原始数据中的一个特征,然后这个特征将会被分成两个分支 (举个例子:我要不要接受这个offer?一个分支是yes另一个分支是no)。然后这两个分支会继续往下分,变成更复杂的子分支进行相应的决策。最终我们会得到一个我们想要的对于这个特征的分类。

我觉得我还是上图比较好,嗯!第一幅图是一个正在工作的决策树,第一幅图上左边的蓝点和右边的绿点是对于不同特征的分类。第二幅图是一个完成分类工作的决策树!

当无数个决策树都向这样工作的时候,这也就是一个随机森林啦!

当然,形成森林的过程还是有一点复杂的。这一点“复杂”正是随机森林的精髓,也是它之所以会优胜于单独一棵决策树的原因。我们首先要对手上的数据和数据的潜在特征进行“放回的随机取样 (sampling with replacement)” -- 也就是说随机抽取数据的一部分作为样本,然后将原数据恢复到我们取样之前的样子,再抽取下一份样本(一个相信很多人都见过的例子就是从袋子里摸走一个红球并放回hhh)。取样之后,在这些取出的数据中,我们用每份样本分别去训练出一棵决策树。这样建造出的森林就是我们想要的随机森林啦。在进行实际预测时,我们的结果就是每棵树所得结果的平均值。

随机森林能在一定程度上解决一棵孤独 (...) 的决策树可能带来的“过拟合 (overfitting) ”的问题。什么叫做过拟合呢?这是说,我们在训练这个模型的时候,模型可能会一不小心记住了太多太多训练数据的细节;然而这些细节怕不是并不会再出现在其他数据集中了 (...)。于是,一个过拟合的模型就不能很好的适用于大部分的数据集。举个例子,比如将一堆书按照它们的学科群来分类,却将它们的具体内容也记录了下来,这是完全不必要的。然而,在随机森林中,“放回的随机取样”让树和树之间不会态度牵扯,大量的树求平均又能“中和”掉一些过拟合的细节。这个致命伤就能在一定程度上避免了!

5

别着急,我们还有压轴戏K-NN没介绍呢!

所以压轴戏当然是请颜值担当Cyzus讲解

什么?你说K-NN是啥?Emmmmmmmmmmmm

……

K-NN的全称是K-Nearest Neighbour (K临近)。它是怎么工作的呢?首先,我们有一个training set。什么是training set呢?就是一开始给我的一些data。举个例子:我知道一个男人的身高是170,那么170这个数值就是我的一个data set,因为我确定这个170的人是个男人。然后我还需要很多种这样的set,然后把这些数据画在一个graph上,每个点都是一个坐标,然后我就会画出一个分布图,就像一个地图一样。来来来,上图!

上面的这幅图就是一个画好的分布图啦!中间的绿点是一个input(input就是我们现在又输入了一个身高的value)!我们把这个坐标插入这分布图,根据周围的范围找到跟k最接近的一个set。图上的红色三角形和蓝色方块儿是两种类型的sets。在接近k的所有的点里面,哪一种类型的点最多,我们就把这个input归入到哪个类型里

接下来还有?!

是的!

还有什么?!

结尾!

……

……

什么?!你还觉得不够学术吗?那么请打开下面的百度云链接,查看我们的调查报告原文!

个人的力量凝聚在一起,就能铸就一个又一个奇迹

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171218G0YD1Y00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券