机器学习自学笔记

目录

一绪论

1.1机器学习定义

1.2机器学习任务的分类

1.3机器学习算法的过程

二、支持向量机

2.1线性可分定义

2.2问题描述

2.3优化问题

 2.4线性不可分割情况

2.5 低维到高维的映射

 2.6 核函数的定义

2.7 原问题和对偶问题

 2.8 转化为对偶问题

2.10 兵王问题描述


一绪论

1.1机器学习定义

1.机器学习是这样的领域,它是赋予计算机学习的能力,这种学习能力不是通过显著式编程获得的

  让计算机自己总结规律的编程方法—非显著式编程—机器学习关注点

  规定收益函数后,让计算机自己去找最大化收益函数的行为 

 非显著式编程:通过数据、经验自动的学习,完成我们交给的任务

2.一个计算机程序被称为可以学习,是指他能够针对某个任务T和某个性能指标P,从经验E中学习,这种学习的特点是,它在T上的被P所衡量的性能,会随着经验E的增加而提高。

例1:任务T—编写程序设别菊花和玫瑰

         经验E—一大堆菊花和玫瑰花的图片(样本值)

         性能指标P—不同机器学习的算法会不同,eg 识别率—正确率

         根据经验E来提高性能指标P的过程——典型的最优化问题 

1.2机器学习任务的分类

  划分标准—经验E(训练样本和标签的集合)

 1.监督学习— 所有的经验E 都是人工采集并输入计算机的

  1)监督学习根据数据标签存在与否的分类:

(1)传统的监督学习:每个训练数据都有对应的标签。算法:支持向量机,人工神经网络,深度神经网络

(2)非监督学习:所有训练数据都没有对应的标签。非监督学习算法包括:聚类,EM算法,主成分分析     

机器学习自学笔记_第1张图片​         机器学习自学笔记_第2张图片

 如何分类:

  需要假设:同一类的训练数据在空间中离更近→根据样本的空间信息→设计算法将它们的聚集为两类→从而实现无监督学习

(3)半监督学习:训练数据中一部分有标签,另一部分没有标签。

机器学习自学笔记_第3张图片

2)另一种分类方法是基于标签的固有属性机器学习自学笔记_第4张图片

2.强化学习—经验E计算机与环境互动获得的

机器学习自学笔记_第5张图片

让计算机通过改变自己的行为模式去最大化收益函数—强化学习

强化学习:让计算机通过与环境的互动逐渐强化自己的行为模式

1.3机器学习算法的过程

机器学习重点——假设在已经提取好特征的前提下,研究合理算法,使学习系统获得较好的性能(如何构造算法获得更好的性能指标)

  1. 特征提取、特征选择 

       特征提取:通过训练样本获得的,对机器学习任务有帮助的多维度数据

       特征提取的结果—特征选择

       提取了好的特征——也能获得不错的性能

       提取的特征很差——不肯能获得好的性能

       为什么不重点研究提取特征?

          不同的任务提取特征的方式不同。不同媒质不同任务,提取特征的方式千变万化

  1. 不同的算法对特征空间做不同的划分  

       设计算法:支持向量机:线性内核,多项式核,高斯径向基函数核。不同机器学习算法

       机器学习算法过程:设计一个算法,画出分类曲线(维度+标准)

       研究不同应用场景下,应该采取哪种算法

       研究新的机器学习算法,以便适应新的场景

 1.4没有免费午餐定理

    任何一个预测函数,如果在一些训练样本上表现好,那么必然在另一些训练样本上表现不好,如果不对数据在特征空间的先验分布有一定的假设,那么表现好与不好的情况将会一样多

原因:由于我们假设各种情况的先验概率一样

 研究不同应用场景下,应该采取哪种算法

 在设计机器学习算法的时候由一个假设:

     在特征空间上距离接近的样本,他们属于同一个类别的概率会更高)

    机器学习自学笔记_第6张图片

   结论:如果不对特征空间的先验分布有假设→所有算法的表现都一样

   (1)不能片面的夸大这个定理的作用

   (2)机器学习的本质→根据有限的已知数据→在复杂的高维特征空间中预测未知的样本

             再好的算法也存在犯错的风险

二、支持向量机

2.1线性可分定义

线性可分:

二维情况下分割圆圈和×的是直线。三维情况下分割圆圈和×的是平面  。大于4维的情况下,分割圆圈和×的是超平面

               二维                                     三维

机器学习自学笔记_第7张图片​   机器学习自学笔记_第8张图片

非线性可分:不存在一条直线将圆圈和×分开

           二维                                               三维

机器学习自学笔记_第9张图片​   机器学习自学笔记_第10张图片

特征空间维度>四维时

二维空间

 机器学习自学笔记_第11张图片

 若假设 ω’1=-ω1,ω’2=-ω2,b'=-b

 机器学习自学笔记_第12张图片

假设:我们由N个训练样本和他们的标签

机器学习自学笔记_第13张图片

1)用数学严格定义训练样本以及他们的标签,

 机器学习自学笔记_第14张图片

2)用向量形式来定义线性可分

机器学习自学笔记_第15张图片

 机器学习自学笔记_第16张图片

 (3)线性可分定义的最简化形式

机器学习自学笔记_第17张图片

2.2问题描述

  如果一个数据集是线性可分的存在无穷多个超平面,将各个类别分开

  支持向量机算法:

  一、解决线性可分问题

  二、再将线性可分问题中获得的结论推广到线性不可分情况

 1.如何解决线性可分问题?

   如果一个数据集是线性可分的存在无穷多个超平面,将各个类别分开

   在这无数多个分开各个类别的超平面中,到底哪一个是最好的

 例2.1   二维特征空间中的二分类问题

机器学习自学笔记_第18张图片

根据没有免费午餐定理,可得3条线都是一样的,

我们认为第二条线是比较好的,原因是对训练样本先验分布有一定假设,例如,假设训练样本的位置在特征空间上有测量误差。

2号线对训练样本位置的测量误差的容忍程度是最高的,2号线更能抵御训练样本位置的误差。

 机器学习自学笔记_第19张图片​     机器学习自学笔记_第20张图片

 2号线是怎么画出来的?

 VAPNIK的回答:基于最优化的理论,将寻找2号线的过程,变成一个最优化的问题。

​      机器学习自学笔记_第21张图片

间隔(margin)最大的是2号线

                   1号线                                 2号线                                     3号线

机器学习自学笔记_第22张图片​  机器学习自学笔记_第23张图片​  机器学习自学笔记_第24张图片

支持向量机要找的是使间隔(margin)最大的那条线,但是使用margin最大这个条件→不能唯一确定一条直线

 为了使找到的直线唯一,还需要定义,这条线在上下两个平行线的正中间

机器学习自学笔记_第25张图片

支持向量机寻找的最优分类直线应满足:

(1)该直线分开了两类;

(2)该直线最大化(间隔)(margin)

(3)该直线处于间隔的中间,到所有支持向量距离相等

该结论是基于二维特征空间的结果,在高维特征空间中,直线将变成超平面,但以上的结论是一致的

2.3优化问题

 在数据集线性可分的情况化下,支持向量机寻找的最优超平面,应该满足下面三个条件:

 最优分类超平面应该满足:

  1.  该超平面分开了两个类
  2.  该超平面有最大化间隔
  3.  该超平面处于间隔的中间,到所有支持向量距离相等

 如何用严格的数学→由寻找最优分类超平面的过程→写成一个最优化的问题

线性可分的定义:

机器学习自学笔记_第26张图片

机器学习自学笔记_第27张图片

假定训练样本集是线性可分的,支持向量机需要寻找的是最大化间隔的超平面 ,离两边所有支持向量的距离相等

机器学习自学笔记_第28张图片

机器学习自学笔记_第29张图片

已知:训练样本集(xi,yi)i=1到Ni       待求:(ω,b)

 支持向量机优化问题推导中最难理解的部分

  用a去缩放ωb,使得

机器学习自学笔记_第30张图片

 由事实1 ,得(ω,b)表示的超平面和(aω,ab)表示的超平面是同一个平面

 事实1:

机器学习自学笔记_第31张图片

 根据事实2,支持向量X0到超平面的距离会变成

机器学习自学笔记_第32张图片

事实2:机器学习自学笔记_第33张图片

 点到超平面的距离公式(由该公式可以推出事实2)

机器学习自学笔记_第34张图片

 最大化支持向量到超平面的距离,等价于最小化||ω||

优化问题定义为:

​,最小化||ω||

便于后续求导

限制条件:

机器学习自学笔记_第35张图片

支持向量到超平面的距离为:

在非支持向量上机器学习自学笔记_第36张图片

 非支持向量到超平面的距离一定大于支持向量到超平面的距离

 机器学习自学笔记_第37张图片

 总结:在线性可分情况下,支持向量机寻找最佳超平面的优化问题可以表示为:

凸优化问题:

 机器学习自学笔记_第38张图片

已知: 训练样本集(xi,yi) i=1到Ni       待求:(ω,b)

二次规划的定义:

(1)目标函数是二次项

(2)限制条件是一次项

凸优化问题要么无解,要么只要唯一的最小值,只有唯一 一个全局极值

例子:

                          机器学习自学笔记_第39张图片

 如何求解全局最小值:根据梯度不断试探

 线性可分条件下的支持向量机的求解是凸优化问题。

 2.4线性不可分割情况

机器学习自学笔记_第40张图片

若是线性不可分的,则上面的最优化问题是无解的,即不存在ω和b 使得限制条件成立

放松限制条件,使得最优化问题有解

放松限制条件的基本思路:

对每个训练样本及标签(Xi,Yi),设置一个松弛变量δi,

加入新的限制,阻止每个δi无限变大

 机器学习自学笔记_第41张图片

 比例因子C:平衡两项​和​,C的值是人为设定的

该优化问题为凸优化问题

人为事先设定的参数叫作算法的超参数

不断变化C的值→对每个C测试算法的识别率→选取使识别率达到最大的超参数C的值

支持向量机是超参数很少的算法模型。

 例2.4

C=10000,迫使所有的δi趋近于0,使得最终解出的超平面和线性可分情况保持基本一致

结果:

机器学习自学笔记_第42张图片

优化方法:扩大可选函数范围。提高支持向量机解决线性不可分问题的能力

2.5 低维到高维的映射

扩大可选函数范围:

 将特征空间由低维映射到高维→用线性超平面对数据进行分类

例2.5

机器学习自学笔记_第43张图片

机器学习自学笔记_第44张图片​      机器学习自学笔记_第45张图片

 机器学习自学笔记_第46张图片​       机器学习自学笔记_第47张图片

      假设:在一个M维空间上随机取N个训练样本,随机的对每个训练样本赋予标签+1或-1

      假设:这些训练样本线性可分的概率为P(M),    则当M趋于无穷大时,P(M)=1

      证明:当我们增加特征空间M的维度时,待估计参数(ω,b)的维度也会增加,整个算法模型的自由度会增加,就可以将低维线性不可分的数据映射到高维,形成线性可分的。

  将训练样本由低维映射到高维,就可以增大线性可分的概率。

待解决问题:如何构建低维到高维的映射φ(x)?

 假设φ(x)已知     X映射到φ(x)

 ​              ωi的维度与Xi维度相同                  机器学习自学笔记_第48张图片​        Xi被φ(Xi)替代    ω的维度与φ(Xi)相同

凸优化问题

 2.6 核函数的定义

机器学习自学笔记_第49张图片​           ​  

不用知道φ(x)的具体形式,

定义该机器学习自学笔记_第50张图片​ 形式为核函数,是一个数

机器学习自学笔记_第51张图片

例2.6.1  已知φ(x)求核函数K

核函数以及低维到高维的映射φ(x)之间的相互关系

假设:φ(x)是一个将二维向量映射维三维向量的映射

假设有两个二维向量

​   

 

例2.6.2  已知核函数K求映射φ(x)

假设 X是一个二维向量,

假设:

机器学习自学笔记_第52张图片

            假设                                                      那么

​     

 核函数K和映射φ(x)是一一对应的关系

核函数的形式不能随意的取,需要满足一定的条件,才能分解为两个φ(x)的内积

机器学习自学笔记_第53张图片

只要K满足 交换性和半正定性的形式,则一定可以写成φ(x)内积的形式

 例如2.6.3  可以证明

满足以上两个条件,

 这里的φ(x)不能写成显式的表达式,虽然无法知道φ(x)的形式,但可以通过一些方法知道

​的值,进而可以知道测试样本X所属的类别

如何在已知K,不知φ(x)的情况下,求解支持向量机的优化问题

2.7 原问题和对偶问题

机器学习自学笔记_第54张图片

 自变量ω 是多维向量,目标函数f(ω)

定义该原问题的对偶问题如下:

1.定义函数:                

机器学习自学笔记_第55张图片

2.定义对偶问题

 

综合原问题和对偶问题的定义得到:

定理一:

机器学习自学笔记_第56张图片​     

 对偶差距≥0

强对偶定理 

  如果 g(ω)=Aω+b,h(ω)=Cω+d,f(ω)为凸函数,则有f(ω*)=Θ(α*,β*),则对偶差距为0

 如果原问题的目标函数是凸函数,限制条件是线性函数,那么原问题的解f(ω*),对偶问题的解

 Θ(α*,β*)相等,即f(ω*)=Θ(α*,β*),对偶差距为0

​的值为0 

 2.8 转化为对偶问题

证明支持向量机的原问题满足强对偶定理

目前支持向量机的优化问题

机器学习自学笔记_第57张图片

机器学习自学笔记_第58张图片

将支持向量机的优化问题转化为原问题

1.首先将

得到

​         

 再整理得:

机器学习自学笔记_第59张图片

限制条件都是线性的,目标函数是凸的,满足强对偶定理

原问题中的自变量ω=支持向量机优化问题中的(ω,b, δi)

原问题中的gi(ω)≤0 =支持向量机优化问题中的 两部分,一部分是

另一部分是 

由于没有等式条件,故不存在hi(ω)的情况

支持向量机的原问题转化为对偶问题的形式

机器学习自学笔记_第60张图片

如何将原问题转化为对偶问题

 由于遍历所有的(ω,b, δi),求最小值,故对(ω,b, δi)求导并令导数为0

机器学习自学笔记_第61张图片

 将支持向量机的原问题转化为对偶问题:

机器学习自学笔记_第62张图片机器学习自学笔记_第63张图片

该对偶问题也是一个二次规划问题,可以通过最优化算法求解

 利用对偶理论,将支持向量机的原问题转化为相应的对偶问题

2.9算法总体流程

基于对偶问题,对支持向量机求解整个算法的统一流程

支持向量机的对偶问题: 

机器学习自学笔记_第64张图片

 如何求解这个对偶问题,基于这个对偶问题,给出支持向量机算法的统一流程

由于​,只需求解核函数,即可求解对偶问题,解出所有的​,根据​(由于φ(x)不知道是否有显式表达,故ω也不知道是否有显式表达)

无需知道ω的显式表达式,也可以通过核函数K(X1,X2)算出ωTX+b的值

1.如何求b

​       

根据KKT条件,可以推出

 如果对某个i,αi≠0且αi≠c,则根据KKT条件,必有δi=0,且

 

                             ↑ ↑

          ​ 机器学习自学笔记_第65张图片

 2.对于测试样本X如何确定其类别

机器学习自学笔记_第66张图片

核函数戏法:即使不知道φ(x),只知道核函数K(x1,x2),也可通过上面的公式算出

机器学习自学笔记_第67张图片

 基于对偶问题的求解,支持向量机训练和测试的路程

  1.  训练过程

        输入选了数据{(Xi,yi)}  i=1~N 其中 yi=±1

       (1)求出αi

       机器学习自学笔记_第68张图片

       (2)求b

          

  1.  测试过程

          考察测试数据X,预测它的类别y

         (1)预测规则

           

2.9 兵王问题描述

 用SVM解决实际问题

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