"深蓝"号机器人的概想早在50 年代就有了
Samuel编写了一个西洋棋程序。 这程序神奇之处在于,编程者自己并不是个下棋高手。 但因为他太菜了,于是就通过编程, 让西洋棋程序自己跟自己下了上万盘棋。通过观察 哪种布局(棋盘位置)会赢,哪种布局会输, 久而久之,这西洋棋程序明白了什么是好的布局, 什么样是坏的布局。然后就牛逼大发了,程序通过学习后, 玩西洋棋的水平超过了Samuel。这绝对是令人注目的成果。 尽管编写者自己是个菜鸟,但因为 计算机有着足够的耐心,去下上万盘的棋, 没有人有这耐心去下这么多盘棋。通过这些练习, 计算机获得无比丰富的经验,于是渐渐成为了 比Samuel更厉害的西洋棋手。
上述是个有点 不正式的定义, 也比较古老。另一个年代近一点的定义,由Tom Mitchell提出,来自卡内基梅隆大学
Tom的定义如下:
a computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.
如果某计算机程序在T任务中的性能(由P衡量)随着经验E的提高而提高,则可以说它是从经验E中学习有关某类任务T和性能度量P的。
两种定义两相对比也就是这样:
E = the experience of playing many games of checkers
T = the task of playing checkers.
P = the probability that the program will win the next game.
在下棋中,我们给机器了一些棋局数据(落棋顺序及输赢情况),机器学习更良好的落子顺序。我们称这种为
监督式学习Supervised learning
在监督学习中,我们得到了一个数据集,并且已经知道我们正确的输出应该是什么样子,并认为输入和输出之间存在关系。
比如房价信息。房价与很多因素有关:面积、位置、楼层、装修~我们只取面积来研究与房价的关系,如下
在图中,我们能看出房价的规律是随着面积的增加在增加,到一定程度之后,价格长得速度就减慢了。我们在大脑中会形成一个曲线,这就是我们大脑在学习这个规律,一些列离散的输入得到一个连续的输出。我们称这种为:
回归
我们形成这种面积与价格的认知之后,自己卖房子就会转化为合不合适:自己对房子价位有个心理预期,在别人出价时会与自己的心理预期对比,能不能成交。这也就转化为了二分类问题。
分类
我们遇到最多的就是二分类问题,冷不冷,疼不疼,饿不饿,甜不甜~二分类只是分类的一种
像有没有患病,也是二分类一种
横坐标代表肿瘤面积,纵坐标代表肿瘤良性还是恶性(1恶性,0良性)。从这个二维图上,我们大脑会得到这样的规律:肿瘤越大,恶性的概率越高。在看下边这幅图
我们会发现蓝色普遍较大,橙色普遍较小。恰好蓝色又与上边图是恶性的数据形同,橙色与良性肿瘤数据相同,那这样是不是也就是说我们把二维的关于肿瘤面积与是否良性的关系转换为一维,这样就能简化信息纬度,方便计算机进行处理;也可以在添加一个纬度:比如年纪与肿瘤关系。这就是降维的作用
降维
无监督学习Unsupervised learning
无监督学习使我们几乎或根本不了解结果应该是什么样。我们可以从数据中获得结构,而不必知道变量的影响。
监督学习关于面积、年纪与是否良性会形成这样的图;无监督学习是这样
x1面积、x2年纪。
无监督学习是这样
我们会发现两堆。监督学习会给出每一堆是什么,因为数据中就有关于是什么的答案;但大多数我们并不需要知道是什么,只要知道他们分类相同就行。给定某数据集,无监督学习算法可以将这些数据分为两个单独的群集。这称为
聚类算法
应用有很多:剁手推送:你喜欢什么,就给你推送什么;新闻:某条新闻的链接中会有更多相似新闻的链接;基因的分类~。更有意思的是可以用一行代码区分出两个人说话,或者歌声背景下人说话的声音,代码如下
[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x')
是不是非常神奇,这就是非监督学习的强大
接下来会说下机器学习中具体的算法,今天就到这里。来个总结