AI大模型学习笔记之五:监督学习--数据如何驱动决策

监督学习,又称为监督式机器学习,是机器学习和人工智能领域的一个重要分支。

其基本原理是利用带有标签的数据集来训练算法,以实现精确分类数据或预测结果的目标。

在监督学习中,通过将数据输入模型,并不断调整数据权重,直至模型与实际数据拟合良好,这也是交叉验证的一部分。

监督学习技术可应用于解决各种现实世界的问题,比如将垃圾邮件分类至收件箱的特定文件夹中。

监督学习
一、什么是监督学习?

监督学习之所以被称为“监督”,是因为在训练过程中,模型的学习是在一个“监督者”的指导下进行的,这个监督者就是提供标签(或答案)的数据源。

这个“标签”通常是由人工标记的。在监督学习中,训练数据集包含了输入数据和对应的输出标签(也称为“标记”或“答案”),这些标签是人们根据自己的知识或经验为每个输入样本提供的。训练过程中,模型通过学习输入与输出之间的关系,来尝试预测新的未见过的输入数据的输出标签。

监督体现在以下几个方面:

监督学习的体现

  1. 提供标签:在监督学习中,训练数据包含输入特征和对应的输出标签。这些标签是指导模型学习和判断对错的关键,因为模型的目标是学会根据输入的数据来预测正确的输出。

  2. 衡量性能:监督学习中通常会使用一个衡量标准(如损失函数)来评估模型的预测与真实标签之间的差异。通过这种衡量,可以及时发现模型的预测偏差,并对模型进行调整。

  3. 调整模型:监督学习中,监督者还可以根据模型的表现来调整模型的结构或超参数,以提高模型的性能,让模型逐渐逼近真实标签。

训练过程中,模型通过学习输入与输出之间的关系,来尝试预测新的未见过的输入数据的输出标签。

这种监督使得模型能够在学习过程中逐渐优化自身,以更准确地进行预测。

二、监督学习工作原理

监督学习利用训练集来训练模型,以产生预期的输出。

这个训练集包含了输入数据以及它们对应的正确输出,这些标签是由人工标注的。

模型通过学习输入和输出之间的关系,逐渐提高其预测准确性。

在训练过程中,模型使用损失函数来衡量其预测输出与真实输出之间的差异,并不断调整模型参数,以最小化这种差异。这个过程持续进行,直到模型的预测误差被充分地最小化。

监督学习分为两种主要类型:

  1. 分类(Classification):在分类问题中,算法的目标是预测输入数据属于哪个类别或标签。输出通常是离散的,代表不同的类别。例如,给定一张图片,预测该图片中包含的物体是猫还是狗。

分类分析应用

  1. 回归(Regression):在回归问题中,算法的目标是预测连续值的输出。输出通常是一个实数值或向量。例如,根据房屋的特征(如面积、位置、卧室数量等),预测该房屋的销售价格。

回归分析应用

三、常用的监督学习算法

在监督学习中,通常使用各种算法和计算方法来训练模型。常用的监督学习算法有以下一些,可以使用R或Python等编程语言进行计算:

  1. 神经网络:神经网络是一种基于人工神经元网络结构的深度学习模型。它由多个层次组成,包括输入层、隐藏层和输出层,每个神经元都与下一层的所有神经元相连。在训练过程中,神经网络通过反向传播算法来更新权重,以最小化损失函数。它在图像识别、语音识别、自然语言处理等领域取得了很大的成功。

神经网络

  1. 朴素贝叶斯:朴素贝叶斯是一种基于贝叶斯定理和特征独立性假设的分类算法。它假设每个特征都是独立的,然后通过计算每个类别的后验概率来进行分类。朴素贝叶斯算法简单、高效,特别适用于文本分类、垃圾邮件识别和推荐系统等应用。

朴素贝叶斯分类算法

  1. 线性回归:线性回归用于建立因变量与一个或多个自变量之间的线性关系。它通过拟合最佳拟合线来预测连续性因变量的值。在简单线性回归中,只有一个自变量和一个因变量,而在多元线性回归中,可以有多个自变量。线性回归通过最小化残差平方和来找到最佳拟合线。

线性回归

  1. 逻辑回归:逻辑回归用于解决二元分类问题,例如判断邮件是否为垃圾邮件。它通过将线性回归模型的输出映射到一个逻辑函数(如sigmoid函数),以产生0到1之间的概率值,从而进行分类。

逻辑回归

  1. 支持向量机 (SVM):支持向量机是一种用于分类和回归的监督学习模型。它的目标是找到一个最大间隔超平面,将不同类别的数据点分开。SVM通过核函数将数据映射到高维空间,以便在更复杂的数据结构中找到最佳的超平面。

支持向量机 (SVM)

  1. K近邻算法:K近邻算法是一种基于实例的学习方法,它假设相似的数据点具有相似的标签。在分类问题中,它根据输入样本的最近邻居来预测其标签。K近邻算法简单易用,但对于大型数据集的处理速度较慢。

K近邻算法

  1. 随机森林:随机森林是一种集成学习算法,由多个决策树组成。每个决策树都是通过随机抽样和随机特征选择训练而成的。随机森林通过投票或平均值来产生最终的分类结果或回归预测,具有较强的泛化能力和抗过拟合能力。

随机森林

这些算法在监督学习中起着重要作用,可以根据问题的特性和数据的特点选择合适的算法进行建模和预测。

四、监督学习的工作流程

监督学习的工作流程

监督学习的工作流程一般分为以下九个步骤:

  1. 收集数据集
    • 确定任务:首先确定需要解决的任务,例如分类、回归或其他问题。
    • 收集数据:根据任务收集数据,确保数据包含足够的样本和特征,以支持模型的训练和预测。
    • 数据探索:对收集的数据进行初步探索,了解数据的特点、分布和缺失值情况。

01-收集数据集

  1. 数据预处理
    • 清洗数据:处理异常值、重复值和错误数据,确保数据的准确性和一致性。
    • 处理缺失值:填充或删除缺失值,以确保数据的完整性。
    • 特征工程:选择合适的特征,对特征进行转换、组合或生成新特征,以提高模型的性能。
    • 数据标准化:对数据进行标准化或归一化,以确保不同特征具有相似的尺度和范围。

02-数据预处理

  1. 划分数据集
    • 划分比例:将数据集按照一定比例划分为训练集、验证集和测试集,通常按照70-80%的训练集、10-15%的验证集和10-15%的测试集进行划分。
    • 随机化:确保数据集的划分是随机的,避免数据的偏斜或过拟合。

03-划分数据集

  1. 选择模型
    • 确定模型类型:根据任务的性质和数据的特点,选择适当的监督学习模型,例如分类模型、回归模型或其他类型的模型。
    • 模型调优:根据任务的需求和性能指标,选择合适的模型超参数和配置。

04-选择模型

  1. 训练模型
    • 模型初始化:初始化模型参数,准备进行训练。
    • 损失计算:使用训练集数据计算损失函数,衡量模型预测值与真实值之间的差异。
    • 参数更新:使用优化算法(如梯度下降)更新模型参数,以最小化损失函数。
    • 迭代训练:重复以上步骤,直到达到停止训练的条件(如达到最大迭代次数或达到收敛)。

05-训练模型

  1. 验证模型
    • 模型评估:使用验证集评估模型的性能,通常使用指标如准确率、精确率、召回率、F1 值等来衡量模型的表现。
    • 超参数调优:根据验证集的评估结果调整模型的超参数,以提高模型的性能和泛化能力。

06-验证模型

  1. 模型评估
    • 测试集评估:使用测试集评估模型的泛化能力和预测性能,确保模型在未见数据上的表现。
    • 结果解释:分析模型的预测结果,理解模型对数据的学习和推理能力。

07-模型评估

  1. 模型部署
    • 模型集成:将训练好的模型集成到实际应用中,例如将模型部署到Web服务、移动应用或嵌入式系统中。
    • 性能监控:持续监控模型在实际应用中的性能,跟踪模型的预测准确度和响应时间。

08-模型部署

  1. 监控和更新
    • 模型更新:定期更新模型,以适应新的数据和情况。这可能涉及重新训练模型或调整模型参数。
    • 反馈循环:根据实际应用中收集到的反馈和数据,优化模型的性能和预测能力。

09-监控和更新

以上这些步骤构成了监督学习的完整工作流程,在实际应用中还需要综合考虑数据、模型和任务的特点,不断迭代和优化以获得最佳的结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/471586.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【知识整理】产研中心岗位评定标准之大数据岗位

为贯彻执行集团数字化转型的需要,该知识库将公示集团组织内各产研团队不同角色成员的职务“职级”岗位的评定标准; 一、定级定档目的 通过对公司现有岗位及相应岗位员工的工作能力、工作水平进行客观公正评定,确定各岗位的等级及同等级岗位员工对应的档级,从而为员工以后的晋升…

CSS篇--transform

CSS篇–transform 使用transform属性实现元素的位移、旋转、缩放等效果 位移 // 语法 transform:translate(水平移动距离,垂直移动距离) translate() 如果只给一个值,表示x轴方法移动距离 单独设置某个方向的移动距离:translateX() transla…

bpmn-js 事件总线处理

bpmn-js中使用EventBus作为事件的处理句柄,EventBus的使用和我们常规使用的事件总线没啥大的区别,其源码位于:/diagram-js/lib/core/EventBus.js (bpmn-js使用diagram-js实现流程图的web端绘制呈现工具)。 EventBus使用…

我的NPI项目之Android USB 系列(一) - USB的发展历史

设计目的 USB was designed to standardize the connection of peripherals to personal computers, both to exchange data and to supply electric power. 一个是为了标准化电脑连接外设的方法。 能够支持电脑和外设的数据交互和(对外)供电。 目前已…

fgets的使用方法详解

fgets的使用 文章目录 fgets的使用前言(吹水,不看也罢)fgets 的基本语法使用示例fgets() 对输入的处理的特点gets() 与 fgets() 的主要区别 总结 前言(吹水,不看也罢) 鼠鼠今天在B站上大学的时候&#xff…

洛谷_P1116 车厢重组_python写法

这道题看起来很高级其实就是冒泡排序执行的次数。 那对于python而言的话&#xff0c;这道题最大的难点在于如何实现数据输入既可以是以空格隔开的数据又可以是换行隔开的数据&#xff0c;那代码里面有了十分详细的解释。 n int(input()) l [] while len(l) < n: # 如果没…

Mysql——update更新数据的方式

注&#xff1a;文章参考&#xff1a; MySQL 更新数据 不同条件(批量)更新不同值_update批量更新同一列不同值-CSDN博客文章浏览阅读2w次&#xff0c;点赞20次&#xff0c;收藏70次。一般在更新时会遇到以下场景&#xff1a;1.全部更新&#xff1b;2.根据条件更新字段中的某部分…

【C语言】Linux 内核listen系统调用代码

一、Linux 4.19内核listen系统调用代码注释 /** 开始对一个 socket 进行监听。这个函数做一些准备工作以便 socket 可以开始监听&#xff0c;* 如果操作成功&#xff0c;则将 socket 标记为准备好监听的状态。*/int __sys_listen(int fd, int backlog) {struct socket *sock…

实现MainActivity转到其他界面的功能实现

#安卓 实现MainActivity转到其他界面的功能实现 实现步骤&#xff1a; 1.添加两个界面及&#xff1b;layout&#xff0c;分别为fullsreen和dialog 2.mainifest中注册两个antivity 3.向Mainactivity中代码。用intent简单的跳转 package com.example.myapplication;import an…

【HarmonyOS】鸿蒙开发之渲染控制——第2.3章

if/eles条件渲染 if的使用方法与javascript&#xff0c;java中使用的if/eles条件渲染使用基本一致。 案例: Entry Component struct IfElseDemo{State isShow:boolean false;build(){Column() {TitleBar({titleBarAttribute: {title: "ifElse使用案例",backShow:…

安卓自定义画板

包含功能&#xff1a; 包含 获取当前画板的截图、设置画笔样式、获取画笔样式、设置画笔宽度、获取画笔宽度、设置画笔颜色、获取画笔颜色、加载图片、获取图片位图对象、设置图片位图对象&#xff0c;并在画布上绘制图片、撤销上一步操作、重做上一步撤销的操作、清空所有绘图…

算法刷题day13

目录 引言一、蜗牛 引言 今天时间有点紧&#xff0c;只搞了一道题目&#xff0c;不过确实搞了三个小时&#xff0c;才搞完&#xff0c;主要是也有点晚了&#xff0c;也好累啊&#xff0c;不过也还是可以的&#xff0c;学了状态DP&#xff0c;把建图和spfa算法熟悉了一下&#…