用机器学习的经验指导人生:如何实现学习效率最大化

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:


我们都喜欢狗狗的照片,它们让我们想起那些与这些这些四条腿的小伙伴们一起玩耍度过的清晨。

我们可以很容易的在照片中认出狗狗,因为我们已经看过千百次它们长什么样子。

可是如果一个外星人因为好奇狗狗长什么样而绑架你,你会怎么办?他强迫你教他如何识别狗狗,这样他就可以绑架一只带回他的星球。

请记住,他完全不知道狗狗长什么样。你要怎么做?

你可能需要告诉交给他一些“规则”:狗狗有四条腿,两只眼睛,两只耳朵…可是,这可能没有想象的那么容易,因为有很多很多的规则。试想一下,你要怎么教会他区别狗狗和狼?这真的很难。

这个设定一些规则并照之遵守以得到想要结果的学习过程叫做 “演绎学习”。可是难点就在于很难顾全所有的可能的变化。

想象一下,除了展示给他一千张狗狗的照片,另外如果给让他看一千张照片都不是狗狗的照片。那事情就变得容易很多了!

我们人类正是这么学习的。通过千百次的观察我们知道了狗狗长什么样。当我们的大脑看到一些它可以认知的东西的时候,某些神经区域就会显示出逐渐增加的活跃性。但根据国家研究委员会出版的《人们如何学习》一书,人类在出生时并没有这些神经特征。随着年龄的增长,有了越来越多的经验,我们的大脑就开始整理如何建立这些联系。

神奇的是,机器学习正是这么工作的。当建立一个机器学习模型的时候,我们不会教他“规则”。而是提供给诶他大量的案例,有的可以得到想要的结果,有的不可以,然后就让电脑自己整理,就像我们的大脑会做的一样。

大部分人认为AI是一个使工作自动化的工具,可是让人们专注于建立像人类行为一样的算法理论。举例来说,脸书(Facebook)的面部识别算法理论比人类的识别能力还要强。可是如果我们反向而为呢?


机器学习是如何工作的?

假设没有空调也没有泳池的你实在是难以忍受这炎热的夏天,你决定在邻居不在家的时候偷偷的潜入他家用他的泳池。

你已经知道大多数时候他都不在家,因为他打网球。所以你决定应用你的AI技能来建模,根据天气挺起情况预测他是否会打网球。

经过几周对他的观察他和并收集了相关数据,你总结了如下表格:

 


既然你有了好的、有代表性的数据,你便可以开始建模。

有很多种不同的方法,我将用一种叫做决策树的技巧来简单讲解归类问题。

你觉得在上图表格中哪个那个变量会影响你邻居要不要打网球的决策?可能是天气情况。

要弄清如何构建决策树,我们的模型会找出哪那些变量可以将数据最好的分割开来。把天气情况放在决策树的根部,然后我们就可以开始用同样的方法来建立更多的枝杈,直到决策树看起来如下图:


训练完模型之后,我们就会得到一个可以帮助我们预测邻居是否在家的决策树。

你可能会想:“这到底会怎么帮助我学习一个新的技能?”

如果你想要训练一个好的理论可以用来使你的学习收益最大化,有一些主要的规则需要遵守。

如果你想了解更多关于机器学习的知识,这里有一些很棒的资源。


◆ 练习,练习,再练习——收集大量的数据

不是当你已经优秀了才去练习,而是不断地练习帮助你变得优秀。

——Malcolm Gladwell

这一条比较简单——练习的越多,你就会变得越好。

我们都听过“大数据”这个时下很火的词。可是只有很少的人真的了解他真正的含义。根据牛津词典的解释,大数据是:极其大的数据集,需要用计算机来分析并展现出它的特征、趋势和联系,尤其是与人类行为相关的部分。

大数据是用很多很多的例子来训练一个模型。

根据牛津关于技能学习的神经机制的研究,当我们开始学习一些新东西,这个过程中包含了很多神经活动。但当我们反复练习同一个任务的时候,每一次完成他所需要的脑力就会逐渐减少。

当你建一个机器学习的模型时,这会很大程度上决定你算法表现的好坏。你需要很多很多的案例才能得到一个好的模型。相较于给外星人看几张照片,给他看更多的案例会让他学习的更好。

但是不变的是,基于大量的数据建立简单的模型胜过只有少量数据的复杂模型。

——Alon Halevy, Peter Norvig, and Fernando Pereira, Google. The unreasonable effectiveness of data.

我们花了很多时间来学习相关的课题,比如阅读,看视频,向人们请教等,但在真正上手练习之前还是会犹豫很久。

唯一能让你有所提高的办法就是去实践。


◆ 不要死记硬背:避免过度拟合

回顾在学生时代的时候,你是否又有因为死记硬背某个数学题目的解法,却因为考试中的题目与记下来的题目稍有不同而解不出来?这其实是同样的概念,那一点点的不同就可以让你的方法一文不值。

如果你死记硬背一个流程同样会如此,我们会失去将问题普适化、解决没有见过的情形的能力。

在机器学习过程中,这个叫过度拟合。当你训练你的模型通过记忆来学习,就会发生这样的事情。这其实很危险,因为如我们如果用同样的数据集来测验,可能会有100%的拟合度,但当遇到没有见过的问题的时候会表现的很差很差。

当我们知道有办法可以点击一下鼠标就解决问题,就没有必要死记硬背了。

这就是为什么很多人学不会编程。他们会因为有太多的东西去要记忆而失去信心。可是,这正是问题本身——我知道的所有擅长编程的人都很会使用“谷歌”。

根据Eric Mazui (哈佛大学物理学教授,同时也是Peer Instruction的作者)的研究,一个互动式的学习会让学生对问题的理解力比死记硬背的学习高三倍。

这个道理很简单,强迫你自己在没有指导的情况下学习。当你自己弄明白了一些道理之后,你就可以回顾整个过程,这样可以避免没有理解就死记硬背。


◆ 给你的训练做适当的变化:准备多样、有代表性的数据

我们通常会认为不断重复做同一件事会让我们最终成为专家。即使我们从中取得进步,但还有更快捷的方法。不只是练习本身,而是练习的方式。

最关键的就是使学习有变化。

最好的吉他手不只是演奏一个类型——这也是为什么摇滚明星不可能通过只玩摇滚而成为最卓越的演奏家。要达到他们的高度,需要不断尝试并练习不同的音乐类型。所有这些不同的类型的特质,会帮助吉他手成为全能大师。

如果不知道布鲁士…就没有办法用吉他玩摇滚或是其他大众音乐。

——Keith Richards

要想在某一领域有所建树,你不可以只是重复做同一件事。你必须要使得你做的事情有所变化,这样才能有更普适的能力。

用代表不同情形的数据来训练一个机器学习模型是至关重要的一点。


如果你想教那个外星人朋友椅子长什么样,就需要保证提供给他不同类型、不同视角的照片。

下一次当你想学习一项新的技能,尝试尽可能的从不同的视角进行学习。


◆ 不要重新发明轮胎:学会迁移学习



在硅谷你会见到很多换了新的工作领域的人都做得非常好。有建筑师转去做设计师,律师去做销售代表,工程师去做市场营销人员等等。有趣的是,他们都会发现有很多原来工作中的知识可以应用到新的工作。

在人工神经网络(主要用于图像识别)领域有一个叫转移学习的技巧。无须把全部的东西重建,你可以用以前训练过的相似的任务中的一部分放入新的任务。不难想象,这会帮助提高模型的表现并能节省很多时间。


回想吉他演奏家的例子——如果你已经知道如何弹钢琴,可能对你来说学吉他就会容易很多。虽然是完全不同的乐器,但基础的音乐素养是普适的。

最重要的是学会利用大脑中已经建立的联系,将其应用于不同的技能当中。

就像滑板的技能可以应用于滑雪板一样。

通过应用已知的知识,你可以快速的上手新的东西。

机器学习不是什么新东西,已经有几十年了。这是一个缓慢的过程,而且现在逐渐开始可以看到回报了。现在我们有资源来创造一个巨大的影响。上一周我参加Gigaom AI 2017 会议,Jerry Kaplan形容说,从历史上看,我们现在的这是时代可以和犹如之前轮子的发明发明轮子的革命般相提并论。

既然你有一个大概的概念这些神秘的黑箱是如何运作的,我鼓励你去探索一下AI。我们不仅仅需要工程师和数据科学家,我们还需要懂得这幕后是如何运作的、并将这科技的力量应用于新的领域的人们。

原文发布时间为:2017-03-13

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
2月前
|
机器学习/深度学习 算法
【机器学习】迅速了解什么是集成学习
【机器学习】迅速了解什么是集成学习
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】机器学习、深度学习、强化学习和迁移学习简介、相互对比、区别与联系。
机器学习、深度学习、强化学习和迁移学习都是人工智能领域的子领域,它们之间有一定的联系和区别。下面分别对这四个概念进行解析,并给出相互对比、区别与联系以及应用场景案例分析。
158 1
|
4月前
|
机器学习/深度学习 开发者 Python
Python 与 R 在机器学习入门中的学习曲线差异
【8月更文第6天】在机器学习领域,Python 和 R 是两种非常流行的编程语言。Python 以其简洁的语法和广泛的社区支持著称,而 R 则以其强大的统计功能和数据分析能力受到青睐。本文将探讨这两种语言在机器学习入门阶段的学习曲线差异,并通过构建一个简单的线性回归模型来比较它们的体验。
73 7
|
4月前
|
机器学习/深度学习 运维 算法
【阿里天池-医学影像报告异常检测】3 机器学习模型训练及集成学习Baseline开源
本文介绍了一个基于XGBoost、LightGBM和逻辑回归的集成学习模型,用于医学影像报告异常检测任务,并公开了达到0.83+准确率的基线代码。
77 9
|
4月前
|
机器学习/深度学习
【机器学习】模型融合Ensemble和集成学习Stacking的实现
文章介绍了使用mlxtend和lightgbm库中的分类器,如EnsembleVoteClassifier和StackingClassifier,以及sklearn库中的SVC、KNeighborsClassifier等进行模型集成的方法。
61 1
|
4月前
|
机器学习/深度学习 人工智能 算法
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
152 0
|
5月前
|
机器学习/深度学习 算法 前端开发
集成学习(Ensemble Learning)是一种机器学习技术,它通过将多个学习器(或称为“基学习器”、“弱学习器”)的预测结果结合起来,以提高整体预测性能。
集成学习(Ensemble Learning)是一种机器学习技术,它通过将多个学习器(或称为“基学习器”、“弱学习器”)的预测结果结合起来,以提高整体预测性能。
|
5月前
|
机器学习/深度学习 人工智能 缓存
人工智能平台PAI使用问题之如何配置学习任务
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
6月前
|
机器学习/深度学习 算法 前端开发
机器学习中的集成学习(二)
**集成学习概述** 集成学习通过结合多个弱学习器创建强学习器,如Bagging(Bootstrap Aggregating)和Boosting。Bagging通过随机采样产生训练集,训练多个弱模型,然后平均(回归)或投票(分类)得出结果,减少方差和过拟合。Boosting则是迭代过程,每个弱学习器专注于难分类样本,逐步调整样本权重,形成加权平均的强学习器。典型算法有AdaBoost、GBDT、XGBoost等。两者区别在于,Bagging模型并行训练且独立,而Boosting模型间有依赖,重视错误分类。
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习中的集成学习(一)
集成学习是一种将多个弱学习器组合成强学习器的方法,通过投票法、平均法或加权平均等策略减少错误率。它分为弱分类器集成、模型融合和混合专家模型三个研究领域。简单集成技术包括投票法(用于分类,少数服从多数)、平均法(回归问题,预测值取平均)和加权平均法(调整模型权重以优化结果)。在实际应用中,集成学习如Bagging和Boosting是与深度学习并驾齐驱的重要算法,常用于数据竞赛和工业标准。