您的位置:首页 > 科技 > 数码 > 入门 | 诗人般的机器学习,ML工作原理大揭秘

入门 | 诗人般的机器学习,ML工作原理大揭秘

2018-09-16 来源:搜狐科技  浏览:    关键词:机器学习,神经网络

原标题:入门 | 诗人般的机器学习,ML工作原理大揭秘很多人会认为机器学习相比于传统编程是一种编写学习过程的方法,它性能非常神奇且高大上。

但是在本文中,谷歌首席决策工程师 Cassie Kozyrkov 小姐姐以非常形象的比喻介绍了机器学习核心原理。

机器学习使用数据中的模式来标记事物。

听起来好像很神奇,实际上核心概念相当简单。

比如说标记事物,把酒分为好喝或者不好喝就是一个例子。

这种标记不必想得太复杂,记得享受好喝的美酒就行啦~当然,如果你不喜欢喝酒,那无酒精的饮品可以了解一下→_ →机器学习不是魔术。

没有数据就无法学习,因此我必须尝一尝。

尝过之后我给它一个「N」的标签,N 代表「nope」,意思是「我们不要再试这个了。

」这是我们为科学做出的贡献。

学习需要素材。

想象一下我尝了 50 种酒(为科学献身!)并将其可视化。

每种酒都有年限、评分及我们尝试学习的正确答案:Y 代表「Yummy(好喝)」,N 代表「not-so-yummy(不怎么好喝)」。

我品尝了酒的味道并把它们的数据记录在电子表格(左),但是我觉得以右图的方式向你展示信息可能更友好。

选择要使用的机器学习算法,就是在选我们要用到的「菜谱」。

你要做的就是把红色和蓝色的事物分开,怎样,没问题吧?如果你想画一条线,那恭喜啦!你发明了一种叫「感知机」的 ML 算法。

嗯,一个这么简单的东西名字就是这么高大上!不要被机器学习里的术语给吓住了,实际上很多东西没有其名字那么复杂和厉害啦。

你会怎么把红色和蓝色的东西分开呢?你的线要怎么画?你应该也能看出来,一条水平线不是什么聪明的解决方案。

我们的目标是把 N 和 Y 分开来,而不是装饰地平线。

机器学习算法的目的是在数据中选择最合理的地方设置栅栏,而这要取决于数据点的位置。

那要怎么做?答案是:优化目标函数。

我计划专门写个博客来讲优化问题,但目前先这么着想:目标函数就像是棋盘游戏的得分规则,优化目标函数就是找出游戏的玩法,然后尽可能获得最高分。

目标函数(损失函数)就像是棋盘游戏的得分系统。

这张图说明,大学时代我还没有学会优化问题……通常在 ML 中,我们更喜欢大棒而不是胡萝卜——分数是对错误的惩罚,而游戏规则是这些错误得分越少越好。

这也是为什么在机器学习中目标函数被称为「损失函数」,且目标是最小化损失。

想试试吗?回到上面的分类图,把你的手指水平放在屏幕上旋转,直到错误得分为零。

希望你找到的解决方案如下所示:来,先看图片最左边;简单粗暴地画一条水平线…中间的会更好一点,但还不是最好的。

我喜欢最右边的方法。

如果你喜欢变化,那么你会爱上算法的。

世界上有太多算法了,它们彼此之间的区别在于分割边界时尝试的位置不同。

「优化狂魔」将告诉你以小的幅度旋转栅栏(fence)是绝对不行的,有很多更好的方式可以更快速到达最优位置。

一些研究者竭尽全力尝试结合多种方法在最短的距离内到达最优位置,不管地形(由输入决定)变得如何反常。

多样性的另一来源是边界的形状。

栅栏不必是直线,不同的算法使用不同的栅栏。

当我们选择这些复杂术语时,我们其实只是选择了用来划分标签的边界形状。

我们想用一条斜线分割样本,还是很多水平/垂直的线或者灵活的曲线?可选择的算法实在是太多了,分类边界的形状也各不相同。

现在,机器学习潮人都不喜欢直线。

灵活的曲线在机器学习大潮中大受欢迎(即「神经网络」,尽管其实并没有什么神经,这个名字是半个多世纪以前出现的,充满了雄心壮志,似乎没有人喜欢我的建议——将它们重命名为「瑜伽网络」或「多层数学运算」)。

与其接受与线性算法和大脑神经网络的炒作性质的对比,不如从柔术表演能力的角度来思考神经网络。

其他方法在数学瑜伽方面略逊一筹。

但是没有什么东西是免费的,神经网络需要付出代价,因此不要相信任何人称神经网络是最优解决方案的说法。

神经网络或许也可以被称为「瑜伽网络」,其特殊能力在于能够提供非常灵活的边界。

那些专业的算法名称告诉你它们将要用什么形状的栅栏划分输入数据。

如果你是一名应用机器学习爱好者,不记住它们也没问题,但在实践中你需要将数据输入到尽可能多的算法中,然后在看起来更有前途的算法上进行迭代。

布丁的存在意义就在于吃,那么我们来吃吧~即使翻阅了课本,你也很难一次就找到解决方案。

别担心。

这不是个有一个正确答案的游戏,没有人能一次就找到解决方案。

你需要修补、尝试并接着玩。

留给设计新算法的研究人员一个问题:「它是如何工作的」。

(你最终可能会熟悉这些名字,就像你了解困扰你的任何一部烂肥皂剧的角色一样。

)一旦栅栏到位,算法就完成了,你从中得到的就是你想要的:一个模型,说白了就是一个「食谱」。

现在有一些指令,让电脑在下次看到一瓶新酒时用来将数据转换成决策。

如果数据落在蓝色区域,就叫它蓝色。

落在红色部分就叫它红色。

一旦你把新铸造的模型投入「荐酒」生产中,你就可以通过给电脑输入年龄和评审分数来使用它,系统会查找出对应的区域并输出标签。

当我有四瓶新酒时,我只需将它们的输入数据与「食谱」中的红色和蓝色区域进行匹配,并相应地给它们贴上标签。

看到没?这很容易!我们怎么判断它是否有效?检查输出!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:service@qeerd.com,投稿邮箱:tougao@qeerd.com