吴恩达预热新课!万字博客回顾机器学习算法起源

中国银行行长2022-08-22  12

吴恩达预热新课!万字博客回顾机器学习算法起源

新智元报告

编辑:LRS

[新智元简介] 吴恩达最近发表了一篇博客,介绍了几种基本算法的由来和直观理解,还宣传了他的重置机器学习课程:目的是再复习一遍!

神经网络模型在学术界和工业界处于绝对垄断地位,使得“机器学习”几乎等同于“深度学习”。

作为深度学习的领导者,吴恩达自然是深度学习的忠实用户。

最近,吴恩达在博客网站上发表了一期特刊,称他几乎已经忘记了如何使用传统的机器学习算法,因为他常年使用神经网络!

因为深度学习并不是在所有场景下都能很好的发挥作用,在“盲目”使用神经网络受挫后,我痛定思痛,写了一篇文章,为一些传统的机器学习算法提供一些直观的解释。

这个博客也为斯坦福在线和DeepLearning即将联合推出的机器学习专业化课程提供了一些基础知识。AI,包括线性回归、logistic回归、梯度下降、神经网络、决策树、K-means聚类等算法。

吴恩达来信

亲爱的朋友们:

几年前,我们计划在有限的计算预算内,将这种算法应用到庞大的用户群中,因此需要选择一种高效的算法。

在神经网络和决策树学习算法之间,我选择了神经网络。

因为我已经有一段时间没有使用提升决策树了,我直觉地认为它们需要比实际更多的计算,但是选择神经网络是一个错误的决定。

幸运的是,我的团队很快指出了错误并纠正了我的决定,项目最终成功了。

这次经历给了我一个教训,告诉我学习和不断刷新基础知识的重要性。如果我再次熟悉上升树,我会做出更好的决定。

机器学习和其他技术领域是一样的。随着研究人员社区在彼此工作的基础上不断发展,一些贡献经受住了时间的考验,成为进一步发展的基础。

从房价预测器到文本和图像生成器,所有的新算法都是基于基础算法的核心思想(如线性和逻辑回归、决策树等。)和基本概念(如正则化、损失函数优化、偏差/方差等。).

扎实且不断更新的基础知识是成为高效机器学习工程师的关键。许多团队在日常工作中使用这些想法,博客帖子和研究论文通常假设您熟悉这些想法。这些常识基础对于我们近年来看到的机器学习的快速进步至关重要。

所以我更新了原来的机器学习课程。

我的团队花了很多时间讨论核心教学概念,为各种主题起草广泛的教学大纲,并设计课程单元的原型。

这个过程帮助我们认识到题目的多样性比细节的知识更重要,所以我们重新做了一个提纲。

我希望最终的结果是一门简单易懂的课程,能够帮助任何人掌握当今机器学习中最重要的算法和概念,包括深度学习,也包括许多其他的东西,并且能够建立一个有效的学习系统。

本着这种精神,我们决定探索该领域中一些最重要的算法,解释它们是如何工作的,并介绍它们未知的起源。

如果你是初学者,希望能帮你揭开机器学习核心的一些方法的奥秘。

对于那些老兵,你会发现一些熟悉领域鲜为人知的观点。

学无止境,不断学习!

吴恩达

线性回归

线性回归可能是机器学习中最重要的统计方法。至于这个算法是谁发明的,争论了200年,至今无解。

1805年,当法国数学家阿德里安-玛丽·勒让德预测了一颗彗星的位置时,他发表了一种用直线拟合一组点的方法。天体导航是当时全球商业中最有价值的科学,就像今天的人工智能一样。

4年后,24岁的德国数学家卡尔·弗里德里希·高斯(Carl Friedrich Gauss)坚持说,他从1795年开始就一直在使用这种方法,但他认为这种方法太琐碎,写不出来。高斯的声明促使勒让德发表匿名附录,称“一位非常著名的几何学家毫不犹豫地采用了这种方法”。

这种争议已久的算法有两个特点:好用,简单!

线性回归的本质是斜率和截距。

当结果和影响它的变量之间的关系是直线时,线性回归很有用。

例如,汽车的油耗与其重量成线性关系。

汽车油耗Y与重量X的关系取决于直线的斜率W(油耗随重量上升的陡度)和抵消项B(零重量油耗):Y = W * X+B。

在训练期间,给定汽车的重量,算法预测预期的燃料消耗。它比较了预期和实际油耗。然后,通过最小二乘法,最小化平方差,并校正w和b的值。

考虑到汽车的阻力,有可能产生更准确的预测。附加变量将直线延伸到平面。这样,线性回归可以接收任意数量的变量/维度作为输入。

线性回归算法可以帮助当年的航海家追踪星星,后来还可以帮助生物学家(尤其是查尔斯·达尔文的堂兄弗朗西斯·高尔顿)识别植物和动物的遗传特征。进一步的发展释放了线性回归的潜力。

1922年,英国统计学家罗纳德·费雪和卡尔·皮尔逊展示了如何将线性回归整合到相关和分布的一般统计框架中,从而再次扩大了其应用范围。

近一个世纪后,计算机的出现为他们提供了数据和处理能力,这使他们更加有用。

当然,数据从来没有被完美地测量过,多个变量之间存在不同程度的重要性。这些事实也刺激线性回归产生更复杂的变量。

例如,带有正则化的线性回归(也称为岭回归)鼓励线性回归模型不要过度依赖任何一个变量,或者均匀地依赖最重要的变量。如果你想追求简化,使用L1的正则化是拉索回归,最终的系数更稀疏。换句话说,它学会了选择预测能力高的变量,而忽略其他变量。

弹性网结合了两种类型的正则化,这在数据稀缺或要素相关时非常有用。

神经网络中最常见的神经元是线性回归模型,后面往往是一个非线性的激活函数,所以线性回归是深度学习的基本组成部分。

逻辑回归

逻辑函数可以追溯到19世纪30年代,比利时统计学家P.F. Verhulst发明了描述人口动态的函数。

随着时间的推移,最初的爆炸式指数增长在可利用资源消耗殆尽时趋于平缓,从而形成一条逻辑斯蒂曲线。

一个多世纪后,美国统计学家E. B .威尔逊和他的学生简·伍斯特设计了一种逻辑回归算法来计算多少特定的危险物质是致命的。

逻辑回归将逻辑函数拟合到数据集,以预测事件(例如,摄入马钱子)中特定结果(例如,过早死亡)的概率。

1.训练时,水平调整曲线的中心位置,垂直调整中间位置,使函数输出与数据之间的误差最小。

2.向右或向左调整中心意味着杀死普通人需要或多或少的毒药。陡坡意味着确定性:在中间点之前,大部分人都能活下来;超出中点,那就说再见。缓坡比较宽容:在曲线中点以下,可以存活一半以上的人;再远一点,不到一半。

3.设置一个阈值,比如0.5,曲线就变成了一个分类器。只要在模型中输入剂量,你就会知道你应该计划一个聚会还是一个葬礼。

Verhulst的工作发现了二元结果的概率。后来,英国统计学家戴维·考克斯和荷兰统计学家亨利·泰尔在20世纪60年代后期独立工作,将逻辑回归应用于两类以上的案例。

逻辑函数可以描述多种现象并具有相当的准确性,因此逻辑回归在许多情况下提供了可用的基线预测。

医学上可以预估疾病的死亡率和风险;在政治上,它可以预测选举的胜负;在经济学中,它可以预测商业前景。

在神经网络中,有些神经元是Logistic回归,非线性函数是sigmoid。

梯度下降

想象一下黄昏后在山里徒步,你会发现除了脚什么都看不见。而且你手机没电了,不能用GPS应用找回家的路。

你可能会发现梯度下降的方向是最快的路径,只是注意不要走下悬崖。

1847年,法国数学家奥古斯丁-路易·柯西发明了一种近似恒星轨道的算法。60年后,他的同胞雅克·哈达玛(Jacques Hadamard)独立开发了这种算法,用来描述薄而柔韧的物体的变形。

但在机器学习中,它最常见的用途是寻找学习算法的损失函数的最低点。

神经网络通常是一个函数。给定一个输入,它计算一个预期的输出。

训练网络的一种方法是通过重复计算实际输出和期望输出之间的差异来减小该差异,然后改变网络的参数值,从而最小化其输出中的损失或误差。

梯度下降减小了误差,使计算损失的作用最小化。

网络的参数值相当于景观上的一个位置,损失的就是当前的高度。当你往下走的时候,你提高了网络计算输出接近你所需要的能力。

但可见性是有限的,因为在监督学习下,算法完全依赖于网络的参数值和梯度,即当前损失函数的斜率。

使用梯度下降,你也可能被困在由多个谷(局部最小值)、峰(局部最大值)、鞍(鞍点)和高原组成的非凸景观中。事实上,像图像识别、文本生成和语音识别这样的任务是非凸的,并且出现了许多梯度下降变体来处理这种情况。

k均值聚类

如果你在聚会上站得离别人很近,你们可能有一些共同之处。

K-means聚类就是基于这种先验的思想,将数据点分成多个组。不管这些群体是由人类机构还是其他力量形成的,这个算法都会找到它们之间的相关性。

美国物理学家斯图尔特·劳埃德是贝尔实验室标志性的创新工厂和发明原子弹的曼哈顿计划的校友。他在1957年首次提出k-means聚类,以在数字信号中分发信息,但他直到1982年才发表。

与此同时,美国统计学家爱德华·福吉在1965年描述了一种类似的方法——劳埃德-福吉算法。

K-means聚类会先找到一个群体的中心,然后将数据点分配给志同道合的群体。k-means聚类考虑到数据在空中的位置和要组成的组数,可以将参与者分成大小大致相同的组,每个组围绕一个中心点聚集。

在训练过程中,算法最初需要随机选取K个人指定K个中心点,其中K必须手动选取,不容易找到一个最优的K值。

然后,将每个人与最近的中心点连接起来,形成K个聚类。

对于每个聚类,它计算分配给该组的所有人的平均位置,并将该平均位置指定为新的中心点。每个新的中心点可能不会被特定的人占据。

在计算出新的中心点后,算法将每个人重新分配到离他们最近的中心点。然后计算一个新的中心点,调整群集,以此类推,直到中心点(及其周围的组)不再移动。

很容易把新人分到合适的组,让他们在房间里找到自己的位置,然后寻找最近的中心点。

K-means算法的原始形式在许多领域仍然有用,特别是因为作为一种无监督算法,它不需要收集潜在昂贵的标签数据,并且它的运行速度越来越快。

例如,包括scikit-learn在内的机器学习库都受益于2002年添加的kd-trees,它可以非常快速地分割高维数据。

参考资料:

https://read.deeplearning.ai/the-batch/issue-146/

转载请注明原文地址:https://juke.outofmemory.cn/read/1291309.html

最新回复(0)