机器学习基本概念

2023-05-16

文章目录

  • 深度学习和机器学习
  • NLP(Natural language processing)
  • Confusion Matrix: 混淆矩阵
  • ROC(Receiver Operator Characteristic)
  • AUC(Area Under Curve)
  • PR曲线(Precision-Recall曲线)
  • 参数和超参
  • 数据集
  • 交叉验证
    • 分层交叉验证
    • 嵌套交叉验证
  • 参考

深度学习和机器学习

在这里插入图片描述
机器学习(Machine Learning, ML),是人工智能的核心,属于人工智能的一个分支,是一个大的领域,是让计算机拥有像人一样的学习能力,模拟和实现人的学习行为和能力,可以像人一样具有识别和判断的能力,可以看作是仿生学。

机器学习的工作方式:

1)选择数据:将你的数据分成三组:训练数据、验证数据和测试数据。
2)模型数据:使用训练数据来构建使用相关特征的模型。
3)验证模型:使用你的验证数据接入你的模型。
4)测试模型:使用你的测试数据检查被验证的模型的表现。
5)使用模型:使用完全训练好的模型在新数据上做预测。
6)调优模型:使用更多数据、不同的特征或调整过的参数来提升算法的性能表现。

常见的15种机器学习算法:
在这里插入图片描述

深度学习(Deep Learning)是机器学习的一种,是它的一个大的分支。实际上指的的深度神经网络学习,普通神经网络由于训练代价较高,一般只有3-4层,而深度神经网络由于采用了特殊的训练方法加上一些技术算法,可以达到8-10层。深度神经网络能够捕捉到数据中的深层联系,从而能够得到更精准的模型,而这些联系不容易被普通的机器学习方法所发觉。

传统机器学习的特征提取主要依赖人工,针对特定简单任务的时候人工提取特征会简单有效,但是并不能通用。

深度学习的特征提取并不依靠人工,而是机器自动提取的。

常用的深度学习框架有:TensorFlow、Pytorch

4种典型的深度学习算法
在这里插入图片描述

在这里插入图片描述

  • 监督学习:数据有label信息,对输入样本经过模型训练后有明确的预期输出。典型算法:分类和回归;
  • 无监督学习:数据没有label信息,对输入样本经过模型训练后得到什么输出没有预期。典型算法:聚类;
  • 强化学习:强化学习更接近生物学习的本质,因此有望获得更高的智能。它关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。通过强化学习,一个智能体应该知道在什么状态下应该采取什么行为。典型的场景就是打游戏。

NLP(Natural language processing)

深度学习应用的一个分支:自然语言处理。

Confusion Matrix: 混淆矩阵

二分类的混淆矩阵
在这里插入图片描述
其中:
TP(True Positive): 指正确分类的正样本数,即预测为正样本,实际也是正样本。
TN(True Negative): 指正确分类的负样本数,即预测为负样本,实际也是负样本。
FP(False Positive): 指被错误的标记为正样本的负样本数,即实际为负样本而被预测为正样本,所以是False。
FN(False Negative): 指被错误的标记为负样本的正样本数,即实际为正样本而被预测为负样本,所以是False。
TP+FP+TN+FN: 样本总数。
TP+FN: 实际正样本数。
TP+FP: 预测结果为正样本的总数,包括预测正确的和错误的。
FP+TN: 实际负样本数。
TN+FN: 预测结果为负样本的总数,包括预测正确的和错误的。
在这里插入图片描述
补充:
准确率(Accuracy) = 预测正确的样本 / 样本总数 = (TP + TN) / (TP+FP+TN+FN)
在这里插入图片描述
在这里插入图片描述

图示中,绿色部分为预测正确的部分,即数据主要集中在对角线上时,表明模型越好。
在这里插入图片描述
在这里插入图片描述

ROC(Receiver Operator Characteristic)

接收者操作特征曲线(ROC)

在ROC曲线中,以FPR为x轴,TPR为y轴。
FPR指实际负样本中被错误预测为正样本的概率。TPR指实际正样本中被预测正确的概率。因此TPR越大越好

因为混淆矩阵是在某一个概率阈值的条件下生成的混淆矩阵,当阈值从0调整到1时,可以有多个混淆矩阵。多个混淆矩阵就能得到多个FPR和TPR的散点图,即点P(FPR, TPR)。这些点连成线就得到了ROC曲线。

在这里插入图片描述

如下图:
在这里插入图片描述

AUC(Area Under Curve)

定义为ROC曲线下与坐标轴围成的面积。范围在0-1之间,越大表明算法模型越好
在这里插入图片描述

PR曲线(Precision-Recall曲线)

以Recall为X轴,Precision为Y轴,同理ROC曲线的生成,也是在不同阈值下的多个混淆矩阵而生成的PR曲线。
两个值都是越大越好,所以曲线越靠近右上角越好
在这里插入图片描述在这里插入图片描述

  • 当正负样本数量差距极大时,ROC曲线不敏感,所以要用PR曲线

参数和超参

模型参数是模型内部的配置变量,其值可以根据数据进行估计。
具有以下特征:

  • 进行模型预测时需要模型参数。
  • 模型参数值可以定义模型功能。
  • 模型参数用数据估计或数据学习得到。
  • 模型参数一般不由实践者手动设置。
  • 模型参数通常作为学习模型的一部分保存。

模型参数的一些例子包括:

  • 人造神经网络中的权重。
  • 支持向量机中的支持向量。
  • 线性回归或逻辑回归中的系数。

模型超参数是模型外部的配置,其值不能从数据估计得到。
具体特征有:

  • 模型超参数常应用于估计模型参数的过程中。
  • 模型超参数通常由实践者直接指定。
  • 模型超参数通常可以使用启发式方法来设置。
  • 模型超参数通常根据给定的预测建模问题而调整。

模型超参数的一些例子包括:

  • 训练神经网络的学习速率。
  • 支持向量机的C和sigma超参数。
  • k邻域中的k。

总之,模型参数是根据数据自动估算的。但模型超参数是手动设置的,并且在过程中用于帮助估计模型参数。

数据集

  • 训练集:有label,参与训练;
  • 验证集:有label,用于评估模型,调节超参。最后选取最佳的模型算法和超参,参与训练出最佳的模型;
  • 测试集:无label,用于测试验证模型。
    在这里插入图片描述
    当数据集很小的时候,验证集和训练集不同的划分,训练得到的模型差异较大,很可能无法得到最优的超参组合。因此这里引入交叉验证。

交叉验证

交叉验证是说除了测试集以外的数据集至少作为一次训练集,至少作为一次验证集。
在这里插入图片描述
如上图所示,使用的是4-fold交叉验证,因为按照训练集 : 验证集 = 3 : 1,被分成了四等份。
k-fold代表则是分成了k等份。
留一交叉验证: 表示验证集数量为1。

分层交叉验证

对于k-折交叉验证,如果数据不平衡如何?
在这里插入图片描述
这里我们引入分层交叉验证,即按照样本中正负例的比例抽取训练集和验证集。
在这里插入图片描述

嵌套交叉验证

当测试集很小时,可以通过改变测试集样本,让每份样本都至少一次作为测试集。这样子就会有嵌套的两层循环,外循环用于选取不同的测试集,内循环则按照上面说的交叉验证进行。这样子整体的计算量会被增加,但这有助于我们能够更加客观的评估模型。
在这里插入图片描述

参考

【小萌五分钟】机器学习
机器学习中的参数与超参数之间的区别
机器学习和深度学习概念入门
easy-ai知识库

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习基本概念 的相关文章

  • FreeRTOS系列|时间管理

    FreeRTOS时间管理 1 FreeRTOS延时函数 在使用FreeRTOS的过程中经常会在一个任务中使用延时函数对该任务延时 xff0c 当执行延时函数的时候就会进行任务切换 xff0c 并且此任务就会进入阻塞态 xff0c 直到延时完
  • 【Linux C与C++一线开发实践】之一 Linux概述与Linux C++开发

    Linux系统启动的基本过程 对于一台Linux系统来说 xff0c 用户按下开机按钮后 xff0c 一共要经历如下几个过程
  • 【Linux C与C++一线开发实践】之三 Linux多进程

    进程是操作系统结构的基础 进程是一个具有独立功能的程序对某个数据集在处理机上的执行过程 xff0c 进程也是作为资源分配的一个基本单位 Linux作为一个多用户 多任务的操作系统 xff0c 必定支持多进程 多进程是现代操作系统的基本特征
  • C++--结构体和类

    结构体和类只有一个区别就是前者访问控制默认为public xff0c 而类的默认访问控制是private 而对于public private protected的访问控制都是在编译期间由编译器检查的 xff0c 编译通过后 xff0c 程序
  • 嵌入式开发工程师面试题 – C语言部分

    嵌入式开发工程师面试题 C语言部分 申明 xff1a 来源于嵌入式开发工程师面试题 C语言部分 和 网摘 xff09 xff01 1 内核的裁剪怎么裁剪 解析 xff1a 在linux 下的ubuntu 上面做内核的 裁剪 xff0c 主要
  • 协方差与自相关

    协方差矩阵是一个矩阵 xff0c 其每个元素是各个向量元素之间的协方差 这是从标量随机变量 到高维度随机向量 的自然推广 假设是以个标量随机变量组成的列向量 xff0c 并且是其第i个元素的期望值 xff0c 即 协方差矩阵被定义的第i x
  • 基础解系

    基础解系首先是线性无关的 xff0c 简单的理解就是能够用它的线性组合表示出该 方程组的任意一组解 xff0c 基础解系是针对有无数多组解的方程而言 xff0c 若是齐次线性方程组则应是有效方程组的个数少于未知数的个数 xff0c 若非齐次
  • 机器学习实践指南:案例应用解析(第二版)

    试读及购买链接 机器学习实践指南2版代码及资源 原书中的360网盘链接因为360关闭网盘的原因已经失效 1 https pan baidu com s 1nw37A5N 2 http www hzbook com Books 9324 ht
  • 数学之路-python计算实战(7)-机器视觉-图像产生加性零均值高斯噪声

    图像产生加性零均值高斯噪声 xff0c 在灰度图上加上噪声 xff0c 加上噪声的方式是每个点的灰度值加上一个噪声值 xff0c 噪声值的产生方式为Box Muller算法 生成高斯噪声 在计算机模拟中 xff0c 经常需要生成正态分布的数
  • 数学之路-python计算实战(16)-机器视觉-滤波去噪(邻域平均法滤波)

    coding utf 8 code myhaspl 64 myhaspl com 邻域平均法滤波 半径为2 import cv2 import numpy as np fn 61 34 test3 jpg 34 myimg 61 cv2 i
  • R语言与数据模型(1)-平均,方差,中位数,分位数,极差

    1 求平均数 gt x lt c 1 10 20 30 40 50 NA 60 gt xm lt mean x gt xm 1 NA na rm表示允许缺失数据NA gt xm lt mean x na rm 61 TRUE gt xm 1
  • FreeRTOS系列|中断管理和临界段

    FreeRTOS中断管理和临界段 1 中断管理 1 1 中断管理简介 中断是微控制器的一个常见特性 xff0c 中断由硬件产生 xff0c 当中断产生后CPU就会中断当前的流程转而去处理中断服务 xff0c Cortex M内核的MCU提供
  • AI理论随笔-对称矩阵、正交矩阵与特征向量,特征值(2)

    一 如果 xff1a A A T 61 E AA T 61 E A A T 61 E
  • 英文过滤停用词

    span class token triple quoted string string 34 34 34 Created on Sun Nov 13 09 14 13 2016 64 author daxiong 34 34 34 spa
  • C语言随笔-去掉仅有\n的行

    include lt stdio h gt int main int argc const char argv char str 128 char linep strcpy str 34 12 35 56 n12 33 87 n n n n
  • python3.6-深入浅出视频

    课程收益 适合人群 python小白 xff0c 大数据和机器学习编程程序员 上机实践为主线 以最快的速度上手 快速入门 xff0c 还学到了python3的核心知识 https edu csdn net course detail 989
  • 数学之路(3)-机器学习(3)-机器学习算法-神经网络[11]

    多层感知器的代码 xff0c 需要一个比较复杂的调试过程 xff0c 不过也有一些方法来加快这一速度 xff0c 其中有几个地方要注意 xff1a 1 输入层 输出层 中间层的学习率和动量参数不能一样 xff0c 2 3个层的权值策略不能一
  • opencv中ArUco识别

    姿态估计 xff08 Pose estimation xff09 在 计算机视觉领域扮演着十分重要的角色 xff1a 机器人导航 增强现实以及其它 这一过程的基础是找到现实世界和图像投影之间的对应点 这通常是很困难的一步 xff0c 因此我
  • PID算法的EXCEL模拟实现

    增量式PID算法公式 xff1a 在表格里可以看见PID算法在目标值和实际值差异较大时 xff0c 控制量也很大 xff0c 主要是比例环节起到主要的调节作用 xff0c 在目标值和实际值相等时 xff0c 主要的控制量是积分环节 xff0

随机推荐

  • 三极管基本知识

    导通条件 NPN型三极管的导通条件是C点电位 gt B点电位 gt E点电位 xff0c 三极管饱和导通的条件是Ub gt Ue Ub gt Uc PNP型三极管的导通条件是E点电位 gt B点电位 gt C点电位 xff0c 三极管饱和导
  • 5.FreeRTOS学习笔记- 互斥量

    基本概念 互斥量又称互斥信号量 本质是信号量 是一种特殊的二值信号量 互斥量 支持互斥量所有权 递归访问以及防止优先级翻转的特性 用于实现对临界资源 如显示器 打印机 的独占式访问 任意时刻互斥量的状态只有两种 开锁或闭锁 持有该互斥量的任
  • could not stop cortex-m device 问题

    出现问题原因 xff1a 调试程序过程中mdk突然奔溃 xff0c 之后就再也下载程序失败 xff0c 但是读取swd IDCODE OK 下载程序就报错 个人觉得应该是单片机内部保护了 问题图 问题处理办法 先检查3 3v和GND是否短路
  • FreeRTOS系列|任务堆栈

    任务堆栈 运行freertos系统的大部分都是资源有限的MCU xff0c 所以对于RAM我们都要考虑尽量的节省 xff0c 避免资源浪费 下面将会基于Cortex M3内核的STM32F103型MCU来介绍FreeRTOS任务栈大小的确定
  • 9. GD32F103C8T6 定时器2的更新中断触发定时器0开始计时

    1 初始化定时器TIM0 span class token comment 定时器的基本初始化和打开更新中断 enable 是否使能定时器 span span class token keyword static span span cla
  • 4.GD32F103C8T6 串口中断方式接收数据和输出重定向

    1 串口基本初始化 span class token comment 基本初始化函数 span span class token keyword void span span class token function usart base
  • 5.GD32F103C8T6 串口DMA+IDLE方式接收数据

    1 串口的基本初始化 span class token keyword void span span class token function usart base init span span class token punctuatio
  • 26. GD32F103C8T6入门教程-CAN外设回环测试

    1 基础知识 相关stm32CAN外设 外设特征 3个发送邮箱 2个深度为3个邮箱的接收FIFO 自动重传 自动唤醒 发送 接收时间戳 最大速率1Mbps 3种工作模式 睡眠模式 可以检车总线状态自动唤醒 初始化工作模式 如果需要对 CAN
  • stm32 操作W25Q256 W25Q16 spi flash

    硬件连接 本函数库来自正点原子官方 xff0c 本人稍作修改和添加注释 W25Q16 2M Byte W25Q256 32M Byte spi 配置 2022 7 27 经过测试 华邦的 W25Q256JV 32M 字节 容量的spi fl
  • ESP32学习笔记20-dac

    20 DAC 20 1概述 ESP32 有两个 8 位数模转换器 DAC 通道 分别连接到 GPIO25 通道 1 和 GPIO26 通道 2 每个 DAC 通道可以将数字值 0 255 转换成模拟电压 0 Vref out voltage
  • ESP32学习笔记21-esp32启动流程

    24 esp32启动流程 第一 xff0c 第二阶段启动流程 第三阶段的详细流程
  • ESP32学习笔记22-TWAI-CAN

    22 TWAI CAN 22 1概述 22 1 1参考博客 ESP32 基于自带控制器实现CAN总线通信 上 知乎 zhihu com ESP32 基于自带控制器实现CAN总线通信 下 知乎 zhihu com 22 1 2 ESP32 T
  • Python str和bytes的相互转换

    str0 61 39 abc 39 a 61 bytes str0 39 utf 8 39 print type str0 str0 print type a a print 39 39 c 61 bytes 97 98 99 100 pr
  • wxpython 基本的控件 (按钮)

    在wxPython 中有很多不同类型的按钮 这一节 xff0c 我们将讨论文本按钮 位图按钮 开关按钮 xff08 toggle buttons xff09 和通用 xff08 generic xff09 按钮 如何生成一个按钮 xff1f
  • FreeRTOS系列|处理器利用率

    处理器利用率 1 处理器利用率统计的作用 处理器利用率其实就是系统运行的程序占用的CPU资源 xff0c 表示机器在某段时间程序运行的情况 xff0c 如果这段时间中 xff0c 程序一直在占用CPU的使用权 xff0c 那么可以认为CPU
  • QT 多线程使用QTcpSocket

    本人亲测使用moveToThread xff08 xff09 的方式可以 xff1b 不存在报错 xff0c 警告 include 34 widget h 34 include 34 ui widget h 34 Widget Widget
  • ESP8266天猫精灵接入流程

    Blinker天猫精灵接入流程 设备上线 设置接入的设备类型 设置接入设备的auth Key 设置SSID PSWD 或者选择 ESPTOUCH等配网方式 下载代码等待设备接入上线成功 authKey对应的设备若需要更换接入的设备类型 xf
  • 存储器的分类

    目录 01 ROM 02 非易失性RAM 2 1原理 2 2发展 2 3 摩尔定律 03 易失性RAM 3 1原理 3 2发展 3 3总结 04 总结 储器类型有很多 xff0c 常见的有ROM xff08 Read onlymemory只
  • RT - thread学习(一)

    目录 一 RT thread介绍 二 RT thread移植 首先我们先在官网获取 编辑 对无关的文件进行剪裁 剪裁后的内核文件移植到sdk文件 配置内核文件 一 RT thread介绍 rt thread是国产的一款开源的实时操作系统 这
  • 机器学习基本概念

    文章目录 深度学习和机器学习NLP xff08 Natural language processing xff09 Confusion Matrix 混淆矩阵ROC xff08 Receiver Operator Characteristi