找回密码
 立即注册
搜索

什么是机器学习?

机器学习人工智能在近期最重要的发展之一。机器学习的理念是,不将智能看作是给机器教授东西,而是机器会本人学习东西。这样一来,机器就可以直接从阅历(或数据)中学习如何处理复杂的义务。








○ 即便是相对简单的机器学习算法也可以学习如何区分猫和狗的图片。

随着计算速度和用于编程的算法的宏大提高与发展,机器学习长大迅速。由此产生的算法对我们的生活末尾产生严重影响,而且它们的表现往往胜过人类。那么,机器学习是如何工作的呢?

从阅历中学习

在机器学习系统中,计算机通常是经过在相反义务的大型数据库中停止训练,然后本人编写代码去执行一项义务。其中很大一部分触及到辨认这些义务中的形式,然后根据这些形式做出决策。

举个例子,假设一家公司正要招聘一名新员工,在招聘广告登出之后有1000个人央求,每个人都投了简历。假如要亲身一个个挑选,这真实太多了,所以你想训练一台机器来完成这项义务。

为了做到这一点,你需求把公司过往的许多应聘者的简历都记录上去。对于每一份简历,你都有记录表明这个人能否最终被聘用了。为了训练机器,你拿出一半的简历,让机器经过学习这些简历最终能否成功地央求到了一份工作来找出其中的形式。

这样一来,当机器收收到一份简历时,它就可以对这个人能否合适被雇佣做出判别。训练终了,就可以接着用另一半简历来对机器停止测试。假如它的成功率足够高,也就是机器做出正确判别的概率够高,那么你就可以安心肠让机器根据一个人的简历来判别他能否合适被聘用。在任何阶段都不需求人的判别。

详细细节

为了更清楚地了解机器学习的过程,我们将以开发可以辨认手写数字的机器为详细例子来思索形式辨认的成绩。这样的机器应该可以准确辨认一个字符所代表的数字,而无论它的书写格式如何变化。

数字辨认的过程分为两个阶段。首先,我们必须可以将手写数字的图像扫描到机器中,并从这张(数字)图像中提取出有意义的数据。这通常是经过主成分分析(PCA)的统计方法完成的,这种方法会自动提取图像中的次要特征,例如图像的长度、宽度、线条的交点等。这个过程与求解矩阵的本征值和本征向量的过程亲密相关,也与谷歌用来在万维网上搜索信息的过程非常相似。

然后,我们想训练机器从这些提取的特征中辨认数字。一种非常主流的用来训练机器的方法是神经网络。神经网络算法的最后灵感来源是我们以为的人类大脑的工作方式,但并不严厉地建立在我们以为的人类大脑的工作方式之上。

首先要创建一组“神经元”,并将它们衔接起来,它们可以互相发送音讯。接上去,让神经网络去处理大量曾经知道结果的成绩,这样做能让算法“学习”到应该如何确定神经元之间的衔接,以便能成功地辨认出数据中的哪些形式导致了正确的结果。

这种神经网络的一个早期例子是一种叫做感知机的单层系统,人们用它来模拟单个神经元。感知机的概念是由Frank Rosenblatt在1962年提出的,它的典型结构如下图所示:








向感知机输入n个数字X1、X2......Xn。然后将每个Xi乘以一个加权wi,并将一切这些乘积相加,得到它们的和
w₁X1+w₂X2+...+wnXn

假如这个和大于某个阈值C,则前往1,其他状况则前往0。也就是说,假如
w₁X1+w₂X2+...+wnXn-C > 0,

那么,感知机前往1;假如
w₁X1+w₂X2+...+wnXn-C ≤ 0,

那么感知机前往0。

对于数字辨认成绩,数字图像的提取特征就是输入Xi,感知机的判别是,这个数字是3还是4。训练感知机的过程包括要找到合适的加权wi和阈值C,使得感知机可以一直如一地辨认出正确的数字。要做到这一点,需求慎重运用基于统计的数学优化算法。

举例:数字辨认

例如,假设我们仅从图像中提取两个特性:X1和X2,其中X1能够计算图像中直线的数量,X2能计算图像中线条交叉的次数。

如今,每个手写数字(比如3或4)的图像都有两个数字来描画,因此可以定位在一个坐标系中。由于数字3通常没有直线段,也没有交叉线,它的图像很能够对应于坐标系中接近 (0,0) 的点。数字4有三条直线段和1个交叉点,它的图像能够在点 (3,1) 附近。

对于给定的w₁、w₂和C,感知机中的和是
w₁X1+w₂X2-C,

让这个式子等于0就定义了一条直线。 假如感知机能用训练的图像找到w₁、w₂和C的值,使得这条直线将一切对应于数字3的点与一切对应于数字4的点分隔开来,那么,它也就有很大的概率可以正确辨认出新的数字图像。假如存在这样一条直线,则称数据是线性可分的。








○ 假设图中红色的点来自代表数字3的图像,蓝色的点来自代表数字4的图像。假如算法运用C=2,X1=X2=1,则加权后的和等于0对应于图中的直线(w₁+w₂-2=0)。对于蓝色的数据点,加权和大于零,对于红色的数据点,加权和小于零,所以算法总是会给出这个数据集的正确答案。

假如数据点不能被一条直线分割,也就是说,数据不是线性可分的,那么可以把这些点扩展到一个更高的维度,并寄希望于在更高维空间它们是线性可分的。一个非常简单的例子是,你可以将图中的点拖拽出屏幕到第三个维度,拖拽的间隔对应于它们到点 (0,0) 的初始间隔。但是,通常会运用的是更复杂的方法。当然,假如从原始数据中提取的特征是两个以上,那么就可以在更高维度上运用相似的方法。

感知机方法也可以用于对猫和狗的图像停止分类:




○ 随着训练数据的添加,算法会更新其选择的直线,也就是会改变常数C和加权w₁、w₂的数值。

神经网络和深度学习

简单的感知机可以被训练来完成许多简单的义务,但很快就会达到极限。显然,将许多感知机耦合在一同就可以停止更多的计算,但这一发展必须等待更弱小的计算机的出现。当多层感知机耦合起来构成一个神经网络时,这一严重打破就出现了。这种神经网络的典型结构如下图所示,它包括输入层、隐藏层和输入层。在这种状况下,输入会组合起来以触发感知机的第一层神经元,由此产生的输入也会组合起来以触发下一层神经元,最后,这些组合起来给出最终的输入。








层数越多,神经网络就越“深”。然后,这样一个神经网络就会经过为下面的神经元之间的每个衔接分配加权而得到训练。这个过程是为了模拟大脑神经通路强化或衰减的方式。深度学习描画了训练这样一个神经网络的过程。

理想上,神经网络算法之所以能够完成,是由新的数学优化算法的发展与弱小的计算才能结合的结果。在为神经网络寻觅合适的加权wi的过程结束之时,我们得到了一个黑箱,它可以非常疾速地运转并做出“决策”。

不同的机器学习方法

神经网络学习的过程有多种方式。

在监督学习中,用户会事前提供一组成对的实例,也就是输入和输入。然后,学习的目的是找到一个给出的输入能与实例婚配的神经网络。通常,用来比较神经网络的输入与实例的输入的方法是计算两者的均方误差;然后对网络停止训练,让这一误差对一切训练数据集最小化。这种方法的一个非常标准的运用是在统计学中运用的曲线拟合,它对手写数字和其他的形式辨认成绩都有很好的效果。

在强化学习中,数据不会由用户事前给出,而是由神经网络控制的机器与环境交互作用时生成的。机器会在每个工夫点上对环境执行一个操作,由此生成一个观察结果,以及这个操作的成本。然后训练这个神经网络去选择那些将总体成本降至最低的操作。在许多方面,这个过程相似于人类(尤其是小孩子)学习的方式。

近年来,机器学习的数学算法有了很大的发展。卷积神经网络(CNNs)就是一种令人兴奋的、重要的新发展,它是对那些将图像处理技术与深度神经网络结合的方法的扩展,可以运用于人脸辨认,甚至可以用来检测心情,如今还被用于包括医学诊断在内的许多其他范畴。

为了更好地学习下国际象棋,AlphaZero运用了深度卷积神经网络。它的训练是经过强化学习的方法,让机器在24小时内与本人对弈70万局。过程中采用一种通用的蒙特卡罗树搜索(MCTS)算法来分配加权。在学习下围棋和日本将棋时采用的也是相似的方法,而且在每种状况下都达到了相似的程度。这是非常了不起的!

机器学习停顿迅速,在更快的训练算法和越来越多的数据的驱动下,发展更复杂、更深层神经网络的趋向越来越分明。但或许我们需求思索的成绩是,把能够改变生命的决议(如医学诊断)留给机器,这样做安全且合乎道德吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评3

W帅哥哥也 2019-2-19 13:56:59 显示全部楼层
分享了
回复

使用道具 举报

无聊的流氓 2019-2-19 21:21:13 显示全部楼层
支持支持再支持
回复

使用道具 举报

Sex欲帝丶 2019-2-20 07:44:29 来自手机 显示全部楼层
厉害啊!
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies