机器学习:从入门到晋级

简介: 什么是机器学习,为什么学习机器学习,如何学习机器学习,这篇文章都告诉给你。

1_jpeg


       目前,人工智能(AI)非常热门,许多人都想一窥究竟。如果你对人工智能有所了解,但对机器学习(Machine Learning)的理解有很多的困惑,那么看完本文后你将会对此有进一步深入理解。在这里,不会详细介绍机器学习算法的基本原理,而是通过将比较有意思的视频(YouTube)和文字相结合,逐渐增加对机器学习基础的理解。
       当看到本文时,请坐下来放松一下。因为下面的这些视频需要花费一点时间,但看完视频后,你肯定会被吸引继续阅读下去。此外,当阅读完本文后,你应该会对现在最热门的技术——机器学习有了全面的知识基础,并对此产生学习热情,最终能学到什么程度完全取决于个人的努力,本文只是一块敲门砖。

为什么机器学习现在如此热门

       人工智能总是很酷,从科幻电影到现实中的阿法狗、聊天机器人等,一直吸引人们的关注。长久以来,人们认为人工智能一直围绕着程序员对某些事情应该如何表现的功能性猜测。然而,程序员并不总是像我们经常看到的那样对人工智能编程同样有着天赋。正如我们经常看到的那样,比如谷歌“史诗游戏失败”中在人工智能、物理、有时甚至是经验丰富的人类玩家中都存在有过失。
       无论如何,人工智能有一种新的天赋——通过该项技术,我们可以教电脑玩游戏、理解语言、甚至识别人或物。这个只显露冰山一角的新技术来源一个旧的概念——机器学习,直到最近几年,它才获得了理论之外的处理能力,这源于数据量的爆炸、计算机性能的提升以及算法理论的突破。
       通过人工智能这项技术,我们不再需要人为地提出高级算法,只需要教会计算机自己来提出高级算法即可。
       那么这样的事情是如何实现的呢?机器学习算法并没有真正被类似于程序员编程那样进行编写,而是自动生成。观看下面这个简短的视频,该视频为创建人工智能的高级概念提供了出色的注释和动画。

2https://www.youtube.com/watch?v=R9OHn5ZF4Uo

       是不是一个很疯狂的处理过程?并且,当算法完成后,我们甚至无法理它,它就像一个黑匣子。比如,该项技术应用于视觉领域中是用人工智能玩马里奥游戏。作为一个人,我们都知道如何躲避障碍物和吃金币,但人工智能识别所产生的预测策略是疯狂的,见下面的视频:

3https://youtu.be/qv6UVOQ0F44


       是不是很吃惊?看完上述视频后,我们的问题是对机器学习不了解,并且不知道如何将它与电子游戏联系起来。
       幸运的是, Elon Musk已经提供了一家非营利性公司来做后者。通过十几行代码,你可以将人工智能与任何你想要玩的游戏/任务联系起来, 快去尝试一下吧

为什么要使用机器学习?

关于为什么要关心机器学习,这里有两个很好的答案。

  • 首先,机器学习使计算机可以做到计算机以前不能实现的事情。如果你想尝试一些新事物,或者不仅仅是新事物,而是影响全世界,你都可以用机器学习来完成。
  • 其次,如果你不影响世界,世界将影响你。

       现在,很多大型公司在机器学习上投入了很多的研发和投资,我们已经看到它正在改变世界。思想领袖警告我们不能让这个新的算法时代存在于公众视线之外。想象一下,如果一些企业巨头控制着互联网,如果我们不掌握这项武器,科学的真理将不会被我们占据。Christian Heilmann在他关于机器学习的谈话中说得很好:

“我们能够希望其他人善用这种力量。对于个人而言,不要认为这是一个好的赌注。我宁愿玩,也要参加这场科技革命,你也应该参与。”——Chris Heilmann的机器学习谈话视频

对机器学习感兴趣

       机器学习这个概念很有用而且很酷,上述内容让我们比较抽象地了解了它,但机器学习算法究竟发生了什么?它是如何运作的?我们还不是很清楚。
       如果你想直接进入到理论研究,建议你跳过这一部分继续下一个“如何开始”部分。如果你有动力成为机器学习的实干者,那么就不需要看下面的视频了。如果你仍然试图了解机器学习可能是什么,下面的使用机器学习完成数字手写体识别的视频非常适合引导读者建立一种机器学习的逻辑:

40https://youtu.be/aircAruvnKk


       是不是很酷?该视频显示每个层变得更简单,而不是变得更复杂。就像函数将数据分解成较小的部分一样,以抽象的概念结束。你可以在该网站( Adam Harley)与此流程进行交互。

5http://scs.ryerson.ca/~aharley/vis/conv/flat.html


       此外,机器学习的经典实例之一是1936年的鸢尾花数据集。在参加 JavaFXpert的机器学习概述的演示中,我学会了如何使用工具来可视化调整和反向传播神经网络上神经元的权重。可视化过程可以让我们看到它是如何训练神经模型。

6使用Jim可视化工具训练鸢尾花神经网络


       即使你不是一个Java爱好者,Jim提供了一个1.5小时的机器学习概念介绍也是比较有用的,其中包含上述许多例子的更多详细信息。
这些概念令人兴奋,你准备好成为这个新时代的爱因斯坦吗?机器学习算法每天都在发生突破,所以现在就开始吧。

如何开始?

       目前,网络上有大量的资源可用。首先,应该订阅一些时事通讯、技术博客、微信公众号,以保持个人知识的滚动。比如medium、爱可可-爱学习、云栖社区等。
至于如何进行深入学习,我推荐下面两种方法:

从头到尾拧完n颗螺栓

       在这种方法中,将需要你全面了解机器学习算法和相关的数学知识。我知道,这种方式听起来很难完成,但要想真正地了解算法细节,就必须从头开始编码实现。
       如果你想成为机器学习中的一员,并在核心圈中占据一席之地,那么这就是你的选择。我建议你试试一些公开课app(比如,course、Brilliant.org),并参加人工神经网络课程。经典的网络课程主推Andrew Ng 老师的机器学习课程以及周志华老师的书籍等。
       在学习的同时,可以完成对应的线下作业。通过完成对应的作业,会进一步加深对知识的理解,因为这些作业并不简单。但更重要的是,如果确实完成了这项工作,你将对机器学习的实施有进一步深刻的理解,这将使得你以新的和改变世界的方式成功地将其应用到对应的场景中。

快速上手

       如果你对编写算法并不感兴趣,但仍想要使用它们来创建一个令人惊叹的网站/应用程序,你应该跳转到学习TensorFlow和对应的速成课程。
       TensorFlow是用于机器学习的开源软件库。它可以以无数种方式使用,甚至可以使用JavaScript,这里是一个速成课程更多课程信息请点击此处查看
       如果选修课程不适合你的学习方式,那你仍然是很幸运的。如今不必学习机器学习的细节就可以掌握如何使用它。此外,还可以通过多种方式有效地机器学习作为服务成为技术巨头。

7


       数据是这项技术很重要的原材料,如果你的数据比较合适,那么使用机器学习建模可能是最佳解决方案。无论是使用机器学习中的哪一种算法,现在就开始吧。

成为创造者

       我要对所有上述的人和视频说声谢谢,它们是我学习机器学习起步的灵感,虽然我在该领域仍然是个新手,但是当我们拥抱这个令人敬畏的时代时,我很高兴为他人指明一条学习道路。
       如果你想学习这门技术,就必须与机器学习领域的研究者有所联系。没有友好的面孔、回答和讨论,任何事情都将变得很难。一般技术圈的人都是比较热心肠的,遇到问题先google,找不到答案就咨询圈内人,相信会有友好的同行给出友好的建议。

8


       我希望这篇文章能激励你和周围的人学习机器学习,我也很乐意和你一起寻找酷炫有趣的机器学习代码,希望本文对你有所帮助。

作者信息

Gant Laborde,软件顾问,教授
个人主页:https://github.com/GantMan/fun-machine-learing
本文由阿里云云栖社区组织翻译。
文章原标题《Machine Learning: how to go from Zero to Hero》,译者:海棠,审校:Uncle_LLD。
文章为简译,更为详细的内容,请查看原文

相关文章
|
2月前
|
机器学习/深度学习 数据采集 算法
深入了解机器学习:从入门到应用
【10月更文挑战第6天】深入了解机器学习:从入门到应用
|
14天前
|
机器学习/深度学习 传感器 运维
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
本文探讨了时间序列分析中数据缺失的问题,并通过实际案例展示了如何利用机器学习技术进行缺失值补充。文章构建了一个模拟的能源生产数据集,采用线性回归和决策树回归两种方法进行缺失值补充,并从统计特征、自相关性、趋势和季节性等多个维度进行了详细评估。结果显示,决策树方法在处理复杂非线性模式和保持数据局部特征方面表现更佳,而线性回归方法则适用于简单的线性趋势数据。文章最后总结了两种方法的优劣,并给出了实际应用建议。
50 7
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
|
1月前
|
机器学习/深度学习 数据采集
机器学习入门——使用Scikit-Learn构建分类器
机器学习入门——使用Scikit-Learn构建分类器
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:机器学习入门指南
【10月更文挑战第30天】本篇文章是一份初学者友好的机器学习入门指南,旨在帮助读者理解并开始实践机器学习。我们将介绍机器学习的基本概念,包括监督学习、无监督学习和强化学习等。我们还将提供一些实用的代码示例,以帮助读者更好地理解和应用这些概念。无论你是编程新手,还是有一定经验的开发者,这篇文章都将为你提供一个清晰的机器学习入门路径。
41 2
|
1月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
37 1
|
1月前
|
机器学习/深度学习 数据采集 人工智能
机器学习入门:Python与scikit-learn实战
机器学习入门:Python与scikit-learn实战
55 0
|
1月前
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
36 0
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
29 1
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型选择与训练、模型评估及交叉验证等关键步骤。通过本文,初学者可以快速上手并掌握机器学习的基本技能。
70 2
|
2月前
|
机器学习/深度学习 人工智能 数据挖掘
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第6天】在人工智能领域,机器学习已成为核心技术。本文指导初学者使用Python与Scikit-learn入门机器学习,涵盖基本概念、环境搭建、数据处理、模型训练及评估等环节。Python因简洁性及其生态系统成为首选语言,而Scikit-learn则提供了丰富工具,简化数据挖掘与分析流程。通过实践示例,帮助读者快速掌握基础知识,为进一步深入研究奠定坚实基础。
33 4