机器学习自学笔记

机器学习自学笔记,第1张

机器学习自学笔记

目录

一绪论

1.1机器学习定义

1.2机器学习任务的分类

1.3机器学习算法的过程

二、支持向量


一绪论 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算法,主成分分析     

         

 如何分类:

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

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

2)另一种分类方法是基于标签的固有属性

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

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

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

1.3机器学习算法的过程

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

  1. 特征提取、特征选择 

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

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

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

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

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

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

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

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

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

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

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

 1.4没有免费午餐定理

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

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

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

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

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

    

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

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

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

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

二、支持向量机 2.1线性可分定义

线性可分:

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

               二维                                     三维

   

 

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

           二维                                               三维

   

特征空间维度>四维时

二维空间

 

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

 

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

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

 

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

 

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

 

 2.2问题描述

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

  支持向量机算法:

  一、解决线性可分问题

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

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

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

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

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

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

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

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

      

 2号线是怎么画出来的?

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

      

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

                   1号线                                 2号线                                     3号线

    

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

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

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

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

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

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

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

2.3优化问题

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

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

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

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

线性可分的定义:

 

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

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

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

  用a去缩放ωb,使得

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

 事实1:

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

事实2:

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

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

优化问题定义为:

,最小化||ω||

便于后续求导

限制条件:

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

在非支持向量上

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

 

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

凸优化问题:

 

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

二次规划的定义:

(1)目标函数是二次项

(2)限制条件是一次项

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

例子:

                          

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

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

 2.4线性不可分割情况

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5572384.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-14
下一篇2022-12-14

发表评论

登录后才能评论

评论列表(0条)

    保存