机器学习基本概念

机器学习基础

1.机器学习的分类

1.1监督学习
定义

给定一组样本(通常由人工标注样本),它可以学会将输入数据映射到已知目标(人工标注标签)

应用

监督学习任务主要为分类与回归
其他一些关于监督学习的变体任务:

  • 序列生成
    • 给定一张图像,预测描述图像的文字
  • 语法树预测
    • 给定一个句子,预测其分解生成的语法树
  • 目标检测
    • 给定一张图像,在图中特定目标用边界框标注出来
  • 图像分割
    • 给定一张图像,在特定物体上画一个像素级的掩模
1.2无监督学习
定义

无监督学习是指在没有目标的情况下寻找数据的有趣变换,即数据无标注,自动学习给定数据的内在模式

应用
  • 降维
  • 聚类
1.3自监督学习
定义

自监督学习是监督学习的特例,是没有人工标注的标签的监督学习。其标签是从输入数据中生成的,通常使用启发式算法生成的。

应用
  • 自编码器
  • 给定视频中过去的帧来预测下一帧
  • 给定文本中前面的词来预测下一个词
1.4强化学习
定义

智能体接收有关其环境的信息,并学会选择使某种奖励最大化的行动

应用
  • AlphaGo
  • AI玩游戏

2.机器学习模型的评估

在评估机器学习模型时,我们通常将数据划分为训练集,验证集和测试集;在训练集上进行训练,在训练过程用验证集来监控模型的性能,找到最佳参数之后,最后用训练好的模型在测试集上进行评估。

机器学习的目的是得到可以泛化的模型,即在前所未见的数据上表现很好的模型,而过拟合则是训练过程的最大难点。

过拟合:

随着训练的进行,模型在训练集上的性能始终在提高,但在前所未有的数据上的性能则不再变化或者开始下降

2.1数据集的划分
为什么需要验证集:

开发模型的时候,需要调节模型的配置和学习过程的配置(如模型的层数,模型每层大小,学习率等,这些称之为模型的超参数),超参数的调节是要依据验证集的反馈信号来进行的,这一过程就会导致验证集的信息泄露;最终我们评估的应该是模型在全新数据上的性能,所以需要划分测试集。

常见数据集划分方法
①简单的流出验证

留出一定比例数据作为测试集,剩余数据中选出部分数据作为验证器,其余作为训练集
在这里插入图片描述

缺点:如果数据量太少,导致可用的验证集和测试集的样本数就会较少,两者无法代表数据整体的统计规律,如果数据选取方法不一样,可能导致评估结果也会有很大差别。

②k折验证

流出一定比例数据作为测试集,将剩余数据划分为k份,将模型编译k次,每次从中挑选一份最为验证集,在其余(k-1)份上对模型进行训练,最终将k次评估分数的平均值作为模型整体的评估分数。

在这里插入图片描述

改进:

如果数据量比较少,每次在划分k个分区时,都将数据事先打乱,在一定程度上可以增加模型评估的准确性

注意事项:
  • 在分类任务时,应该要充分随机打乱数据
    • 如果数据是该类别进行排序,如果取前一部分数据作为训练集,后一部分数据作为测试集,那么可能会使样本类别不均衡
  • 数据类型为时序数据时,不应随机打乱数据
    • 如:根据过去数据预测未来,随机打乱数据可能会造成信息泄露
  • 数据冗余,应该要确保训练集和测试集之间没有交集
2.2数据预处理
  1. 向量化

    • 数据在输入模型之前,一定要处理成对应张量模式
  2. 值标准化

    • 将取值比较大的数据或异质数据输入到模型中是不安全的
      • 可能会导致比较大的梯度更新,从而导致模型不收敛
    • 在输入模型之前,需要对每个特征进行标准化,使其均值为0,方差为1
      • 在这里插入图片描述
  3. 缺失值处理

    1. 训练集中的缺失值,可以替代为0处理(前提为0在整个数据集上不是一个有意义的数字)
      • 网络会自动从学习到0是一种缺失数据,并且最终会忽视这个值
    2. 如果训练集中没有缺失值,而测试集中有缺失值
      • 网络是无法学会如何处理这些缺失值,此时应人为生成一些缺失值样本,加入训练集中
2.3过拟合与欠拟合
过拟合:随着训练的进行,模型在训练集上的性能始终在提高,但在测试集上的性能则不再变化或者开始下降
欠拟合:在训练集上的数据损失值越小,在测试集上损失值也越小
过拟合解决方法:
  • 增加数据量

    • 训练数据越多,模型的泛化能力也就越好
  • 对模型加以约束

    • 正则化
      • 添加权重正则化
        • 奥卡姆剃刀原理:如果一个事情有两种解释,那么最可能正确解释就是最简单的那个,即假设更少的那个
        • 权重正则化:向网络的损失函数中添加与较大权重值相关的成本,强制让模型权重只能取较小值,从而限制模型的复杂度
          • L1正则化:添加的成本与权重系数的绝对值成正比
          • L2正则化(权重衰减):添加的成本与权重系数的平方成正比
      • 添加drop_out正则化
        • 对某一层使用drop_out,就是在训练过程随机将该层的一些输出特征舍弃
        • dropout_prob:通常在0.2~0.5范围内
  • 减小网络大小

    • 网络越大,其记忆容量也就越大,拟合训练数据的速度就越快,也更容易出现过拟合
  • 数据增强(Data Augmentation)

3.机器学习流程

1.定义问题,收集数据集
  • 明确输入数据是什么,预测结果是什么?
  • 确定求解问题的类型:分类?or 回归? or others
  • 做出假设:
    • 输出是可以根据输入来进行预测
    • 数据包含足够多的信息,足以学习输入和输出之间的关系
2.选择衡量成功指标
  • 成功定义:精度?准确率?召回率?
  • 成功指标会引导目标函数(损失函数)的定义
3.确定评估方法
  • 数据集的划分
    • 留出验证
    • k折交叉验证
    • 重复k折验证
4.数据准确
  • 数据预处理
5.开发比基准更好模型
  • 开发一个小模型,观察其能否打败纯随机的基准
    • 验证前面的两个假设是否成立
  • 训练配置
    • 最后一层的激活函数,根据问题类型选择
    • 损失函数
    • 优化器
6.扩大模型规模
  • 最好的模型是处于欠拟合与过拟合的分界线上
  • 为了找到最好的基准,必须穿越分界线,开发出过拟合模型
    • 使用更复杂的模型
    • 增加模型训练的轮次
7.模型调优
  • 添加dropout
  • 尝试不同模型结构:增加 or 减少网络层数
  • 添加权重正则化,L1 or L2
  • 尝试不同的超参数
  • 特征工程?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值