监督学习和非监督学习, 半监督学习和增强学习

监督学习

给机器的训练数据拥有“标记”或者“答案”, 也就是又有x、又有y
监督的意思是说我们针对给机器的数据进行了正确答案的划分, 这个正确的答案的本身就被称为监督的信息
比如:
在这里插入图片描述

在这里插入图片描述

生活中很多学习的过程都是监督学习的过程, 比如:

  • 图像已经拥有了标定信息
  • 银行已经积累了一定的客户信息和他们信用卡的信用情况
  • 医院已经积累了一定的病人信息和他们最终确诊是否患病的情况
  • 市场积累了房屋的基本信息和最终成交的金额

我们这个专栏中学习的大部分算法, 都属于监督学习算法, 之所以这样是因为我们主要把精力放在分类和回归这两大类任务, 而监督学习的算法主要处理这两类任务的, 而非监督学习算法的核心是辅助监督学习的进行

非监督学习

给机器的训练数据没有“标记”或者“答案”
在这里插入图片描述

对没有“标记”的数据进行分类-聚类分析
在这里插入图片描述

在生活中的很多场景都可以使用聚类分析的, 比如我们每一位顾客去访问电商网站, 在这个电商网站上留下的各种购买信息留下不同的数据, 初始时候电商网站对我们是同等对待的, 没有这些标记的, 而随着浏览信息的增多, 电商网站开始对这些用户群体进行分类。

非监督学习的意义

非监督学习可以完成的另外一个重要的工作就是对数据进行降维处理, 对数据进行降维处理主要包含两部分内容, 第一部分就是特征提取

特征提取是一项相对简单的任务。当我们处理一个数据集时,数据通常包含各种各样的特征。有时候,我们可以根据自己的经验或深入的分析来判断某些特征对我们最终的预测或计算结果是否有贡献。举个简单的例子,如果我们需要预测明天的天气,我们可能会考虑诸如温度、湿度、风速等特征,但不考虑今天的日期等无关紧要的特征, 所以我们就把这些特征扔掉, 这就叫特征提取。特征提取的目标是从数据中选择和提取出与问题或任务相关的特征,以便进行进一步的分析或建模。

  • 特征提取:比如信用卡的信用评级和人的胖瘦无关?
  • 特征压缩:PCA

特征压缩是一项重要的工作,它的目标是在尽量减少信息损失的情况下,将高维特征向量压缩成低维特征向量。这可以大幅提高机器学习算法的效率,尤其在处理高维数据时非常有用。

一个简单的例子是在二维特征平面上,当数据点分布呈直线状时,可以通过将这些点映射到一条倾斜的直线上,从而将二维数据压缩成一维数据,而几乎不损失信息。这种思想可以应用于更高维度的数据。

对于像手写数字识别这样的任务,原始数据可能是28x28像素的图像,拥有784个特征。但通过特征压缩,可以用更少的特征来表达同样的信息,从而提高算法的效率。主成分分析(PCA)是特征压缩的一种主要工具,它可以帮助找到最能代表数据分布的主要特征。

为什么要降维?

降维的意义:方便可视化

在这里插入图片描述

降维在数据分析和可视化中的重要性无法忽视。降维的一个主要目的是为了方便数据的可视化,因为对于人类来说,理解高维度空间的信息非常困难甚至不可能。

当我们将高维数据降维到三维或二维时,虽然会丢失一些信息,但这是出于可视化的需要。通过将数据映射到较低维度的空间,我们可以更容易地创建散点图、3D图表或二维图表来展示数据的分布和关系。这使得我们能够更直观地理解数据的结构、模式和异常情况。

降维可视化对于探索性数据分析(EDA)、数据挖掘和机器学习模型的解释性都非常有帮助。例如,主成分分析(PCA)可以将高维数据降维到低维,并且通常用于数据可视化和特征选择。其他降维技术如 t-SNE(t-distributed stochastic neighbor embedding)也用于可视化高维数据。

尽管在降维过程中可能会损失一些信息,但这种损失通常可以接受,因为它带来了更好的可视化和理解能力,有助于更好地解释数据和模型的行为。因此,降维是数据分析中非常有用的工具之一。

非监督学习除了可以完成降维的任务以外还可以完成异常检测

在这里插入图片描述

非监督学习在数据分析中的应用还包括异常检测,这是一项非常重要的任务。异常检测的目标是识别在数据中具有明显异常或异常特性的数据点。这些异常点可能是数据集中的噪声、错误、或者是代表罕见事件的数据。

在上面的例子中,二维特征空间中的两个红点被认为是异常点,因为它们与蓝点相比,具有明显不同的特性或分布。异常点通常不能很好地表示数据集的一般特征,那么对于这种特殊的点,让我们的算法发现这种一般性的规律
很有可能是没有帮助的,因此在某些情况下,将它们从数据中剔除是有益的。

在高维数据集中,异常点的识别更加复杂,因为人类难以直观地观察到高维空间中的数据分布。因此,非监督学习算法在这方面发挥了重要作用。一些常用于异常检测的非监督学习技术包括:

  1. 基于聚类的方法:将数据点分成群集,异常点通常不属于任何群集或是单独的群集。

  2. 基于密度的方法:检测稀疏区域中的异常点,这些区域可能表示异常情况。

  3. 基于统计的方法:使用统计模型来估计数据的分布,并识别与该分布明显不符的数据点。

  4. 降维方法:将数据降维后,异常点可能更容易被观察到,例如,通过PCA等降维技术。

异常检测在许多领域都有应用,包括金融领域的欺诈检测、工业制造中的设备故障检测以及网络安全中的入侵检测等。通过非监督学习,可以帮助自动识别和处理这些异常情况,提高数据质量和安全性。

半监督学习

一部分数据有“标记”或者“答案”,另一部分数据没有

更常见:各种原因产生的标记缺失

通常都先使用无监督学习手段对数据做处理,之后使用监督学习手段做模型的训练和预测->相当与无监督学习和监督学习的结合

增强学习

根据周围环境的情况,采取行动,根据采取行动的结果,学习行动方式。
在这里插入图片描述

Agent代表机器学习的一些算法;reward代表使用奖赏的机制来进行反馈
Agent得到了反馈之后就会相应的改进自己的行为模式, 之后根据改进的算法做出相应的action, 然后继续反馈, Agent是在反馈循环中逐渐的来增强自己的智能

增强学习非常适用于机器人等这样的任务, AlphaGo就是增强学习的应用, AlphaGo在与人类对弈或与自己对弈的过程中,每一次下棋都是与环境进行互动的一次。在这个互动之后,AlphaGo需要考虑刚才的落子是否明智,对手的反应如何,以及下一步是否需要改进策略。这种学习过程是通过与环境的交互和反馈来实现的。

实际上,最先进的技术,无论是用于无人驾驶汽车还是用于具有强人工智能特性的机器人,都需要使用增强学习这个领域的知识。增强学习允许这些系统通过与环境的互动来学习,并根据不同的情况进行决策,以达到最优的目标。这种学习方式在许多领域都有广泛的应用,包括游戏、自动化控制、金融等。

增强学习是一种重要的机器学习方法,它涉及到智能体与环境的交互,通过试错来学习和优化策略,以最大化某种目标函数的值。它在实现复杂任务和决策中发挥了关键作用。

在增强学习领域, 监督学习和半监督学习是基础

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

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

相关文章

浏览器基本原理

1、浏览器内部组成 我们看到浏览器主要包括: 1个浏览器主进程: 主要负责界面显示,用户交互,子进程管理多个渲染进程:一般浏览器会为每个Tab标签窗口创建一个渲染进程,主要负责将html,css&#…

YOLOv5、YOLOv8改进:C3STR(Swin Transformer)

目录 1.介绍 2. YOLOv5、YOLOv8改进 2.1 common.py配置 2.2 yolo.py配置 2.3 yaml配置文件 1.介绍 视觉领域正在见证从 CNN 到 Transformers 的建模转变,纯 Transformer 架构在主要视频识别基准测试中达到了最高准确度。这些视频模型都建立在 Transformer 层之…

Grafana离线安装部署以及插件安装

Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。Grafana主要特性:灵活丰富的图形…

js逆向-某税务网站chinatax分析

目录 一、如图网站二、研究登陆页反爬参数1、datagram参数2、请求接口关系 三、研究详情页反爬参数1、urlyzm与ruuid与x-b3-spanid参数2、los28199参数3、lzkqow23819参数4、jmbw参数 四、最终结果 一、如图网站 二、研究登陆页反爬参数 1、datagram参数 很多接口使用到的dat…

1796_通过vmware打开VirtualBox虚拟机文件

全部学习汇总: GitHub - GreyZhang/toolbox: 常用的工具使用查询,非教程,仅作为自我参考! 首先讲vdi格式转换成vmdk格式,以我自己的环境下的信息,处理如下: VBoxManage clonehd "LinuxMin…

【PowerShell】系统安装PowerShell的Core版本,最新版本为7.1

当前以下操作系统支持PowerShell 7.1 版本的安装,非Windows 系统支持的版本和要求有一定的限制。 Windows 8.1/10 (including ARM64)Windows Server 2012 R2, 2016, 2019, and Semi-Annual Channel (SAC)Ubuntu 16.04/18.04/20.04 (including ARM64)Ubuntu 19.10 (via Snap pac…

ESP-IDF学习——1.环境安装与hello-world

ESP-IDF学习——1.环境安装与hello-world 0.前言一、环境搭建1.官方IDE工具2.vscode图形化配置 二、示例工程三、自定义工程四、点灯五、总结 0.前言 最近在学习freertos,但由于买的书还没到,所以先捣鼓捣鼓ESP-IDF,因为这个比Arduino更接近底…

200行C++代码写一个Qt俄罗斯方块小游戏

小小演示一下: 大体思路: 其实很早就想写一个俄罗斯方块了,但是一想到那么多方块还要变形,还要判断落地什么的就脑壳疼。直到现在才写出来。 俄罗斯方块这个小游戏的小难点其实就一个,就是方块的变形,看似…

如何将本地的项目上传到Git

一、GitHub or GitLab or Gitee创建一个新的仓库 二、仓库路径创建成功后,将本地项目上传到git 1. 进入本地项目所在文件夹位置,右击 2.出现git命令框 输入git init 在当前项目的目录中生成本地的git管理(会发现在当前目录下多了一个.git文件…

转转闲鱼交易猫链接源码 支持二维码收款

最新仿二手闲置链接源码 后台一键生成链接,后台管理教程:解压源码,修改数据库config/Congig 不会可以看源码里有教程 下载程序:https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3

30.链表练习题(1)(王道2023数据结构2.3.7节1-15题)

【前面使用的所有链表的定义在第29节】 试题1: 设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点。 首先来看非递归算法,暴力遍历: int Del(LinkList &L,ElemType x){ //此函数实现删除链表中为x的元素LNode *…

科技云报道:分布式存储红海中,看天翼云HBlock如何突围?

科技云报道原创。 过去十年,随着技术的颠覆性创新和新应用场景的大量涌现,企业IT架构出现了稳态和敏态的混合化趋势。 在持续产生海量数据的同时,这些新应用、新场景在基础设施层也普遍基于敏态的分布式架构构建,从而对存储技术…

安卓将图片分割或者拉伸或者旋转到指定尺寸并保存到本地

直接上代码吧:你们要用的话可以按照想法改 package com.demo.util;import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.os.Environment; import android.util.Log;import java.io.File; import java.io.…

代码随想录算法训练营 动态规划part11

一、买卖股票的最佳时机III 123. 买卖股票的最佳时机 III - 力扣(LeetCode) 请选一个喜欢的吧/(ㄒoㄒ)/~~123. 买卖股票的最佳时机 III - 力扣(LeetCode) class Solution {public int maxProfit(int[] prices) {if(pricesnul…

SpringBoot项目(百度AI整合)——如何在Springboot中使用语音文件识别 ffmpeg的安装和使用

前言 前言:在实际使用中,经常要参考官方的案例,但有时候因为工具的不一样,比如idea 和 eclipse,普通项目和spring项目等的差别;还有时候因为水平有限,难以在散布于官方的各个文档读懂&#xff…

stable diffusion model训练遇到的问题【No module named ‘triton‘】

一天早晨过来,发现昨天还能跑的diffusion代码,突然出现了【No module named ‘triton’】的问题,导致本就不富裕的显存和优化速度雪上加霜,因此好好探究了解决方案。 首先是原因,由于早晨过来发现【电脑重启】导致了【…

【owt】vs2022 + v141 : 查看WINDOWSSDKDIR

confmfc改为vs2022 + v141 构建 去掉这几个boost库,一样可以链接ok libboost_system-vc141-mt-sgd-x32-1_67.lib libboost_date_time-vc141-mt-sgd-x32-1_67.lib libboost_random-vc141-mt-sgd-x32-1_67.libSDK不在2022或者2017 里面? WINDOWSSDKDIR 在哪里? ##

LuatOS-SOC接口文档(air780E)--camera - codec - 多媒体-编解码

常量 常量 类型 解释 codec.MP3 number MP3格式 codec.WAV number WAV格式 codec.AMR number AMR-NB格式,一般意义上的AMR codec.AMR_WB number AMR-WB格式 codec.create(type, isDecoder) 创建编解码用的codec 参数 传入值类型 解释 int 多媒…

VSCode开发go手记

断点调试: 安装delve(windows): go get -u github.com/go-delve/delve/cmd/dlv 设置 launch.json 配置文件: ctrlshiftp 输入 Debug: Open launch.json 打开 launch.json 文件,如果第一次打开,会新建一…

为什么使用命令行

一提到Linux,许多人都会说到“自由”,但他们也许并不知道“自由”的真正涵义。“自由”是指一台没有任何秘密的计算机,并且你可以决定你的计算机能做什么。“自由”是一种权力,但是在过去的二三十年里,这种基本的权力正…