机器学习:从入门到晋级

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

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。
文章为简译,更为详细的内容,请查看原文

相关文章
|
3月前
|
机器学习/深度学习 开发者 异构计算
机器学习入门-Colab环境
Google Colab(Colaboratory)是一个免费的云端环境,旨在帮助开发者和研究人员轻松进行机器学习和数据科学工作。它提供了许多优势,使得编写、执行和共享代码变得更加简单和高效。Colab在云端提供了预配置的环境,可以直接开始编写代码,并且提供了免费的GPU和TPU资源,这对于训练深度学习模型等计算密集型任务非常有帮助,可以加速模型训练过程。
86 0
|
5月前
|
机器学习/深度学习 数据采集 数据可视化
机器学习入门----线性回归实验记录
机器学习入门----线性回归实验记录
61 0
|
20天前
|
机器学习/深度学习 人工智能 运维
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)(二)
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)
53 1
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)(一)
【人工智能技术专题】「入门到精通系列教程」打好AI基础带你进军人工智能领域的全流程技术体系(机器学习知识导论)
59 1
|
9天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【4月更文挑战第9天】本文介绍了使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先,简述了机器学习的基本概念和类型。接着,展示了如何安装Python和Scikit-learn,加载与处理数据,选择模型进行训练,以及评估模型性能。通过本文,读者可了解机器学习入门步骤,并借助Python和Scikit-learn开始实践。
|
1月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习】机器学习简单入门
【机器学习】机器学习简单入门
35 1
|
2月前
|
机器学习/深度学习 数据采集 算法
Python中的机器学习入门:从数据预处理到模型评估
Python中的机器学习入门:从数据预处理到模型评估
193 35
|
2月前
|
机器学习/深度学习 数据挖掘 程序员
深入理解Python协程:提升并发编程效率基于Python的机器学习入门:从理论到实践
本文旨在探讨Python协程(Coroutine)的内部机制及其在并发编程中的应用。区别于传统的线程和进程,协程提供了一种更轻量级、高效的并发编程模式。通过深入分析协程的工作原理,本文将展示如何利用协程优化程序性能,实现高效的异步任务处理。我们将通过实例探讨协程的创建、事件循环的管理、以及与异步IO的集成,为读者提供一套完整的协程应用方案。此外,本文还将对比协程与其他并发模型(如多线程和多进程)的优劣,帮助读者全面理解协程在现代编程中的重要性。 在本文中,我们将深入探讨机器学习的核心概念,并通过Python实现其基础应用。不同于传统的技术文章摘要,我们希望通过一个故事性的引入,让读者感受到
|
3月前
|
机器学习/深度学习 人工智能 算法
机器学习入门知识
机器学习入门知识
150 0
|
5月前
|
机器学习/深度学习 人工智能 算法
【机器学习基础】机器学习入门(2)
【机器学习基础】机器学习入门(2)
33 0