原文地址,点击支持原作者!
以下开始译文:
“愉快习得的,我们不会忘记(what we learn with pleasure, we never forget)” —— 阿尔弗雷德·梅西耶
有啥比看一堆梗图更轻松愉快的呢?
机器学习(machine learning)和梗图都是我们日常生活中不可分割的一部分。就是说看看你的水友群聊,什么图都有ok?
话题扯回来,所以我们为啥需要机器学习,说到底到底机器学习是个啥?
抛开这些不说人话的描述,机器学习其实就是能告诉你,咱面前的这份数据,它有什么特征(模式、规律)——哪怕你没有一行行编写代码去指示电脑该如何分析这份数据!
而我们事实上做的是:给机器学习算法喂很多的数据,然后它就能根据这些数据,去实现算法的内部逻辑。
反正生活中处处都是机器学习:小红书推送、天气预报、Siri助手、面部识别等等,背后都是由机器学习实现的,现在流行的AI作曲、作画等等,那更不用说。
即使看到这儿你仍然对机器学习是啥毫无头绪,没事儿,听Andrew(Andrew Ng:他是一系列广受欢迎的机器学习入门课程的主讲,因此人气很高)的话🤚:不懂?别担心!
回归我们最关心的问题:机器学习,到底是啥?
抛开那些抽象的定义,让我搬出这张图:
维基百科是这么说的:
机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。
也被称为统计学习理论?对,就是指数学中的统计学。
机器学习正是从统计学中发展出来。事实上,我们如今常用的很多机器学习模型,其实就是统计计算。
回归性原理:玛丽卡就是拉达冈。
所以就有了这张表情包:
还有这张:
数学和机器学习,那真是无法分割:
也正因为此,许多人都觉得机器学习太难了——毕竟数学,你懂的:
但事实上,你并不需要拿到高等数学满分再去学习机器学习,甚至运用机器学习。说到底,大多数人并不在乎机器学习背后的数学概念。
另一个常见的问题是:
机器学习和人工智能有什么区别?
哈哈不开玩笑,正经来说,任何看起来“聪明”或者模拟人类行为的技术都可以被归为人工智能。深度学习模型是人工智能,一个精心编写的程序也可以是人工智能。
重点是,机器学习是人工智能的一种,它的特点是从数据中学习如何去做一件事,而非被人工编程以明确该如何做一件事。
另一个常被提出的问题是,什么是深度学习?
深度学习,是机器学习的一种。深度学习使用人工神经网络将多个模型连接起来,以解决更加复杂的问题(什么是人工学习网络?后文会介绍)。
机器学习有许多种,但它们的根基却十分基本而常见:线性回归,或者说回归
回归是机器学习与统计学中最为基本而重要的工具。它能够通过学习已有的数据之间的关系,来做出新的推测。无论是预测股市走向还是研究人类基因,回归都被广泛地使用。
然后还有k均值聚类算法(k-means clustering)。听起来很抽象,其实就是根据数据之间的相关性,把数据划分到不同的集合去。当我们预先定义好,要划分出“k”个集合后,这个算法能够通过递归将所有的数据划分到各自的集合去,相关性强的数据会被划分到一起,最终每条数据都会属于且仅属于某一个集合。
哈,其实就是这样:
最后,重点来了,人工神经网络。
人工神经网络是一种模仿人类大脑的算法集合,主要用于识别规律、模式。节点(或者说神经元)之间相互连接,传递信息,就像大脑一样。
人工神经网络在一开始是随机的,它还没有学到任何东西。在我们不断的喂数据之后,它便开始学习。就好像小孩逐渐学会理解各种事物一样,人工神经网络会逐渐掌握数据的规律,从而完成学习,从而新的数据作出正确的推断。
(想要更多了解人工神经网络可以看看这篇博客。)
相对的,如果你没有正确的训练,或者没有训练,神经网络会给出几乎随机的结果:
人工神经网络会使用激活函数(activation function)来激活神经元。
比如Relu函数,会在神经元的输出(y=wx+b)大于0的时候激活神经元:
目前还有一种常被使用的模型:生成对抗网络(GAN)(Generative Adversarial Network)
这种神经网络技术可以在通过学习训练数据后,生成新的数据。
比如,它可以通过学习毕加索的绘画风格,生成现实中并不存在的新绘画,现在流行的Midjourney就以GAN作为其核心技术之一。
如何上手机器学习?使用哪种语言?哪种框架?
得益于现代框架的成熟(Tensoner Flow,Keras,Theano,Pytorch等等),上手机器学习并不需要写很多代码。你一般会使用python或C++去调用这些包。
什么是Keras
Keras是一个封装过的神经网络API,由python实现,它能够在TensorFlow,CNTK,Theano之上运行。总之是为了用于快速的跑一些实验。
那么,什么是Tensorflow
TensorFlow是一个免费的开源软件库,被广泛的用于神经网络等机器学习应用。仅用几行代码,TF就可以运行相当复杂的功能。
事实上,你还可以使用已经被训练过的模型,并通过进一步训练它的少部分参数来得到属于自己的定制化模型(这个操作叫做Fine Tune)。
好,库存已经发完了。
大家可以继续愉快学习,或者就刷刷梗图吧。
886!
原文地址,点击支持原作者!