LWDW!

Learn the work from doing the work🍺

机器学习梗图串讲
Posted on 2024-09-24

原文地址,点击支持原作者!

以下开始译文:


“愉快习得的,我们不会忘记(what we learn with pleasure, we never forget)” —— 阿尔弗雷德·梅西耶

有啥比看一堆梗图更轻松愉快的呢?

机器学习(machine learning)和梗图都是我们日常生活中不可分割的一部分。就是说看看你的水友群聊,什么图都有ok?

机器学习五步法

话题扯回来,所以我们为啥需要机器学习,说到底到底机器学习是个啥?

  • 机器学习是人工智能中的一个细分领域,它是用于从已有数据中寻找规律,以作出预测的系统。
  • 机器学习是一种可以在没有针对性的人工编程的前提下“学会”做某件事的系统。

抛开这些不说人话的描述,机器学习其实就是能告诉你,咱面前的这份数据,它有什么特征(模式、规律)——哪怕你没有一行行编写代码去指示电脑该如何分析这份数据!

而我们事实上做的是:给机器学习算法喂很多的数据,然后它就能根据这些数据,去实现算法的内部逻辑。

反正生活中处处都是机器学习:小红书推送、天气预报、Siri助手、面部识别等等,背后都是由机器学习实现的,现在流行的AI作曲、作画等等,那更不用说。

现在确实能画画能作曲了

即使看到这儿你仍然对机器学习是啥毫无头绪,没事儿,听Andrew(Andrew Ng:他是一系列广受欢迎的机器学习入门课程的主讲,因此人气很高)的话🤚:不懂?别担心!

不懂?别担心!

回归我们最关心的问题:机器学习,到底是啥?

抛开那些抽象的定义,让我搬出这张图:

数学+算法=机器学习

维基百科是这么说的:

机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论

也被称为统计学习理论?对,就是指数学中的统计学

机器学习正是从统计学中发展出来。事实上,我们如今常用的很多机器学习模型,其实就是统计计算。

回归性原理:玛丽卡就是拉达冈。

所以就有了这张表情包:

统计学and机器学习

还有这张:

机器学习就是统计学

数学和机器学习,那真是无法分割:

矩阵运算

也正因为此,许多人都觉得机器学习太难了——毕竟数学,你懂的:

笑死

但事实上,你并不需要拿到高等数学满分再去学习机器学习,甚至运用机器学习。说到底,大多数人并不在乎机器学习背后的数学概念。

一行代码搞定机器学习

另一个常见的问题是:

机器学习和人工智能有什么区别?

ai和机器学习的区别

哈哈不开玩笑,正经来说,任何看起来“聪明”或者模拟人类行为的技术都可以被归为人工智能。深度学习模型是人工智能,一个精心编写的程序也可以是人工智能。

重点是,机器学习是人工智能的一种,它的特点是从数据中学习如何去做一件事,而非被人工编程以明确该如何做一件事。

另一个常被提出的问题是,什么是深度学习?

深 度 学 习

深度学习,是机器学习的一种。深度学习使用人工神经网络将多个模型连接起来,以解决更加复杂的问题(什么是人工学习网络?后文会介绍)。

机器学习有许多种,但它们的根基却十分基本而常见:线性回归,或者说回归

回归是机器学习与统计学中最为基本而重要的工具。它能够通过学习已有的数据之间的关系,来做出新的推测。无论是预测股市走向还是研究人类基因,回归都被广泛地使用。

regression

然后还有k均值聚类算法(k-means clustering)。听起来很抽象,其实就是根据数据之间的相关性,把数据划分到不同的集合去。当我们预先定义好,要划分出“k”个集合后,这个算法能够通过递归将所有的数据划分到各自的集合去,相关性强的数据会被划分到一起,最终每条数据都会属于且仅属于某一个集合。

哈,其实就是这样:

k=4

最后,重点来了,人工神经网络。

人工神经网络是一种模仿人类大脑的算法集合,主要用于识别规律、模式。节点(或者说神经元)之间相互连接,传递信息,就像大脑一样。

bro以为

人工神经网络在一开始是随机的,它还没有学到任何东西。在我们不断的喂数据之后,它便开始学习。就好像小孩逐渐学会理解各种事物一样,人工神经网络会逐渐掌握数据的规律,从而完成学习,从而新的数据作出正确的推断。

网络

(想要更多了解人工神经网络可以看看这篇博客。)

相对的,如果你没有正确的训练,或者没有训练,神经网络会给出几乎随机的结果:

一模一样

人工神经网络会使用激活函数(activation function)来激活神经元。

比如Relu函数,会在神经元的输出(y=wx+b)大于0的时候激活神经元:

Relu

目前还有一种常被使用的模型:生成对抗网络(GAN)(Generative Adversarial Network)

这种神经网络技术可以在通过学习训练数据后,生成新的数据。

比如,它可以通过学习毕加索的绘画风格,生成现实中并不存在的新绘画,现在流行的Midjourney就以GAN作为其核心技术之一。

我的GAN

如何上手机器学习?使用哪种语言?哪种框架?

得益于现代框架的成熟(Tensoner Flow,Keras,Theano,Pytorch等等),上手机器学习并不需要写很多代码。你一般会使用python或C++去调用这些包。

什么是Keras

Keras是一个封装过的神经网络API,由python实现,它能够在TensorFlowCNTKTheano之上运行。总之是为了用于快速的跑一些实验。

那么,什么是Tensorflow

tensorflow

TensorFlow是一个免费的开源软件库,被广泛的用于神经网络等机器学习应用。仅用几行代码,TF就可以运行相当复杂的功能。

当代程序员

其实我...

事实上,你还可以使用已经被训练过的模型,并通过进一步训练它的少部分参数来得到属于自己的定制化模型(这个操作叫做Fine Tune)。

model

好,库存已经发完了。

大家可以继续愉快学习,或者就刷刷梗图吧。

886!

886


原文地址,点击支持原作者!