惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
H
Help Net Security
Last Week in AI
Last Week in AI
The Cloudflare Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
IT之家
IT之家
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
B
Blog
C
Check Point Blog
T
Tailwind CSS Blog
云风的 BLOG
云风的 BLOG
D
Docker
Recent Announcements
Recent Announcements
Vercel News
Vercel News
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog
The GitHub Blog
The GitHub Blog
Stack Overflow Blog
Stack Overflow Blog
雷峰网
雷峰网
人人都是产品经理
人人都是产品经理
月光博客
月光博客
F
Fortinet All Blogs
Blog — PlanetScale
Blog — PlanetScale
B
Blog RSS Feed
The Register - Security
The Register - Security
V
Visual Studio Blog
F
Full Disclosure
Hugging Face - Blog
Hugging Face - Blog
T
Threat Research - Cisco Blogs
Latest news
Latest news
PCI Perspectives
PCI Perspectives
Cisco Talos Blog
Cisco Talos Blog
博客园 - Franky
D
DataBreaches.Net
A
Arctic Wolf
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
G
Google Developers Blog
P
Palo Alto Networks Blog
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
T
Tenable Blog
L
LINUX DO - 热门话题
Spread Privacy
Spread Privacy

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
8000字详解“降维算法”,从理论实现到案例说明
果酿 · 2024-03-21 · via 人人都是产品经理

无监督学习中的两种算法,之前我们分享了聚类算法,本文来介绍下降维算法。从概念入手,了解其技术原理和特点后结合场景案例,加深我们对降维算法的应用和理解。

其实降维算法没那么复杂,是无监督学习的一种应用,简单来说就是:抓重点。

欢迎一起探索AI的世界。

无监督学习中比较常见的有两类算法,一个是聚类算法,还有一个是降维算法。

关于聚类算法,我在上一篇《8000字详解“聚类算法”,从理论实现到案例说明》中有重点说到,介绍了聚类算法中的K均值聚类算法和层次聚类算法。从基本概念说起,聊到算法实现的步骤,通过假设案例带入实际场景。

比如,K均值聚类算法可以将客户分为不同的群体,能帮助企业更好地了解客户,制定更有效的营销策略。

层次聚类算法中的AGNES算法可以将相似的文档归为一类,帮助企业更好地管理和分析文档。DIANA算法可以完成学情分析,帮助学校或教育机构更好地了解学生的学习情况,制定更有效的教学策略。

本篇,我们一起来学习了解降维算法,先从概念处入手,逐步了解其技术原理和特点,最后再结合场景案例,加深我们对降维算法的应用和理解。

全文8000字左右,预计阅读时间15分钟,若是碎片时间不够,建议先收藏后看,便于找回。

照例,开篇提供本篇文章的目录大纲,方便大家在阅读前总揽全局,对内容框架有预先了解。

一、降维算法的基本概念

降维算法是机器学习中用于减少数据集维度的一种技术,其目的是在尽可能保留数据中有用信息的前提下,降低数据的复杂性。

减少数据集维度是指通过数学变换或特征选择等方法,降低数据集中特征的数量或降低数据点在某个空间中的表示的维度。这一过程通常被称为降维(Dimensionality Reduction)。

减少数据集维度的主要目的是为了简化数据模型,提高数据处理的效率,并可能改善模型的性能。

在实际应用中,数据集往往包含大量的特征,这些特征中有的可能彼此相关,有的可能是噪声或冗余的。如果直接在这些特征上构建模型,可能会导致模型复杂度高,训练时间长,且容易过拟合。

正因为如此,我们需要降维算法出马,来减少数据集维度,解决各种实际问题。

1. 降维的三大优势

在说降维算法之前,我们先单独聊聊降维,降维有三大优势:去除冗余特征、降低计算复杂度、利于数据可视化。

优势一:【去除冗余特征】

在数据中,一些特征可能是其他特征的线性组合,或者与某些特征高度相关。冗余特征不仅会增加模型的复杂性,还可能导致过拟合,降低模型的泛化能力。通过降维,我们可以去除这些冗余特征,从而简化模型。

假设我们有一个关于房价的数据集,其中包含了房屋的大小(Feature A)、房屋的年龄(Feature B)、房屋的卧室数量(Feature C)和房屋的卫生间数量(Feature D)。

如果我们发现Feature A和Feature B之间存在高度相关性(例如,房屋年龄越大,通常房屋面积也越大),那么Feature A就可以被Feature B所线性表示。

在这种情况下,我们可以考虑去除Feature A,因为它提供了与Feature B相似的信息。

又例如,如果我们发现Feature C和Feature D之间也存在高度相关性,这可能意味着卧室数量和卫生间数量在某种程度上是相关的(例如,在一些地区,随着房屋面积的增加,卧室和卫生间数量也会增加)。

在这种情况下,我们可以考虑去除其中一个特征,因为它们可能包含冗余信息。

从例子中,我们通过去除一些冗余特征,就可以简化模型,降低模型的复杂性,并可能提高模型的性能。

不过在实际应用中,选择合适的特征去除方法需要根据数据的特点和业务需求来决定,切不可无脑照搬。

优势二:【降低计算复杂度】

降低计算复杂度是降维可以解决的另一大问题,尤其是在处理大规模数据集时。通过减少数据集的维度,可以显著减少模型所需的计算资源,从而加快训练和预测的速度。

假设我们有一个关于用户行为的数据集,其中包含了成千上万个特征,如用户的人口统计信息、浏览历史、购买记录等。

如果直接在这些特征上构建一个线性回归模型,模型可能会非常复杂,训练和预测的速度会很慢。

但是通过使用主成分分析(PCA)进行降维,我们可以将原始特征的数量减少到几百个最重要的特征,这些特征能够解释大部分的方差。

在这种情况下,降维后的模型将具有更少的参数,训练和预测的速度将显著提高。其中,主成分分析(PCA)是降维算法中比较常见的算法之一,我们后续会讲解到。

优势三:【利于数据可视化】

降维还可以帮助我们更好地理解和可视化数据,通过将高维数据投影到二维或三维空间,我们可以更容易地观察数据的结构和模式。

高维数据投影到二维或三维空间后,我们可以使用各种可视化工具来辅助分析,如散点图、柱状图、热力图等,来展示数据之间的关系和模式。

假设我们有一个关于社交网络用户的数据集,其中包含了用户的基本信息(如年龄、性别、地理位置等)以及他们的社交行为(如发帖频率、互动数量、内容类型等)。这个数据集可能是高维的,包含了成百上千个特征。

为了更好地理解这个社交网络的数据结构和用户群体的行为模式,我们可以使用降维技术来简化数据。

例如,我们可以使用主成分分析(PCA)将数据投影到二维空间,然后使用t-SNE进一步细化到低维空间。

t-SNE是一种基于概率的降维技术,它能够在低维空间中保持高维空间中数据点之间的相似性。t-SNE通常用于生成数据点之间的复杂关系图,从而更好地理解数据的结构。

通过以上的降维处理,我们可以生成一张二维的散点图,每个点代表一个用户,点的坐标由PCA或t-SNE算法确定。

在这个散点图中,我们可以观察到不同年龄、性别和地理位置的用户的社交行为模式。

例如,我们可以看到哪些类型的用户更活跃,哪些类型的用户更倾向于与特定类型的内容互动。

通过这样的数据可视化,我们可以直观地看到用户群体的分布和行为模式,它可以帮助我们识别目标用户群体,了解他们的行为习惯,并据此优化用户体验,提高用户参与度和满意度。

2. 降维的两大方法

既然降维有那么多好处,那么它又是如何在人工智能领域发挥其优势的呢?这源于降维的两大方法:特征选择和特征提取。

方法一:【特征选择】

特征选择是从原始特征集合中选择出一组对目标变量有较强解释能力的特征子集的过程。这一过程的目标是去除冗余特征和不相关的特征,以简化模型并提高模型的性能。特征选择不改变数据本身的维度,只是简化特征空间。

比如,基于相关性分析来实现特征选择,通过计算特征与目标变量之间的相关系数或相关性矩阵,可以找出与目标变量相关性较高的特征。

通常选择相关性较高的特征,去除相关性较低的特征。因为相关性较高的特征通常被认为对目标变量有较强的解释能力,而相关性较低的特征可能与目标变量关系不大或包含冗余信息。

就拿我们刚举例过的房价数据集来继续假设一下吧。

房价的数据集中包含了房屋的大小(Feature A)、房屋的年龄(Feature B)、房屋的卧室数量(Feature C)和房屋的卫生间数量(Feature D),我们的目标是预测房价。

通过相关性分析,我们计算了每个特征与房价之间的相关系数。假设我们发现Feature A(房屋的大小)与房价之间的相关系数为0.8,而Feature B(房屋的年龄)与房价之间的相关系数为0.5。

在这种情况下,我们可以认为Feature A与房价之间的关联程度更高,因此选择Feature A作为重要的特征。而Feature B与房价之间的关联程度较低,可能包含冗余信息或其他不重要的因素。

因此,我们可能会考虑去除Feature B,或者在模型中给予较低的权重。这便是降维中的特征选择方法在实际问题中可以运用的地方。

方法二:【特征提取】

特征提取是通过数学变换将高维数据映射到低维空间的过程,同时尽可能保留原始数据中的信息,这种方法会改变数据的维度。特征提取的目标是减少数据的复杂性,同时保持数据的主要结构和特征。

由理论代入实践,我们来继续假设一些案例。

假设我们有一个关于社交媒体平台用户生成内容的数据集,其中包含了用户的帖子、评论、点赞、分享等互动行为,以及用户的人口统计信息、地理位置、兴趣偏好等特征。

我们期望通过数据集分析用户行为模式,识别有影响力的内容创作者,以及发现热门话题。

为了简化这个高维数据集并识别出关键的用户行为和内容特征,我们可以使用主成分分析(PCA)进行特征提取。

通过PCA,我们可以将原始数据投影到二维空间,生成一张散点图。在这个散点图中,我们可以观察到不同用户或内容的互动模式,以及它们如何与特定的人口统计特征或兴趣偏好相关联。

又或者,在文本数据分析中,每条帖子或评论都可以被表示为一个高维的特征向量,包括词汇频率、情感分析得分、主题模型等。

通过使用PCA或t-SNE进行特征提取,我们可以将文本的特征向量降低到二维或三维,生成一张关系图。

在这个关系图中,我们可以观察到内容之间的相似性和差异性,从而更好地理解内容的主题分布和用户互动模式。

通过这样的特征提取,我们可以识别出对用户行为和内容趋势最重要的特征,如情感倾向、话题相关性、互动热度等,从而简化数据并保持数据的主要结构和特征。

这对于新媒体平台的内容策略制定、用户参与度提升和市场趋势分析非常重要,因为它可以帮助他们优化推荐算法,提升用户体验,并制定更有效的内容营销策略。

通过特征提取,通过数学变换将高维数据映射到低维空间,简化数据并保持数据的主要结构和特征,可以在很多业务场景中发挥算法的魅力。

二、常见的降维算法

如果说,降维是一个目标,那么降维算法就是达到目标的具体技术或方法。降维是通过减少数据集的维度来简化数据的过程,而降维算法则是通过数学变换或特征选择,将这过程得以实现。

在人工智能领域,我们常用的降维算法有主成分分析(PCA)、线性判别分析(LDA)、因子分析(Factor Analysis)、局部线性嵌入(LLE)、等距映射(Isomap)、t-SNE、自编码器(Autoencoder)等。

主成分分析(PCA)

原理:PCA通过正交变换将数据投影到新的坐标系上,使得新坐标系的前几个主成分能够解释大部分的方差。

应用:PCA常用于数据可视化、特征提取和噪声过滤。

线性判别分析(LDA)

原理:LDA旨在找到投影方向,使得不同类别的样本尽可能分开,而同类的样本尽可能聚集。

应用:LDA常用于特征选择和分类任务,特别是在需要考虑不同类别间差异的情况下。

因子分析(Factor Analysis)

原理:因子分析类似于PCA,但它试图找到数据的潜在因子结构,并允许因子之间存在相关性。

应用:因子分析常用于心理学、市场研究等领域,用于发现数据中的潜在维度。

局部线性嵌入(LLE)

原理:LLE是一种非线性降维方法,它试图保持数据在低维空间中的邻近性关系。

应用:LLE适用于发现非线性数据中的结构,常用于图像和文本数据的降维。

等距映射(Isomap)

原理:Isomap是一种基于流形的降维技术,它通过保持数据点之间的局部距离关系来降低数据的维度。

应用:Isomap适用于高维空间中的数据,特别是在数据点之间存在复杂非线性关系时。

t-SNE

原理:t-SNE是一种基于概率的降维技术,它试图在低维空间中保持高维空间中数据点之间的相似性。

应用:t-SNE常用于生成数据点之间的复杂关系图,从而更好地理解数据的结构,特别是在图像和文本数据中。

自编码器(Autoencoder)

原理:自编码器是一种神经网络,它试图通过编码器将数据编码到一个低维空间,然后通过解码器重建原始数据。

应用:自编码器可以用于无监督的降维,特别是在数据量较大时,也常用于特征学习和数据去噪

降维算法各有优缺点,适用于不同的应用场景。在实际应用中,选择合适的降维算法需要根据数据的特点和降维的目的来决定。

为了能更清晰透彻地了解降维算法,接下来我们就取最常见的主成分分析(PCA),围绕这一算法展开进一步地深入解读。

1. 主成分分析(PCA)是什么?

我们从降维的概念中已知降维可以减少数据集的维度,同时保留数据集中的重要信息。

主成分分析(PCA)作为降维技术之一 ,它通过线性变换将原始数据映射到一个新的坐标系中,在新的坐标系中,数据的方差被最大化。

这样做的目的是为了找到数据中最重要的特征或者主成分,简化数据的分析和可视化过程。

PCA可以去除数据中的冗余特征,减少数据的存储和处理成本,也可以用于图像识别、语音识别等模式识别任务。

2. PCA的工作原理和步骤

主成分分析(PCA)的实现步骤主要分5步完成,我们可以从其工作原理和步骤中,进一步了解PCA的特点。

1.数据标准化】

数据标准化是数据预处理的一个重要步骤,它涉及到将数据集中的每个特征转换为具有零均值和单位方差的分布。首要的就是对原始数据进行标准化处理,让每个特征的均值为0,标准差为1。

其目的是将原始数据转换为具有相同尺度的标准化数据,以消除不同特征之间的量纲差异,确保各个特征对主成分分析的影响权重相同,避免某些特征的方差过大对主成分分析结果产生影响。

数据标准化的计算过程大致分三步:均值移除、标准差计算、数据标准化。

数据标准化后,每个特征的均值为0,标准差为1,从而保证了数据的相对一致性,有利于主成分分析的准确性和稳定性。

【2.计算协方差矩阵】

PCA通过计算数据集的协方差矩阵来确定数据之间的相关性。协方差矩阵表示了数据中各个特征之间的相关性程度,可通过对角线元素和非对角线元素进行进一步分析,得出结论。

在直言协方差矩阵前,我们要重温一些数学基础知识,相信大家上学时,都接触过方差和协方差。

方差是描述随机变量分布的一种统计量,它衡量了随机变量的取值偏离其均值的程度。在数学上,方差表示了每个样本与均值之间的差异的平方的平均值。方差越大,意味着样本的取值越分散;方差越小,意味着样本的取值越集中。

方差的计算公式如下:

而协方差,是衡量两个随机变量(或特征)变异程度的一种方式,它描述了两个变量如何一起变化。协方差可以是正的、负的或零,正协方差表示两个变量正相关,负协方差表示它们负相关,零协方差表示它们不相关。

协方差计算中,对于两个随机变量X和Y,它们的协方差可以通过以下公式来表示:

再就是计算协方差矩阵,对于数据集中的所有特征,我们需要计算每对特征之间的协方差,这将形成一个协方差矩阵。这个矩阵的对角线元素是每个特征的方差,表示该特征的分散程度。非对角线元素表示了不同特征之间的协方差,表示了不同特征之间的相关性。

协方差矩阵在PCA中的应用是为了找到能够最大程度地保留数据变异性的主成分。通过分析协方差矩阵,我们可以确定哪些特征之间存在较强的相关性,并据此进行降维。

【3.计算特征值和特征向量】

对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。特征值表示了数据集中各个主成分的重要程度,而特征向量则表示了每个主成分的方向。

在特征值分解后,我们可以按照特征值的大小顺序来确定主成分的重要性,因为特征值越大,对应的主成分在数据中所解释的方差就越大。换句话说,特征值越大的主成分所包含的信息量越丰富,对数据集的整体变化越具有代表性。

特征向量指示了数据集在每个主成分方向上的变化趋势。换句话说,每个特征向量对应于一个特征值,它定义了一个主成分在数据空间中的方向。因此,特征向量是我们理解主成分在数据中如何分布和变化的关键。

特征值和特征向量的结果对于理解数据的内在结构、进行数据降维以及构建高效的机器学习模型至关重要。

它们可以帮助我们识别出最重要的数据特征,进行特征选择。或者通过保留最大的几个特征值对应的特征向量,实现数据的降维,简化模型。

它们还可以理解不同特征之间的关系,进行数据可视化和探索性数据分析。在某些情况下,特征值和特征向量还可以用于数据清洗,识别和去除噪声或异常值。

在Python中,可以使用NumPy库来计算矩阵的特征值和特征向量。以下是一个简单的示例代码:

在这个示例中,我们导入NumPy库,并创建了一个示例矩阵 A。然后,使用 np.linalg.eig() 函数来计算矩阵 A 的特征值和特征向量。这只是一个简单的示例,实际应用中,还需要根据实际情况做出灵活调整。

【4.选择主成分】

根据特征值的大小,选择前k个最大的特征值对应的特征向量作为新的主成分。这些主成分捕获了数据中最显著的变化方向,并且能够保留大部分数据的信息。

通常,选择的k值是降维后的维度,即最终保留的主成分个数。k 代表了降维后数据的新维度数。选择 k 个主成分意味着我们将原始数据从高维空间投影到由 k 个主成分定义的低维空间。

比如说,我们有一个包含1000个样本和50个特征的数据集。通过PCA分析,我们计算出了协方差矩阵的特征值和特征向量。我们发现前5个特征值远大于其他特征值,因此我们选择这5个特征值对应的特征向量作为主成分。这意味着我们将数据从50维降维到5维,同时保留了数据中的大部分信息。

【5.投影数据】

投影数据就是将原始数据投影到选定的主成分上,得到降维后的数据集。

这一步实现了数据的降维,也是主成分分析(PCA)中的最后一个步骤:将数据从原始的特征空间转换到新的特征空间。

我们先理解一下,什么是投影。在数学上,投影是一种将数据从一个空间转换到另一个空间的过程。在PCA中,我们将原始数据从原始特征空间(高维空间)投影到由主成分定义的新特征空间(低维空间)。

对于原始数据集中的每个样本,我们需要计算它在每个主成分上的投影。这个过程可以使用以下公式表示:

通过将每个样本在所有主成分上的投影相加,我们可以得到降维后的数据集。这个数学过程可以表示为:

完成计算后,接下来就是数据转换,通过上述投影过程,每个样本都被转换到了新的特征空间,这个空间由选定的主成分定义。在新的特征空间中,每个样本都由主成分的线性组合表示,从而实现了数据的降维。

通过投影,我们可以得到降维后的数据集,从而简化数据并保留数据中的关键信息。这一步可以让数据集更加简洁、易于理解,也适合用于后续的数据分析和建模任务。

通过以上五步,从数据标准化直到投影数据,我们详细讲解了主成分分析(PCA)的实现过程。PCA的应用非常广泛,包括但不限于数据可视化、特征提取、数据压缩、过滤噪声等。

知其然也知其所以然,知其原理后方可结合应用场景解决问题。接下来,我们不妨看看降维算法在实际场景中的案例应用。

三、场景案例-人脸识别

别小看降维算法,其貌不扬的一堆数学公式和逻辑关系可以解决很多业务问题。

就拿我们身边再熟悉不过的人脸识别场景为例,降维算法可以用于特征提取,帮助区分不同人的面部特征,提高识别的准确性。

众所周知,人脸识别已经运用在了各行各业,刷脸支付,门禁系统,银行转账,检票系统等等。

同时,科技也是把双刃剑,人工智能(AI)带来便利和高效,也引发了越来越多的问题,比如“AI换脸”问题。有新闻报道,泰勒·斯威夫特(Taylor Swift)便是受害者之一。由AI合成的霉霉“不雅照”在国外社交疯传,带来了相当恶劣的影响。

科技是中性的,我们作为AI的使用者,要致力于将AI运用在有助于社会发展,为人类谋福祉的领域中去,少动一些蝇营狗苟的歪心思。

降维算法在人脸识别的落地应用中,我们最熟悉的场景之一就是高铁检票了。我们在检票环节,需要你刷身份证进站的同时还需通过人脸识别。

高铁站的人脸识别检票系统,不仅需要承载大量的人脸数据,还需要保证高质量的准确性。旅游高峰期,高铁站的客流量当日便可冲破千万,而每一张脸在初入系统时都具有高维特征。

所以,人脸识别中的降维算法不仅需要处理和分析海量的图像数据,还需要在非常短的时间内提取出人脸的关键特征,在降维之后依旧保证准确度。

我们不妨就来拆解一下,高铁检票系统中的人脸识别,是如何通过降维算法,准确地识别旅客的身份,大大提高检票效率和检票体验的。

就在我们站在检票口的那一瞬间,高铁检票系统会使用高清摄像头捕捉旅客的面部图像。这些图像通常包括旅客的正面脸部,以便进行准确的识别。

为了提高识别的准确性和鲁棒性,需要对采集到的图像进行预处理。这包括灰度化、归一化、去噪和边缘增强等步骤,以改善图像质量并标准化数据。

图像数据预处理后,就可以通过降维算法进行特征提取。这里补充一下,在实际应用中,特征提取往往不会依赖单一算法实现,特别是像高铁检票这类大量又复杂且还需高准确度的系统,只不过我们本篇重点说的是降维算法,所以会以降维算法为重点来讲述。

如果待识别的面部数据复杂因素过多,就会影响识别系统的特征提取准确度,比如有时候你戴上眼镜或者戴着帽子时,系统就容易识别错误。

特性提取后,提取出的特征需要被编码成一个紧凑的向量,以便于后续的识别和匹配操作。

接下来就是系统识别决策环节,如果图像的特征编码与某个已注册旅客的特征编码足够相似,系统将认为该旅客是已注册的旅客,并允许其通过检票口。

此时,检票窗口会反馈识别成功,检票门闸会自动打开,你就可以顺利通行啦。

没想到吧,就在你进入检票口到通过检票口的短短几秒间,人脸识别系统就借助降维算法,完成了图像采集、预处理、特征提取、特征编码、编码比较、识别决策等一长串自动化流程。

不仅如此,人脸识别技术涉及到旅客的生物识别信息,因此安全性至关重要。高铁检票系统通常会采用加密技术和安全协议来保护旅客的数据,并确保系统的安全性。

四、最后总结

写在最后,我们来总结一下,本篇主要围绕降维算法展开介绍。

降维算法属于无监督学习中的方法。无监督学习不需要标签数据来进行训练,而是通过数据本身的特性来发现数据中的模式和结构。想了解无监督学习的朋友,可以看看这篇现在入门“AI无监督学习”还来得及(9000字干货)

降维算法就是无监督学习的一种应用,其核心目的是通过减少数据集的维度来简化数据,同时尽可能保留原始数据中的关键信息。

降维有三大优势和两大方法。三大优势指的是去除冗余特征、降低计算复杂度、利于数据可视化。两大方法则是特征选择和特征提取。

在常见的降维算法中,主成分分析(PCA)的应用非常广泛,本篇剖析了PCA的工作原理和实现步骤。在场景案例中,以人脸识别为例,介绍了降维算法在检票系统的人脸识别环节是如何发挥又快又好的价值的。

由此可见,未来已来,AI就在我们身边,算法也并没有我们以为的那么高不可攀,只要我们保持开放包容的心态,去学习,去接纳,就可以让AI帮助我们解决很多问题。

作者:果酿,公众号:果酿产品说

本文由 @果酿 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自 Unsplash,基于CC0协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。