机器学习基础

一. 机器学习的概念

机器学习是什么

机器如何学习?

  • 对于某个特定的任务,以大量的经验为基础;
  • 对任务完成的好坏,给与一定的评测标准;
  • 通过分析大量的经验数据,任务完成的更好了;
机器学习的开端
  • 1952年,IBM的Arthur Samuel(被誉为“机器学习之父”)设计了一款可以学习的西洋跳棋程序
  • 它能通过观察棋子的走位来构建新的模型,并用其提高自己的下棋技巧。
  • Samuel 和这个程序进行多场对弈后发现,随着时间的推移,程序的棋艺变得越来越好
机器学习的定义
  • 通过输入海量训练数据对模型进行训练,使模型掌握掌握数据中所蕴含的潜在规律,进而对新输入的数据进行准确的分类和预测
  • 主要研究计算机系统对于特定任务的性能,逐步进行改善的算法和统计模型;
  • 研究计算机怎样模拟或实现人类的学习行为,以获取新的知识和技能,重新组织已有的知识结构使之不断改善自身的性能
机器学习的过程

【海量数据 -> 提炼规律 -> 预测未来】
在这里插入图片描述

机器学习实例

【有无角进行分类】
在这里插入图片描述

二. 机器学习的全部分类

在这里插入图片描述

三. 机器学习的主要分类

监督学习

【有特征数据,且有特征数据对应的结果】

  • 监督学习算法构建了包含输入和所需输出数据的一组数学模型;这组数据称为训练数据,由一组训练样本组成;

  • 监督学习主要包含分类回归

  • 输出为离散值时使用分类算法;输出为连续值时使用回归算法;

  • 相似度学习是和分类和回归都密切相关的一类监督机器学习,目的为使用相似性函数从样本中学习,这个函数可以度量两个对象之间的相似度或关联度;在排名,推荐系统,视觉识别跟踪,人脸识别等方面有很好的应用场景;
    监督学习的应用:

  • 预测房价 在这里插入图片描述

无监督学习

【只有特征数据】

  • 仅包含特征数据,通过寻找数据中的内在结构来对样本点的分组或聚类
  • 无监督学习不是响应反馈,而是要识别数据中的共性特征。当输入新数据时,可以通过判断新数据是否存在这种特征,来做出相应的反馈;
  • 无监督学习的核心应用是统计学中的密度估计和聚类分析;

无监督学习应用:

  • 谷歌新闻每天都会搜索很多新闻内容。它将这些新闻分组,组成有关联的新闻,按主题显示给用户;【搜索新闻事件,之后进行聚类,有关联的聚类在一起,按主题显示给用户】
强化学习

【通过与环境交互并获取延迟返回进而改进行为的学习过程】

四. 监督学习深入理解

监督学习三要素
  • 模型:总结数据的内在规律,用数学函数描述的系统;
  • 策略:选取最优模型的评价准测;(我觉得主要看测试误差)
  • 算法:选取最优模型的具体方法;(如梯度下降法)
监督学习实现步骤

得到训练集 -> 包含所有模型的集合 -> 确定模型选择的准则【学习策略】-> 实现求解最优模型的算法【学习算法】-> 通过学习算法选取最优模型 -> 利用得到的最优模型,对新数据进行预测和分析
在这里插入图片描述

监督学习模型评估策略
  • 训练集与测试集:
    训练集:用来训练模型的数据集合
    测试集:模型训练完成后,对模型效果进行测试的训练集合;

  • 损失函数:
    1. 用来衡量模型预测误差
    2. 定义:对于模型f,输入参数X,f(X)为预测结果,真实结果为Y;f(X)和Y之间可能有偏差,就用损失函数来衡量预测偏差的程度,记作L(f(X),Y)
    3. 损失函数是系数的函数

  • 损失函数分类:
    1. 0-1 损失函数
    在这里插入图片描述

     2. 平方损失函数
    

    在这里插入图片描述

     3. 绝对损失函数
    

    在这里插入图片描述

     4. 对数损失函数
    

    在这里插入图片描述

  • 训练误差: 关于训练集的平均损失
    【训练误差的大小用来判断给定的任务是否容易学习】

  • 测试误差: 关于测试集的平均损失
    【测试误差真实的反应了对未知数据的预测能力,又称泛化能力

  • 欠拟合: 数据太少,学习的不够
    【训练误差大,测试误差也大】
    举例:四条腿,两只眼,有尾巴 就是猫
    解决:增加训练数据

  • 过拟合: 训练数据学习的太彻底
    【训练误差小,测试误差大】
    举例:四条腿,两只眼,一条尾巴,叫声,能捉老鼠,喜欢吃鱼,白色就是猫
    解决:正则化

  • 模型的选择:
    在这里插入图片描述

    1. 当模型复杂度增大时,训练误差会逐渐减小并趋近于0,测试误差会先减小后增大;
    2. 当模型复杂度过大时,就会发生过拟合;所以模型复杂度应适中;
  • 正则化:

    1. 训练误差的基础上加上表示模型复杂度的正则化项,或者叫惩罚项
    2. 正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值越大
    3. 正则化项可以取不同的形式,特征向量的L1范数或L2范数
      在这里插入图片描述

在这里插入图片描述
【如上图模型过于拟合,没加正则化就是训练误差趋近于0,而加上正则化项之后就是训练误差+正则化项趋近于0,则表示训练误差不趋近于0了,也就是不那么拟合了】

  • 简单交叉验证: 选取最优模型(多个模型)

    1. 随机划分数据的70%作为训练集,30%作为测试集
    2. 训练集在不同条件下(如参数个数)训练模型,得到不同的模型
    3. 在测试集上评价各个模型的测试误差,选取最优模型
  • S折交叉验证: 测试模型的稳定性(1个模型)

    1. 将数据切分为S个互不相交,相同大小的子集,选取S-1份作为训练集,1份作为测试集;
    2. 重复进行训练集和测试集的选取,则有S种选则
分类和回归

分类问题与回归问题的划分: 结果为离散型数据还是连续性数

  • 通俗的讲,分类就是预测数据属于哪一类别,就像上面的房屋出售预测,通过大量的数据训练模型,然后去预测某个给定的房屋能不能出售出去,属于能够出售类型和不能够出售类型
  • 回归则是预测一个数值,比如给出房屋的特征,预测房价
  • 当然分类问题与回归问题也可以相互转换,比如将预测房屋能否出售问题改为房屋能够出售的概率,得到的结果将不再是0(不能出售),1(能出售),而将会是一个连续性数值,例如0.5,变成了一个回归问题

分类:

  • 当输出变量Y取有限个离散值时,预测问题就成了分类问题
  • 分类问题包含学习和分类两个过程。学习过程:利用已知的训练数据集通过学习方法学习一个分类器;分类过程:利用习得的分类器对新的输入数据进行类别预测;
  • 分类问题的学习方法:逻辑回归,K近邻,决策树,朴素贝叶斯法,支撑向量机,感知机,神经网络等;

分类器的性能评价指标:

  • 准确率:对于测试集,预测正确的样本数 / 总样本数

二分类问题:

  • 精确率:预测正确的正样本数量 / 预测的总样本数
  • 召回率:预测正确的正样本数量 / 真正的正样本数量

回归:

  • 回归模型就是表示从输入变量到输出变量之间的映射函数
  • 回归问题的学习等价于函数拟合,使其能很好的拟合已知数据,并能够很好的预测未知数据
  • 回归问题的分类:
    1. 按照输入变量的个数:一元回归和多元回归
    2. 按照模型类型:线性回归和非线性回归

回归器的性能评价指标:

  • 平方损失函数:测试集上真实值与预测值之间误差的平方

【若选取平方损失函数作为损失函数,则使用最小二乘法求解】

监督学习模型求解算法

梯度下降法:

  • 梯度方向:函数变化增长最快的方向(变量沿此方向变化时函数增长最快)
  • 负梯度方向:函数变化减小最快的方向(变量沿此方向变化时函数减小最快)
  • 损失函数是系数的函数,如果系数沿着损失函数的负梯度方向变化,那么此时损失函数减少最快,能够以最快的速度下降到最小值,但是梯度下降不一定能够找到一个全局最优解,有可能找到的是局部最优解(如果损失函数为凸函数,梯度下降算法得到的一定是全局最优解)

**总结:**梯度下降算法就是损失函数沿着负梯度的方向迭代,迭代后的θ使损失函数L(θ)的值最小,但是有可能是局部最小值。
具体求解步骤请看我另一篇博客:https://blog.csdn.net/weixin_45506408/article/details/114433800

牛顿法和拟牛顿法:
牛顿法:
在这里插入图片描述

在这里插入图片描述

  • 由公式可以看出,梯度下降法只考虑了一阶导数,而牛顿法考虑了二阶导数,因此收敛速度更快

拟牛顿法:

  • 牛顿法需要求解目标函数的海塞矩阵的逆矩阵,计算比较复杂
  • 拟牛顿法通过正定矩阵近似海塞矩阵的逆矩阵,从而大大简化了计算过程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值