当前位置: 首页 > news >正文

机器学习的分类与经典算法

机器学习算法按照学习方式分类,可以分为有监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)、半监督学习(Semi-supervised Learning)、强化学习(Reinforcement Learning)。
按照学习策略分类,可以分为机械学习、示教学习、类比学习、基于解释的学习、归纳学习。
按照学习任务分类,可以分为分类、回归、聚类。
按照应用领域分类,可以分为自然语言处理、计算机视觉、机器人、自动程序设计、智能搜索、数据挖掘和专家系统。

有监督学习

监督学习的定义

监督学习是指在给定的训练集中“学习”出一个函数(模型参数),当新的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求包括输入和输出,即特征值和目标值(标签),训练集中数据的目标值(标签)是由人工事先进行标注的。
监督学习流程图如下图所示,其中包括准备数据、数据预处理、特征提取和特征选择、训练模型和评价模型。
在这里插入图片描述

图1:监督学习流程图

Step1:准备数据。
监督学习首先要准备数据,没有现成的数据就需要采集数据或者爬取数据,或者从网站上下载数据。可以将准备好的数据集分为训练集、验证集和测试集。训练集是用来训练模型的数据集,验证集是确保模型没有过拟合的数据集,测试集是用来评估模型效果的数据集。

Step2:数据预处理。
数据预处理主要包括重复数据检测、数据标准化、数据编码、缺失值处理、异常值处理等。

Step3:特征提取和特征选择。
特征提取是结合任务自身特点,通过结合和转换原始特征集,构造出新的特征。特征选择是从大规模的特征空间中提取与任务相关的特征。特征提取和特征选择都是对原始数据进行降维的方法,从而去除数据的无关特征和冗余特征。

Step4:训练模型。
模型就是函数,训练模型就是利用已有的数据,通过一些方法确定函数的参数。

Step5:评价模型。
对于同一问题会有不同的数学模型,通过模型指标的比较来选取最优模型;对同一数学模型,通过模型指标的比较来调整模型参数。模型评价的基本思路是采用交叉验证方法。

监督学习的任务

监督学习有两个主要任务:回归和分类。回归用于预测连续的、具体的数值;分类是对各种事物进行分类,用于离散预测。

监督学习具体算法

监督学习算法发展史如图2所示。
在这里插入图片描述

图2:监督学习算法发展史

其中典型的监督学习算法有朴素贝叶斯、决策树、支持向量机、逻辑回归、线性回归、k近邻等,常见的8种监督学习算法的特点如表1所示。

表1:监督学习常见算法
算法名称类型特点应用
朴素贝叶斯分类通过一个给定的元组属于一个特定的概率来进行分类文本分类、垃圾邮件分类、信用评估
决策树分类通过训练数据构建决策树,对未知数据进行分类科学决策、风险评估、金融分析
支持向量机分类通过最大化分类边界点与分类平面的距离来实现分类模式识别、文本分类
逻辑回归分类处理因变量为分类变量的回归问题,常见的有二分类或项分布问题,也有多分类问题数据挖掘、疾病自动诊断、经济预测
线性回归回归通过一个超平面拟合数据集流行病研究、金融分析、股市预测
k近邻分类+回归根据距离相近的邻居类别来判定自己所属类别图像分类、模式识别
AdaBoost分类+回归通过将一系列弱学习器组合起来,集成弱学习器的学习能力,得到一个强学习器人脸检测、森林火灾预测
神经网络分类+回归通过对人脑神经元网络进行抽象,建立模型,按照不同的连接方式组成不同的网络模式识别、语音识别、文本分类

无监督学习

无监督学习的定义

无监督学习是指在机器学习过程中,用来训练机器的数据是没有标签的,机器只能依靠自己不断探索,对知识进行归纳和总结,尝试发现数据中的内在规律和特征,从而对训练数据打标签。

无监督学习的任务

无监督学习的训练数据是无标签的,非监督学习的目标是对观察值进行分类或者区分。
常见的无监督学习算法主要有三种:聚类、降维和关联。聚类算法是无监督学习中最常用的算法,它将观察值聚成一个一个的组,每个组都含有一个或几个特征。聚类的目的是将相似的东西聚在一起,而并不关心这类东西具体是什么。降维指减少一个数据集的变量数量,同时保证传达信息的准确性。关联指的是发现事物共现的概率。

无监督学习具体算法

无监督学习算法主要用于识别无标签数据的结构,常见算法如表2所示。

表2:无监督学习常见算法
算法名称类型特点应用
K-means基于划分方法的聚类将数据分为K组,随机选取K个对象作为初始的聚类中心,计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心客户分析与分类、图形分割
Birch基于层次的聚类通过扫描数据库,建立一个聚类特征树,对聚类特征树的叶节点进行聚类图片检索、网页聚类
Dbscan基于密度的聚类将密度大的区域划分为族,在具有噪声的空间数据库中发现任意形状的簇,并将簇定义为密度相连的点的最大集合社交网络聚类、电商用户聚类
Sting基于网格的聚类将空间区域划分为矩形单元,对于不同级别的分辨率,存在多个矩形单元,高层单元被划分为多个低层单元,计算和存储每个网格单元属性的统计信息语音识别、字符识别
主成分分析(PCA)线性降维通过正交变换将一组可能存在相关性的变量数据转换为组线性不相关的变量,转换后的变量被称为主成分数据挖掘、图像处理
线性判别分析(LDA)线性降维将高维空间中的数据投影到低维空间中,投影后各个类别的类内方差小,而类间均值差别大人脸识别、舰艇识别
局部线性嵌入(LLE)非线性降维在保持原始数据性质不变的情况下,将高维空间的信号映射到低维空间,从而进行特征值的二次提取图像识别、高维数据可视化
拉普拉斯映射(LE)非线性降维从局部近似的角度构建数据之间的关系,对要降维的数据构建图,图中的每个节点和距离它最近的K个节点建立边关系故障检测

半监督学习

半监督学习的定义

机器学习中的监督学习通过对大量有标签的样本进行学习,建立模型预测未知样本。然而,现实世界中有大量的无标签样本和少量的有标签样本。如果只用少量的有标签样本训练机器,学习系统往往很难具备强泛化能力,同时大量的无标签样本得不到利用,也会对数据资源造成极大的浪费。
如何在少量的有标签样本下,利用大量的无标签样本改善机器学习性能,成为机器学习研究者关注的问题之一。
目前,利用无标签样本的主流技术有(纯)半监督学习、直推学习和主动学习,这三种学习方式的共同点是利用大量无标签样本来辅助少量有标签样本的学习,如图3所示。

图3所示三种机器学习方式的相同点是训练数据集中都包含少量的有标签数据和大量的无标签数据,利用这些数据对模型进行训练。不同点在于主动学习将抽取部分无标签数据,交由专家进行人工标注,将标注后的数据放入有标签数据集中,一起对模型进行训练。而(纯)半监督学习和直推学习没有专家对训练数据集中的无标签数据进行标注的过程。

(纯)半监督学习和直推学习的不同之处在于训练完的模型预测的对象不同,(纯)半监督学习是预测待测数据,而直推学习是预测训练数据集中的无标签数据。

在这里插入图片描述
在这里插入图片描述

图3:(纯)半监督学习、直推学习和主动学习

半监督学习的基本假设

半监督学习的成立依赖于模型的假设,当模型假设正确时,无标签样本能够帮助改进学习性能。
半监督学习中两个常用的假设是聚类假设和流形假设:
聚类假设是指处在相同聚类中的样本有较大可能具有相同的标签。在这一假设下,大量无标签样本的作用就是帮助探明样本空间中数据分布的稠密和稀疏区域,从而指导算法对利用有标签样本学习到的决策边界进行调整,使其尽量通过数据分布的稀疏区域。
流形假设是指在一个很小的局部区域内的样本具有相似的性质,其标签也相似。在这一假设下,大量无标签样本的作用就是让数据分布变得更加稠密,从而更准确地刻画局部区域的特性,使决策函数更好地进行数据拟合。

半监督学习具体算法

从不同的学习场景看,半监督学习算法可分为 4 大类:半监督分类、半监督回归、半监督聚类和半监督降维,如图4所示。

半监督分类算法的基本思想是在无标签样本的帮助下训练有标签样本,获得比单独使用有标签样本更好的分类器,弥补有标签样本不足的缺陷。

半监督回归算法的基本思想是在无输出的输入的帮助下训练有输出的输入,获得比只使用有输出的输入训练得到的回归器性能更好的回归器。

半监督聚类算法的基本思想是在有标签的样本信息的帮助下,获得比只使用无标签的样本更好的簇,提高聚类的精度。

半监督降维算法的基本思想是在有标签的样本信息的帮助下,找到高维输入数据的低维结构,同时保持原始高维数据和成对约束的结构不变。
在这里插入图片描述

图4:半监督学习算法分类

相关文章:

机器学习的分类与经典算法

机器学习算法按照学习方式分类,可以分为有监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)、半监督学习(Semi-supervised Learning)、强化学习(Reinforcement Le…...

2.3物理层下面的传输媒体

目录 2.3物理层下面的传输媒体2.3.1导引型传输媒体1.双绞线2.同轴电缆3.光纤 2.3.2非导引型传输媒体无线电微波通信 2.3物理层下面的传输媒体 传输媒体是数据传输系统中在发送器和接收器之间的物理通路 两大类: 导引型传输媒体:电磁波被导引沿着固体媒体…...

笙默考试管理系统-MyExamTest----codemirror(57)

笙默考试管理系统-MyExamTest----codemirror(57) 目录 一、 笙默考试管理系统-MyExamTest----codemirror 二、 笙默考试管理系统-MyExamTest----codemirror 三、 笙默考试管理系统-MyExamTest----codemirror 四、 笙默考试管理系统-MyExamTest---…...

Qt高质量的开源项目合集

文章目录 1.Qt官网下载/文档2.第三方开源 1.Qt官网下载/文档 Qt Downloads Qt 清华大学开源软件镜像站 Qt 官方博客 2.第三方开源 记录了平常项目开发中用到的第三方库,以及一些值得参考的项目! Qt AV 基于Qt和FFmpeg的跨平台高性能音视频播放框…...

HarmonyOS ARKUI深度解析:图像组件及权限配置实战指南

文章目录 深入学习RKUI中的图片组件及权限配置图片组件简介图片源的三种格式Image : 图片显示组件图片组件属性及样式控制图片权限配置文章总结问题总结深入学习RKUI中的图片组件及权限配置 在本文中,我们将深入学习ArkUI(HarmonyOS UI框架)中的图片组件及其相关属性,同时…...

萨姆·奥尔特曼的预言

Sam Altman(萨姆奥尔特曼)是 OpenAI 的首席执行官,这家初创公司开发了众所周知的 ChatGPT。2023年11月,他突然被董事会解雇,并短暂调往微软。在 OpenAI 的每个人都威胁要辞职后,他又回来了。 新的商业模式…...

iPhone 13 Pro 更换『移植电芯』和『超容电池』体验

文章目录 考虑换电池Ⅰ 方案一Ⅱ 方案二 总结危险 Note系列地址 简 述: 首发买的iPhone 13P &#xff08;2021.09&#xff09;&#xff0c;随性使用一年出头&#xff0c;容量就暴跌 85%&#xff0c;对比朋友一起买的同款&#xff0c;还是95%。这已经基本得一天两充 >_<&a…...

JavaScript 常用事件演示

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍在在JavaScript 常用事件演示以及部分理论知识 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主收将持续更新学习记录获&#xff0c;友友们有任何问题可以在评论区…...

gzip引入后node_modules中.cache compression-webpack-plugin占用内存过多

1.Gzip Gzip&#xff08;GNU zip&#xff09;是一种常见的文件压缩格式和压缩算法&#xff0c;通常用于在 Web 服务器上对静态资源文件进行压缩&#xff0c;以减小文件大小并加快文件传输速度。在前端开发中&#xff0c;经常会使用 Gzip 压缩来优化网站的性能。 Gzip 压缩通过…...

Vue:使用IDEA开发Vue的相关配置

一、IDEA无法识别.vue文件 1、IDEA 添加Vue插件 2、添加Vue配置 File | Settings | Editor | File Types 找到 HTML 文件 在下面点号 输入*.vue 二、IDEA无法创建.vue文件 1、问题 在开发过程中&#xff0c;发现创建文件的界面&#xff0c;没有vue模板 2、相关配置 Fi…...

黑马程序员SSM框架-SpringBoot

视频连接&#xff1a;SpringBoot-01-SpringBoot工程入门案例开发步骤_哔哩哔哩_bilibili SpringBoot简介 入门程序 也可以基于官网创建项目。 SpringBoot项目快速启动 下面的插件将项目运行所需的依赖jar包全部加入到了最终运行的jar包中&#xff0c;并将入口程序指定。 Spri…...

Javascript细节、经验锦集

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/135311084 出自【进步*于辰的博客】 纯文字阐述&#xff0c;内容比较干。并且&#xff0c;由于考…...

git的使用基础教程

最近项目在搞自动化测试&#xff0c;需要将各种测试脚本集成到自动化框架里边&#xff0c;这个就需要用到版本管理系统了,下面简单价绍一下git的使用。 首先从官网下载并安装git工具&#xff0c;下面以wins系统为例子说明 https://git-scm.com/downloads wins安装好后&#xff…...

Springboot整合Elasticsearch 7.X 复杂查询

这里使用Springboot 2.7.12版本&#xff0c;Elasticsearch为7.15.0。 导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency> yaml文件配置…...

第5课 使用openCV捕获摄像头并实现预览功能

这节课我们开始利用ffmpeg和opencv来实现一个rtmp推流端。推流端的最基本功能其实就两个:预览画面并将画面和声音合并后推送到rtmp服务器。 一、FFmpeg API 推流的一般过程 1.引入ffmpeg库&#xff1a;在代码中引入ffmpeg库&#xff0c;以便使用其提供的功能。 2.捕获摄像头…...

Python3操作Json文件碰到的几个问题

文章目录 小结问题及解决byte数组与str字符串之间不兼容没有Index属性JSON.DUMP(S) & JSON.LOAD(S) 参考 小结 使用Python3操作Json文件碰到的几个问题&#xff0c;进行了解决。 问题及解决 byte数组与str字符串之间不兼容 以下的几个问题都是由于字节数组和字符串之间…...

Java中的自定义异常处理:业务异常类的创建与使用

文章内容 引言 在Java编程中&#xff0c;异常处理是一项重要的技术&#xff0c;它允许程序在遇到错误或特殊情况时能够优雅地处理&#xff0c;而不是直接崩溃。Java提供了丰富的内置异常类&#xff0c;但在实际业务开发中&#xff0c;我们往往需要根据具体的业务需求定义自己的…...

微信小程序有几个文件

微信小程序通常由多个文件组成&#xff0c;主要包括以下几种类型的文件&#xff1a; JSON 配置文件&#xff1a; app.json: 整个小程序的全局配置&#xff0c;包括页面路径、窗口样式、网络超时时间等。 page.json: 单个页面的配置&#xff0c;用于指定该页面的窗口样式、导航…...

计算机网络:知识回顾

0 本节主要内容 问题描述 解决思路 1 问题描述 通过一个应用场景来回顾计算机网络涉及到的协议&#xff08;所有层&#xff09;。如下图所示场景&#xff1a; 学生Bob将笔记本电脑用一根以太网电缆连接到学校的以太网交换机&#xff1b;交换机又与学校的路由器相连&#xf…...

【Python百宝箱】音韵探奇:探索Python中的音频与信号魔法

数字音符&#xff1a;畅游Python音频与信号处理的科技奇境 前言 在数字时代&#xff0c;音频与信号处理不仅仅是专业领域的关键&#xff0c;也成为了科技创新和艺术创作的核心。本文将带领您深入探索Python中多个强大的音频处理库和信号处理工具&#xff0c;从Librosa到Tenso…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...