天才一秒记住【久久文学】地址:https://www.jjwxx.com
每个人的字迹都不同,而且还有人笔迹潦草,有时候钢笔墨水会漏在纸上,有些书写的纸又脏又破。
回顾一下第一章里面的图1,解读图片是一个未曾解决的问题。
这不像玩棋盘类游戏,我们有理论上可以实现的步骤,只是需要启发式应用。
我们并不知道图像识别的步骤是什么,所以需要一些特别的方式——这就让机器学习有了用武之地。
对于文本识别的机器学习程序,我们通常需要给它提供许多手写字符的范例来进行训练,每个范例都标有对应的实际字符,如图13所示。
图13 程序训练数据
识别手写字符(本例中为数字)的机器学习程序训练数据,训练目标是这个程序能够自动识别手写数字。
刚才描述的这种机器学习类型被称为监督式学习,它有一个至关重要的要点:机器学习需要数据,大量的数据。
事实上,正如我们即将看到的,提供精心制作的训练数据集合对机器学习的成功至关重要。
我们训练程序进行机器学习时,必须仔细设计训练数据集合。
首先,我们通常只会使用一小部分可能的输入和输出来训练程序,在手写数字识别示例中,我们不可能向程序展示所有可能存在的手写字符,那根本不现实。
再说了,如果我们可以向程序展示所有可能的输入集,那么就根本不需要机器来学习什么了:机器只需要记住每一个输入对应的输出就行了。
无论何时对它进行输入,它只需要查找相应的输出即可——这不算机器学习。
因此,一个程序必须只能使用可能存在的输入输出集合的一小部分进行训练,但是如果训练数据量太小,那么程序没有足够的信息来学会人们所期望的输入到输出的映射。
训练数据的另一个基本问题是特征提取。
假设你在一家银行工作,银行需要一个机器学习程序来学习识别不良信贷风险。
程序的训练数据是过去许多客户的记录,每个客户的记录上会标注他信贷记录是否良好。
客户记录通常包括他们的姓名、出生日期、住址、年收入、交易记录、贷款记录和相应的还款信息等。
这些信息在训练数据中被称为特征。
不过,所有的特征在程序训练中都有意义吗?其中某些特征可能和该客户的信贷风险毫无关系。
如果你事先不知道哪些特征和机器要学习的目标有关系,那么你可能试图将所有特征都放入训练数据中。
但是,这样就会产生一个很严重的问题,被称为维度诅咒:训练数据包含的特征越多,你需要给程序提供的训练数据量就越大,程序学习的速度也就越慢。
最简单的应对方式就是只在训练数据中包含少量的特征,但这也会引起一些问题。
一方面,你可能不小心忽略了程序正确学习所必需的特征,即确实标明客户信贷记录不良的特征,另一方面,如果你没有合理地选择特征,可能会在程序中引入偏差。
例如,假设你给不良信贷风险评估程序训练数据里面导入的唯一特征是客户地址,那么很可能会导致程序在完成机器学习以后带有地域歧视。
人工智能程序或许会变得有偏见,这种可能,以及它所引发的问题,我们将在后面详细探讨。
在另一种机器学习方式——强化学习中,我们不给程序任何明确的训练数据:它通过决策来进行实验,并且接收这些决策的反馈,以判断它们是好是坏。
例如,强化学习被广泛应用于训练游戏程序。
程序玩某个游戏,如果它赢了,就会得到正反馈,如果它输了,就会得到负反馈。
不管正负,它得到的反馈都被称为奖励。
程序将会在下一次玩游戏的时候考虑奖励的问题,如果它得到的是正面的奖励,那么下一次玩的时候它更倾向使用同样的玩法,如果是负面的,那它就不太可能这样做。
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!