上一章:机器学习09——聚类
下一章:机器学习11——特征选择与稀疏学习
机器学习实战项目:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备

文章目录

      • 一、k近邻学习(kNN)
        • (一)基本原理
      • 二、维数灾难与降维
        • (一)维数灾难的表现
        • (二)降维的可行性
      • 三、多维缩放(MDS)
        • (一)核心目标
        • (二)算法步骤
        • (三)扩展
      • 四、主成分分析(PCA)
      • 五、流形学习
        • (一)核心概念
        • (二)Isomap算法(典型流形学习方法)
        • (三)应用
      • 六、度量学习
        • (一)距离度量的扩展
        • (二)学习目标
      • 总结

一、k近邻学习(kNN)

k近邻学习是一种简单的监督学习方法,核心是基于距离度量找到测试样本的近邻,通过近邻的标签预测结果。

(一)基本原理
  • 核心步骤

    1. 确定训练样本和距离度量(如欧氏距离);
    2. 对测试样本,找到训练集中距离最近的k个样本;
    3. 分类任务用“投票法”(取k个样本中最多的类别),回归任务用“平均法”(取k个样本输出的平均值);也可基于距离加权,近邻权重更大。
  • 关键参数

    • k值:k=1时为最近邻分类器,k越大模型越简单(欠拟合风险增加),k越小越容易过拟合;
    • 距离度量:不同度量会导致“近邻”定义不同,直接影响分类结果。
  • 学习类型

    • “懒惰学习”:训练阶段仅存储样本,无训练开销,测试时才计算距离(如kNN);
    • “急切学习”:训练阶段即学习模型(如SVM、决策树)。
  • 性能分析
    最近邻分类器(k=1)的泛化错误率不超过贝叶斯最优分类器错误率的两倍,前提是训练样本“密采样”(任意测试样本附近都有训练样本)。

二、维数灾难与降维

高维空间中样本稀疏、距离计算困难的问题称为“维数灾难”,降维是主要解决途径,核心是将高维数据映射到低维子空间。

(一)维数灾难的表现
  • 高维空间中,满足“密采样”所需样本数呈指数增长(如1000个样本可满足1维密采样,20维则需106010^{60}1060个样本);
  • 距离计算可靠性下降,甚至内积计算都变得困难。
(二)降维的可行性

高维数据往往隐含低维结构(如三维空间中的曲面可嵌入二维),即“低维嵌入”,因此可通过数学变换提取有效低维特征。

三、多维缩放(MDS)

MDS通过保持样本间的距离,将高维数据映射到低维空间,核心是“距离不变性”。

(一)核心目标

给定高维空间的距离矩阵DDDdistijdist_{ij}distij为样本xix_ixixjx_jxj的距离),找到低维空间表示ziz_izi,使∥zi−zj∥=distij\|z_i - z_j\| = dist_{ij}zizj=distij

(二)算法步骤
  1. 计算内积矩阵BBB:通过距离公式推导bij=−12(distij2−disti.2−dist.j2+dist..2)b_{ij} = -\frac{1}{2}(dist_{ij}^2 - dist_{i.}^2 - dist_{.j}^2 + dist_{..}^2)bij=21(distij2disti.2dist.j2+dist..2),其中disti.2dist_{i.}^2disti.2为第i行距离的均值;
  2. 特征值分解:对BBB做特征值分解,取前d′d'd个最大特征值及对应特征向量;
  3. 低维映射:低维坐标为Z=Λ~1/2V~TZ = \tilde{\Lambda}^{1/2} \tilde{V}^TZ=Λ~1/2V~TΛ~\tilde{\Lambda}Λ~为前d′d'd个特征值构成的对角矩阵,V~\tilde{V}V~为对应特征向量)。
(三)扩展

实际应用中可放宽“严格距离不变”,仅需低维距离尽可能接近原始距离,以实现有效降维。

四、主成分分析(PCA)

PCA是最常用的线性降维方法,通过寻找数据的主成分(最大方差方向),保留主要信息。

(一)核心思想
  • 最近重构性:样本到低维超平面的距离最小(重构误差最小);
  • 最大可分性:样本在低维超平面上的投影方差最大,信息保留最多。
(二)算法步骤
  1. 中心化:对所有样本去均值(xi←xi−xˉx_i \leftarrow x_i - \bar{x}xixixˉxˉ\bar{x}xˉ为样本均值);
  2. 计算协方差矩阵XXTXX^TXXTXXX为中心化后的样本矩阵);
  3. 特征值分解:对协方差矩阵分解,取前d′d'd个最大特征值对应的特征向量构成投影矩阵WWW
  4. 映射:低维坐标为zi=WTxiz_i = W^T x_izi=WTxi
(三)低维维数d′d'd的选择
  • 交叉验证:在不同d′d'd下训练模型(如kNN),选择性能最优值;
  • 重构阈值:选取最小d′d'd使∑i=1d′λi∑i=1dλi≥t\frac{\sum_{i=1}^{d'}\lambda_i}{\sum_{i=1}^d \lambda_i} \geq ti=1dλii=1dλitttt为阈值,如0.95)。
(四)优势
  • 计算简单,可去噪(最小特征值常对应噪声,舍弃后提升鲁棒性);
  • 新样本可直接通过投影矩阵映射到低维空间。

五、流形学习

流形学习假设高维数据分布在低维流形上(局部与欧氏空间同胚),通过局部距离推广到全局,实现非线性降维。

(一)核心概念
  • 流形:局部与欧氏空间同胚的空间(如球面局部像平面);
  • 测地线距离:流形上两点的真实距离(高维空间直线距离可能不反映真实邻近关系)。
(二)Isomap算法(典型流形学习方法)
  1. 构建近邻图:对每个样本,用欧氏距离找k近邻,近邻间距离为欧氏距离,非近邻为无穷大;
  2. 计算测地线距离:通过Dijkstra或Floyd算法计算近邻图上的最短路径,作为样本间真实距离;
  3. MDS降维:将测地线距离作为MDS的输入,得到低维坐标。
(三)应用

适合可视化(降维至2D/3D),但计算复杂度高, scalability较差。

六、度量学习

度量学习直接学习合适的距离度量,替代欧氏距离,提升近邻学习等任务的性能。

(一)距离度量的扩展
  • 加权欧氏距离:为不同属性分配权重wiw_iwidist2=(xi−xj)TW(xi−xj)dist^2 = (x_i - x_j)^T W (x_i - x_j)dist2=(xixj)TW(xixj)WWW为对角矩阵,Wii=wiW_{ii}=w_iWii=wi);
  • 马氏距离:用半正定矩阵MMM建模属性相关性,dist2=(xi−xj)TM(xi−xj)dist^2 = (x_i - x_j)^T M (x_i - x_j)dist2=(xixj)TM(xixj)MMM为度量矩阵。
(二)学习目标

通过优化任务性能(如kNN分类准确率)学习MMM,若MMM为低秩矩阵,可提取投影矩阵PPP实现降维(z=PTxz = P^T xz=PTx)。

总结

降维与度量学习通过提取低维有效特征或优化距离度量,缓解维数灾难。kNN是简单的近邻学习方法,MDS和PCA是经典线性降维方法,流形学习适用于非线性数据,度量学习则直接优化距离以提升任务性能。实际应用中需根据数据特性选择方法(线性/非线性、可解释性要求等)。

上一章:机器学习09——聚类
下一章:机器学习11——特征选择与稀疏学习
机器学习实战项目:【从 0 到 1 落地】机器学习实操项目目录:覆盖入门到进阶,大学生就业 / 竞赛必备

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

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

相关文章

Js 图片加载完成 与 图片缓存加载的区别

这两个有什么区别// 图片加载完成后淡入$img.on(load, function () {$img.css(opacity, 1);});// 处理图片缓存情况if ($img[0].complete) {$img.css(opacity, 1);}要理解这两段代码的区别,需要先明确它们的核心作用场景和执行时机差异—— 本质是解决 “图片加载完…

国产化PDF处理控件Spire.PDF教程:如何在 Java 中通过模板生成 PDF

在企业级应用开发中,生成 PDF 文档是一项非常常见的需求。无论是发票、报告、合同,还是其他业务文档,开发人员通常都需要一种高效、稳定的方式来创建 PDF。与其逐行绘制 PDF 内容,不如直接利用 模板 ——常见的模板形式包括 HTML …

Spring Cloud Gateway WebFlux现cvss10分高危漏洞,可导致环境属性篡改

漏洞概述Spring官方披露了Spring Cloud Gateway Server WebFlux组件中存在一个高危漏洞(编号CVE-2025-41243),该漏洞在特定配置下允许攻击者篡改Spring环境属性。该漏洞已获得CVSS 10.0的最高严重性评级。根据安全公告,该漏洞被描…

嵌入式 SQLite 数据库开发笔记

嵌入式 SQLite 数据库开发入门笔记在嵌入式开发中,数据存储与管理是不可或缺的环节。对于资源有限的系统,轻量级数据库 SQLite 是一个非常理想的选择。它无需独立服务进程,直接嵌入到应用中即可使用,既能满足数据持久化需求&#…

Spark面试题及详细答案100道(71-80)-- 配置与部署

《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs&…

Redis 面试

1、主从集群1、构建主从集群单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。主写从读,主可以读也可以写,从只能读利用docker-compose文件来构建主从集群:…

如何使用PostgreSQL数据库进行数据挖掘与预测分析

如何使用PostgreSQL数据库进行数据挖掘与预测分析 关键词:PostgreSQL,数据挖掘,预测分析,数据库,机器学习 摘要:本文旨在深入探讨如何利用PostgreSQL数据库进行数据挖掘与预测分析。首先介绍了使用PostgreSQL进行此类操作的背景信息,包括目的、预期读者、文档结构等。接…

ZooKeeper vs Redis:分布式锁的实现与选型指南

一、Redis 分布式锁:追求极致的性能 Redis 分布式锁基于内存操作,其核心思想是在内存中设置一个唯一的键值对来表示锁的持有。 1. 基础实现(SETNX Lua) 最简单的实现是使用 SETNX(SET if Not eXists)命令&…

vue基于Springboot框架的考研咨询平台系统实现

目录前言-本系统介绍已开发项目效果实现截图开发技术详细介绍核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码获取详细视频演示或者查看其他版本:文章底部获取博主联系方式&…

苹果用户速更新!macOS存严重漏洞,用户隐私数据面临泄露风险

漏洞概况近日,macOS系统发现一个CVSS评分高达 9.8 的高危漏洞,该漏洞可能允许应用程序绕过系统保护机制,非法访问受保护的用户数据。该漏洞编号为 CVE-2025-24204,目前已有概念验证(PoC)代码公开。漏洞影响…

海盗王64位dx9客户端修改篇之五

在海盗王3.0客户都升级64位dx9版本的过程中,因为特效的问题,被卡壳了很久。 开始是精灵草的粒子效果、白银城的烟囱烟雾效果、篝火的效果、阳光透射效果、海浪效果等,修了很长的时间,才找到窍门弄好。 然后是精灵效果、角色阴影。…

Linux学习——管理网络安全(二十一)

一、管理服务器防火墙(firewalld)RHEL 默认使用 firewalld 作为防火墙管理工具,它通过 “区域(zone)” 和 “服务(service)” 的概念简化规则配置,支持动态更新规则而无需重启服务。…

leetcode-python-1941检查是否所有字符出现次数相同

题目: 给你一个字符串 s ,如果 s 是一个 好 字符串,请你返回 true ,否则请返回 false 。 如果 s 中出现过的 所有 字符的出现次数 相同 ,那么我们称字符串 s 是 好 字符串。 示例 1: 输入:s “…

Snort的介绍

当然可以。以下是对 Snort 的全面介绍,涵盖其定义、核心功能、三种运行模式、工作原理、规则系统以及应用场景等内容。 Snort 网络入侵检测系统(NIDS)详解 一、Snort 简介 Snort 是一款开源的、轻量级但功能强大的 网络入侵检测与防御系统&…

滴滴二面准备(一)

结合你的简历内容和技术面试问题,以下是一个结构化的回答建议,突出你的技术深度和项目经验:2. 项目与实习经历 得物低代码落地页编辑器(核心项目) 背景:解决软广落地页开发周期长、迭代慢问题。技术方案&am…

socket通信在Windows和Linux上的区别

前言 笔者在将socket通信的自定义类从Linux移植到Windows时遇到一些问题&#xff0c;整理下来希望帮助到需要的人&#xff0c;同时也加深自己的理解。 差异 头文件 #ifdef _WIN32 #include <ws2tcpip.h> #define inet_pton InetPton #define SHUT_RDWR SD_BOTH #define M…

一款将PDF转化为机器可读格式的工具介绍

ps:以下内容来自MinerU项目 MinerU 项目简介 MinerU是一款将PDF转化为机器可读格式的工具&#xff08;如markdown、json&#xff09;&#xff0c;可以很方便地抽取为任意格式。 MinerU诞生于书生-浦语的预训练过程中&#xff0c;我们将会集中精力解决科技文献中的符号转化问…

代码随想录算法训练营第三十九天|62.不同路径 63.不同路径ll

62.不同路径&#xff1a; 文档讲解&#xff1a;代码随想录|62.不同路径 视频讲解&#xff1a;https://www.bilibili.com/video/BV1ve4y1x7Eu 状态&#xff1a;已做出 一、题目要求&#xff1a; 一个二维数组里&#xff0c;将(0&#xff0c;0)位置下标作为起点&#xff0c;计算…

openEuler2403安装部署Prometheus和Grafana

文章目录openEuler2403安装部署Prometheus和Grafana一、前言1.简介2.环境二、正文1.环境准备1&#xff09;JDK 安装部署&#xff08;可选&#xff09;2&#xff09;关闭防火墙2.安装 Prometheus1&#xff09;下载和安装2&#xff09;启动3&#xff09;systemd服务管理3.安装 Gr…

乐吾乐大屏可视化组态软件【SQL数据源】

乐吾乐大屏可视化组态软件&#xff08;大屏可视化设计器 - 乐吾乐Le5le&#xff09;支持直接对接SQL数据源功能&#xff0c;目前仅对企业源码客户开放。 配置SQL数据源 管理员进入可视化管理中心&#xff0c;点击SQL数据源&#xff0c;配置添加SQL数据源。 创建SQL数据源连接 …