机器学习基石学习笔记(1)-PLA

(☆:本文是笔者通过学习台湾大学机器学习课程,记录学习过程之笔记博文,博文中出现的各种非正统的机器学习语录可能只是笔者脑洞大开之文段,敬请海涵)

0、写在前面

在系列博文开始前,笔者简单描述一下机器学习:

笔者理解的机器需学习,是“通过计算机把非数据信息转化为数据信息并从中获得基于数理的分类,并用这个分类来指导之后的信息处理”的过程。我们可以用一张流程作为例子来表示下:

f:x→y      →      D:(x1, y1), ...(xn, yn)      →      A      →      g

解释一下,首先我们是要处理一个二维信息(实际可以有多维,此处以二维举例)的分类问题,二维信息分类在实际生活中有很多实际应用,比如说下图这一类的分类,可以简单理解为“判断题”,通过学习以下的点图,假如再来一个点,能够根据机器学习学到的方法来确定新的点是圈还是叉:

机器学习基石学习笔记(1)-PLA_第1张图片

那我们现在再来看一下上边的这个流程具体是什么含义:

f”呢,是我们想得到的那个分类方法,为了得到这个分类方法,首先我们需要查看数据D本身有什么特征;

D”就是已经数字化或者量化后的数据本身,可以看作是二维坐标系下的散点,(所以此时可以把“f”理解为二维坐标系下的函数或者方程);

A”呢,就是为了得到分类,需要我们用一种算法”A“能够对数据进行分类。这里需要区分“f”和“A”,“f”是最后我们期望的函数,本意在于“function”,而“A”本是“algorithm”,是需要我们自己设计的算法,在这里他叫做“演算法“,用它来分类数据;

g”呢,是我们通过用“A”演算数据“D”的出来的一个函数(或方程),实际上,可能不同的演算法“A”处理“D”可能有不同的“g’”,这里需要找到一个最好的“g”并使之尽可能几 乎就是“f”本身。

至此,我们就可以用“f”来指导机器以后在面对相同类型的“D”数据时能够仅仅从给定的“xi”中猜测到“yi”。


1、PLA

PLA是Percepton Learning Algorithm(感知器学习算法)的缩写,通俗理解为“知错能改演算法”。为了便于理解,举个例子:比如说一个瞎子走路,首先把一个盲人置身于一个他从来没到过的地方,那么他拿着小杆会尝试着各个方向是否有路,假如周围都是石头,只有一个路口,还有一个用于提示的铃铛,而且当他试探的地方离着路口越近铃铛就会越响,他会怎样选择呢?比较有效率的方法是先尝试12点钟方向,铃铛声音很弱,那就是不行,那就换6点钟方向,再不行,就3点钟、9点钟方向。这样很快就会在瞎子心里有一个大致的判断,基本知道了路口的方位。

以下开始具体表示PLA方法,首先每个方框图的中点为原点,依此尝试每个点,并根据原点到每个点之间的向量来确定每次的修正:

update1:第一次找到一个向量,在原点处对其做垂线(没画线,麻烦,不想画,恳请读者自行脑补)发现x9在其外;

update2:那就x9向量和x1向量相加,得到新的向量,原点出对其作垂线,此时发现x14在其外;

update3:。。。依此对比每个向量,如如发现还有点在其外,就继续update;

...

机器学习基石学习笔记(1)-PLA_第2张图片机器学习基石学习笔记(1)-PLA_第3张图片

机器学习基石学习笔记(1)-PLA_第4张图片机器学习基石学习笔记(1)-PLA_第5张图片机器学习基石学习笔记(1)-PLA_第6张图片

机器学习基石学习笔记(1)-PLA_第7张图片机器学习基石学习笔记(1)-PLA_第8张图片


update9后发现所有的点都被划开为update9中向量中垂线两侧,那,ok,成了!

机器学习基石学习笔记(1)-PLA_第9张图片

对其做中垂线处理得到分界线如下:

机器学习基石学习笔记(1)-PLA_第10张图片

所以,此时我们可以说已经找到了一个“g”,他把“D”里面的圈圈和叉叉分开了,所以此时假如我们随便置入一个点,那么就很容易判断这个点是属于叉叉范围呢还是圈圈范围。

那这一节就结束了,PLA的基本内容就是这样,但不得不说,这是一个处理“是非”问题的方法,但是计算机科学里面全都是“是非一零”问题,线性或者二元分类的学习可以说是机器学习过程的一个基础必备知识。

这一节就酱!

update
(本文是笔者通过学习台湾大学机器学习课程,记录学习过程之笔记博文,博文中出现的各种非正统的机器学习语录可能只是笔者脑洞大开之文段,敬请海涵)

你可能感兴趣的:(机器学习,人工智能,PLA)