机器学习理论研究方法探讨

本文译自:http://www.alexirpan.com/2016/07/17/ml-sleep.html,原文标题《The Machine Learning Casino》,译文供您参考。

一、机器学习理论研究

机器学习是一种能使计算机半自主地对数据进行分析,并从中学习经验的算法。

机器学习理论的研究听上去就好像做这么一件事,让我们的研究人员去深刻探索,提高计算机学习数据集的效率的方法。

事实上,机器学习理论的研究可以在我们的生活的每时每刻找到影子。就好像你在不断的进行一场赌博,只不过你的筹码是你的时间。你把你的时间花费在了一些有启发性的事物上去,而这场赌博的最终大奖看上去就是未来光明的前途。当然,即使你付出了大量的时间,你也可能遇到你无法想象而又无法理解的失败。

二、机器学习中理论与实践的关系

尽管机器学习是建立在统计学的基础之上的,但事实上机器学习也可以被更多的说成是一门实践性的科学。

然而谈到到实践性,这并不意味着这是一门轻视基础理论的学科。在机器学习里会遇到众多理论问题。例如,赌博机问题,凸优化与非凸优化,图形建模,以及信息理论的问题,当中涉及到了许多不同的学科领域。如果你要你深究机器学习,你可以在这些问题里花花时间。

这里面内容太深太广,对于普通的开发者来说,学完全部的内容并不是一件容易的事情。现实就是,人们都希望自己的算法是有保障的,但是不是每个人都愿意花时间去深究为什么他们的算法是有保障的。

好吧,在当下在APP开发火爆的环境下,人工智能的宣传满天飞。但是人们往往首先关心的只是最终的产品,然后在开发进度中逐渐才会关注基础理论的重要性。一般的开发者往往都是会从一些有启发的事情中获得灵感,通常来说,这些有启发的算法能对既已出现的情况做出相应的反应,但是这些算法仅停留在面向过程的层面,基本没有更深的内涵。

三、实验方法

那么我们想想,我们到底是怎样发现这些有启发性的事物的呢?这里介绍一个方法:

一、提出假设。

二、设计一个实验来检验这一假设。

三、进行实验并分析结果。

四、细化假设并改进实验设计。

五、重复以上流程,直到最终得出结论

在机器学习的领域,提出假设是有前途的算法,进行实验便能检验这些算法的正确性。

重点是什么?就是做做实验,直到最后你的理论被最终证明有效。

好,回过来,接下来我和大家分享一些有用的东西。



四、机器学习中的理论是否已经非常成熟了呢

当前的这门艺术的状态还是概率性的并且高度个性化的。经验上来说,概率化的方法现在已经能很好的在大数据领域等领域应用。

个性化意味着你能尝试调试不同参数并观察他们之间的差别,你有没有尝试调整过超参数?有没有尝试过清洗你的数据?或者使用一种不同的最优算法?让你的模型变得更简洁?或者说让你的模型更加复杂化?玩过Batch Normaliztion算法吗?校正过非线性失真的图像吗?我们希望能探索出一些新的方法来打破常规来解决一些实际问题。然而不幸的是,我们目前的工作还没能力达到那个程度。神经网络确实是非常神奇的,但是你一旦用它玩完那些简单的问题后,你会发现其实还有很多问题还不能解决。

机器学习中会设置一些特征参数,而且这些我们也不会说哪些参数是失败参数。这样的事可能是在其他学科中不会出现的。但是在机器学习中,事情就是这样。而且有时,完全相同的参数设定也不会得到相同的结果。你可以认为我们能做的更好,但是难以重现结果确实是一个问题。

对每一个欣赏机器证明艺术的人来说,这也是机器学习中最气死人的地方。在我们进行超参调优的时候,我们往往并没有带着专门去探索其理论基础的学习动机。但这却是你们必须做的事情,机器学习之美和现实应用有时会脱节。这里有一个段子,是一个计算机视觉教授和他的学生说的:

 

学生:这理论没有什么实际应用。

教授:真的没有用吗,就算真的没有什么实际应用,理论本身就已经是艺术。

学生:你说的我都懂,理论很高端,但却在实际生活中没有用。甚至连Lenna图像也不能很好的处理。

教授:(半开玩笑的说)也许我们处理一百万个图像,可能在这个过程中,我们就会发现机器学习的作用。

学生:如果连Lenna都不能处理,就更别说无数个Lenna了。

教授:哈哈哈,我也这么认为,真是倒霉啊。

我能体会他们的苦衷。

在训练了足够的机器学习模型后,你就找到问题的关键,能识别常见的无效模式。当你能正确进行模式识别,你便能开始总结出新的识别方法。然而,这种识别没法达到保证百分百成功的程度。我喜欢开玩笑的说,有一天理论学家会找到比纯粹靠经验的好方法。但是我不认为在当下能很快实现。因为这些理论上的东西真的比较难。

理论上,在监督机器学习中,已经发现了“No Free Lunch”定律。我如果这么说可能会显得不太正式,但是确实没有哪一种算法能在每一个可能的问题里打败另外一种算法。换句话说,永远不会有一个算法统治所有其他算法。当然,如果有人能证伪这一点,那当然是最好不过的事了。



五、如何在实验中获取有价值的结论

我依旧没有解释为什么机器学习的研究能应用到我们的生活当中。

我认为我已经迂回地说过了。机器学习实验的是随机性的。即使是这个领域内的大牛也不能掠过超参调优的过程。

这就让这个领域让人感觉像一个巨大的赌场,你拉动了水果机的拉杆,希望自己能中奖。有的时候,你确实能中彩,但是也不会中奖。 或许凑巧的是,有人告诉你玩的这台水果机已经十年没有开奖了,你也许应该尝试新的水果机。机器学习就好像民间传说,这里面的窍门和门道人们一代又一代相传。

我们理解了许多知识,但是水果机就是是水果机,这里面不可避免的随机性问题随随便便就能毁了你美好的一天。或者有更糟的情况,这样的“水果机”也许就隐藏在你的工作里,你的股票基金里,你的前途里。

在这样的机器学习的游戏里,要么你很幸运,要么你在尝试了许多次后你必将获得幸运。这里面唯一保证成功的途经就是做这个后者。

那就意味着实验,你需要做海量的实验。其实在进行实验的这段时间你也不需要做什么事情。你在你准备休息的时候运行实验。比如说,你准备去吃中饭。那就开始在计算机上运行你的实验吧。看看你吃完后会不会有什么新的实验结果。又或者说你准备出去玩,那你或许可以整夜的运行你的实验,在第二天再去查看你的实验结果。再比如,你不想在这个周末工作?那好吧,你的电脑可不会介意在周末上班的。我们写好代码,我们便能在无人值守的情况下进行实验,这真的是非常的棒。只要你的代码是有效的,如果你的代码出现了问题,那么好吧你需要修复出现的bug。除去修复代码的时间,你可以每时每刻都在运行你的实验。

计算机的工作就像是一个工作狂一样。你也不需要立即修改你的代码,就像你不需要一次把所有的筹码都买满水果机的下注。我很确信随着时间的增长,你最终会变得十分幸运,即使你错过了一两天,这也不会影响最终的结果。

如果有一种方法能让机器算法能有效。我也不知道会不会真的有这样的算法,我在心里还曾想过那么一秒,我如果在这个满月下献祭一只山羊,会不会就能让这项工作有效了。如果机器学习的算法真的这么简单就能有效了,我想应该有人会想出无数的方法想着怎么去献祭山羊了。

不过好事不会像山羊献祭这么简单的,因我也不想做这种没有什么意义的事情。

六、结语

在这里,你可能会想知道,为什么我有时会对机器学习感到有些厌烦。

事实上,所有的废话也会有一定的价值,实验的运行中有许多令人激动的事情在不断发生,因此,我对机器学习中出现的问题也越来越能容忍,我对此也感到习以为常了。和理论相比,运行试验就是浪费时间,但这是令人激动的垃圾时间。

我认识的计算机理论科学的朋友们可能会认为我已经疯了,我正做的这些实验简直让我近乎疯狂!哦,好吧还有什么新理论吗。

我们的这些工作,处于获取真理的边缘。如果这样繁复的工作就是我们必须要付出的代价,我必然会毫不犹豫地会选择付出。

“标枪远远领先于她,并移动的更快。殖民者还有很多许多时间来进行活动。当她到达天狼星的时候也许会在那儿发生什么,也许会十分友好。就算真的遇到不友好的事情,她也能到时候再随机应变。”

——摘自小说《RA》

 

作者:alexirpan    译者:语林

更多详细内容,请您点击这里:阅读原文

用云栖社区APP,舒服~

【云栖快讯】映客、熊猫TV、虎扑、HTC、优酷土豆、网聚宝、博云视觉、钉钉、驻云、e代驾……互联网时代知名企业现场分享他们的云端体验,更有意想不到的重磅神秘嘉宾来袭!8月9日,北京云栖大会来袭,火速报名!  详情请点击

时间: 2024-12-17 15:11:24

机器学习理论研究方法探讨的相关文章

《机器学习理论、方法及应用》研读(1)

第一章 机器学习概述 机器学习的概念 学习:可以从不同角度对学习给出解释,但是都包含了知识获取和能力改善这两个主要方面.因此给学习如下一般的解释:学习是一个有特定目的的知识获取和能力增长过程,其内在行为是获得知识.积累经验发现规律等,其外部表现是改进性能.适应环境.实现自我完善等. 机器学习:机器学习是一门研究怎样用计算机来模拟或实现人类学习活动的学科,是计算机科学.数学.心理学.生物学和哲学等多门学科的交叉. 机器学习的发展历史 第一阶段是20世纪50年代中叶到60年代中叶属于热烈时期.第二阶

关于anroid设置webview背景方法探讨(转)

最近的项目中一直关于webView设置背景色问题在研究,最终找到了解决的方法. 基于我项目的需求,从服务端传过来的是带有标签的文本,如果使用textView会让整个布局显得很乱,里面的<img />的加载也会是个麻烦,但是基于webView背景色的设置就是研究的一个方向了! 使用android 中WebView的同事们都会发现一个问题,在使用webView控件时会发现其背景色是系统固定好的,如果不是用特殊方法更改其背景色会和自己整体的布局及色彩搭配 很不适应! 下面就来介绍在不同android

浅说机器学习理论

机器学习是现在在风口上.其包括一系列的具体算法,学习这些算法需要一定的数学基础(线性代数.概率论),网上有大量的资料可以参考学习:对于工程来说门槛就更低了,有许多优秀的现成框架可以使用.虽然我们调用一些api.调调参数就能完成很多工作,但是理解这背后的"为什么"还需要下一番功夫.机器学习理论是该领域的分析框架,这方面的内容比较抽象,且"实用性不强",所以常常被人忽略.这篇博客就来通俗地讲讲这些理论. 1.什么是机器学习 计算机编程算法是用来解决各种实际问题的.在传统

网络信息安全风险态势预测分析方法探讨

1.研究背景 安全风险态势预测分析是信息安全技术和管理领域中的重要内容,传统的方法一般会按如下几个方面独立地或者混合进行分析: 1.获取历史上安全攻击相关信息,利用概率模型或者使用历史数据进行训练,根据结果进行风险预测[1] [2]: 2.根据各种信息资产的安全脆弱性进行分析: 3.根据各种信息资产的安全属性,包括保密性.完整性.可用性等: 4.根据网络拓扑模型进行分析,其手段主要是分析各种网络之间的关联关系,主要是联通性. 但上述分析方法显然存在一定问题,这主要表现在如下几个方面: 1.仅根据

【机器学习快速入门】简单自学机器学习理论

[机器学习快速入门]简单自学机器学习理论 机器学习理论--part I 前言 (第II部分内容点此:第III部分内容点此) 动机 大多数人在小的时候被魔术师以及魔术技巧所迷住,并想弄明白其中的奥秘.有些人会带着这份迷恋研究到更深处并学习魔术技巧,有些人会接受专业的训练,而其他人会继续平庸下去.我在年幼时也尝试过魔术技巧并沉迷于其中,然而后来学习的是另外一种魔术,称作计算机编程. 编程确实酷似魔法, 和魔术一样,自学的现象在计算机编程世界占了上风.在过去的两年计算机开发者调查显示,超过一半的开发者

提高软件测试效率的方法探讨

摘要:有位大师曾经问我,如何快速发现软件中的BUG?在当时有限时间情况下,我只说了测试者经验.熟悉需求等几个方面,显示这样的回答没能令他满意.软件测试有无银弹?有无高效的测试方法能尽快尽多发现软件中的缺陷?本文汲取部分软件测试工作者经验并结合笔者工作经历,就提高测试效率的一些方法进行归类探讨,以期和同行共享. 关键词:软件测试,效率 前言: 软件缺陷暴露得越早,越能降低开发和维护成本.研究表明软件寿命周期中,暴露缺陷的阶段与修改缺陷产生的开发成本之间的对应关系如下图所示: 软件测试作为一项工作,

Android平台Camera实时滤镜实现方法探讨(八)--简单美颜滤镜

美颜包含磨皮.美白.瘦脸等效果,其中磨皮算法在很多博客中均有介绍 例如: 双指数边缘平滑滤波器用于磨皮算法的尝试 选择性模糊及其算法的实现 基于局部均方差相关信息的图像去噪及其在实时磨皮美容算法中的应用 导向滤波磨皮 递归双边滤波磨皮 以上博客均有相关代码/公式,经试验若选取合适参数均有不错的效果,可惜水平有限尚未在shader中实现不卡顿的实时效果~ 观察美图秀秀和华为自带相机等相机APP,发现实时美颜效果均不如PC端和手机端后处理,可能在这一领域目前解决办法不多或者需求不高吧. 下面就探讨简

市场调查研究方法介绍

一.市场调查研究基本概念 市场调查研究是现代咨询活动的一个重要领域,它是运用科学方法收集.处理和分析有关市场信息,提出市场营销计划或活动方案,为科学决策提供依据的过程. 市场调查研究的内容包括三个主要方面: ●市场环境因素调查 可分为国内市场环境和国际市场环境.具体调查内容包括政治环境.经济环境.科学技术环境和竞争环境等. ●市场消费需求调查 具体包括消费者心理.消费者购买力.消费者购买行为为等调查内容. ●市场营销组合调查 具体包括产品.价格.销售渠道和促销等方面的调查.通过调查,可以掌握有关

Android平台Camera实时滤镜实现方法探讨(九)--磨皮算法探讨(一)

上一篇开头提到了一些可用于磨皮的去噪算法.以下我们实现这些算法而且观察效果,咱不考虑实时性的问题 本文首先探讨的首先是<基于局部均方差相关信息的图像去噪及其在实时磨皮美容算法中的应用> 该算法利用图像局部统计特性进行滤波处理,比如NXM像素的灰度图,首先计算点(i,j)所在窗体内(大小为(2n+1)(2m+1))的平均值m(i,j) 以及均方差: 得到加性去噪后的结果为: 当中: 1.依据原文提出的优化方法,首先是建立两个积分图,如图所看到的.点4的积分即为Sum(Ra)+Sum(Rb)+Su