1. 降维的方式

对于维度灾难、数据冗余,这些在数据处理中常见的场景,我们不得不进一步处理,得到更精简更有价值的特征信息,所用的的各种方法的统称就是降维

特征抽取:叫做特征映射更合适。因为它的思想即把高维空间的数据映射到低维空间。各种方法包括:

Principal Component Analysis (PCA)

Linear Discriminant Analysis (LDA)

特征选择:试图找到原始特征集合的子集,也就是只选取部分特征

什么是卡方检验Chi-Square test [kai]

用于检测数据集里面的最佳特征,测定哪些特征是输出类别最依赖的,

值越高,输出标签越依赖这个特征,并且这个特征有更高的重要性来决定输出值。

假设:有m个特征值并且有k个输出标签





outlook wind两个维度 决定是否play tennis

对于"Outlook"特征可以构建下表:



单元格(Sunny,Yes)的期望值计算:

对于"Wind"特征可以构建下表:



"Wind"是更重要的特征去决定输出值

2. PCA的一般步骤

常用的线性方法是主成分分析PCA。它的思想就是将数据从高维空间映射到低维空间,同时在低维空间里数据的方差被最大化。维度下降 但是最大的保持信息量



留下来少量的特征向量,所以或许这个过程有一些数据丢失。但是最重要的方差应该被保留在了这些特征向量中。

用2维降到1维来举例,

将到1维后 肯定选择方差更大的维度去记录特征 对于变化不大的特征 信息量就少

数据进行降维 本质上观测的对象是不会变化的 只是换一个不同的角度 用新的维度去描述被观察的对象

样本点投影到新的坐标轴



W是变换矩阵

x是所有的样本集

把所有的样本点投影到w1方向 使得投影后的点方差最大,

新坐标系

p个维度,设置成标准正交基:



方差的计算:

投影之后:

注意点:

PCA会对未投影前的原始数据进行标准归一化,均值归一化也叫中心化:好处是上式中的mean也会为0,推导如下;

也就是PCA之前 样本数据已经全部移到了(0,0)原点



协方差公式:



协方差矩阵用表示

拉格朗日函数:



对w求导

w是sigma的特征向量,lamda是对应的特征值



我们要去寻找的第一主成分,就是使得投影方差最大的坐标轴就是最大特征值对应的特征向量

最终想要保留下来几个维度,我们就选取前几个最大的特征值对应的特征向量,然后把原始的数据在这些轴上面进行投影即可

比如取前 个大的特征值对应的特征向量

通过以下映射将d维样本映射到k维

降维后的信息占比:

3. 思想2 最小化投影距离



但是这个和线性回归还是有区别 线性回归 y-y_hat 最小,这里是求距离

wi 与xk 都是d维的向量

xk在各个维度投影后加和得到 投影后的点位置:

目标转换成:







再使用同样的步骤就可以求得最终的投影空间,最佳投影方向就是最大特征值所对应的特征向量。

4. Kernelized PCA

有时我们的数据并不是可以投影到线性超平面的,这时候就不能直接进行PCA降维

先把数据从n维映射到线性可分的高维N>n,然后再从N维降维到一个低维度n',这里的维度之间满足n' < n < N

映射函数φ将n维映射到N维:

N维:



映射为:



机器学习-无监督机器学习-主成分分析PCA-23的更多相关文章

  1. 无监督LDA、PCA、k-means三种方法之间的的联系及推导

       \(LDA\)是一种比较常见的有监督分类方法,常用于降维和分类任务中:而\(PCA\)是一种无监督降维技术:\(k\)-means则是一种在聚类任务中应用非常广泛的数据预处理方法.    本文的 ...

  2. 深度学习——无监督,自动编码器——尽管自动编码器与 PCA 很相似,but自动编码器既能表征线性变换,也能表征非线性变换;而 PCA 只能执行线性变换

    自动编码器是一种有三层的神经网络:输入层.隐藏层(编码层)和解码层.该网络的目的是重构其输入,使其隐藏层学习到该输入的良好表征. 自动编码器神经网络是一种无监督机器学习算法,其应用了反向传播,可将目标 ...

  3. 学习笔记CB008:词义消歧、有监督、无监督、语义角色标注、信息检索、TF-IDF、隐含语义索引模型

    词义消歧,句子.篇章语义理解基础,必须解决.语言都有大量多种含义词汇.词义消歧,可通过机器学习方法解决.词义消歧有监督机器学习分类算法,判断词义所属分类.词义消歧无监督机器学习聚类算法,把词义聚成多类 ...

  4. 1(1).有监督 VS 无监督

    对比一 : 有标签 vs 无标签 有监督机器学习又被称为“有老师的学习”,所谓的老师就是标签.有监督的过程为先通过已知的训练样本(如已知输入和对应的输出)来训练,从而得到一个最优模型,再将这个模型应用 ...

  5. 主成分分析(PCA)与线性判别分析(LDA)

    主成分分析 线性.非监督.全局的降维算法 PCA最大方差理论 出发点:在信号处理领域,信号具有较大方差,噪声具有较小方差 目标:最大化投影方差,让数据在主投影方向上方差最大 PCA的求解方法: 对样本 ...

  6. 机器学习 —— 基础整理(四)特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA

    本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...

  7. darktrace 亮点是使用的无监督学习(贝叶斯网络、聚类、递归贝叶斯估计)发现未知威胁——使用无人监督 机器学习反而允许系统发现罕见的和以前看不见的威胁,这些威胁本身并不依赖 不完善的训练数据集。 学习正常数据,发现异常!

    先说说他们的产品:企业免疫系统(基于异常发现来识别威胁) 可以看到是面向企业内部安全的! 优点整个网络拓扑的三维可视化企业威胁级别的实时全局概述智能地聚类异常泛频谱观测 - 高阶网络拓扑;特定群集,子 ...

  8. 机器学习之主成分分析PCA原理笔记

    1.    相关背景 在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律.多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的 ...

  9. 机器学习降维方法概括, LASSO参数缩减、主成分分析PCA、小波分析、线性判别LDA、拉普拉斯映射、深度学习SparseAutoEncoder、矩阵奇异值分解SVD、LLE局部线性嵌入、Isomap等距映射

    机器学习降维方法概括   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u014772862/article/details/52335970 最近 ...

  10. 机器学习课程-第8周-降维(Dimensionality Reduction)—主成分分析(PCA)

    1. 动机一:数据压缩 第二种类型的 无监督学习问题,称为 降维.有几个不同的的原因使你可能想要做降维.一是数据压缩,数据压缩不仅允许我们压缩数据,因而使用较少的计算机内存或磁盘空间,但它也让我们加快 ...

随机推荐

  1. 【案例教程】LoadRunner订票系统WebTours部署

    题目: 使用LoadRunner自带的测试项目--航班订票管理系统WebTours,网站地址为:http://127.0.0.1:1080/WebTours/ (用户名为jojo,密码为bean),完 ...

  2. C++ Qt开发:Slider滑块条组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍Slider滑 ...

  3. hello Flask最简单的Flask项目

    # 1.导包 from flask import Flask # 2.实例化Flask对象.一般变量名都叫app,大家都是这样用,很多扩展插件的文档也是叫app,所以统一都叫app. # __name ...

  4. 开源、强大的Linux服务器集群管理工具,比宝塔好用!

    在这之前肯定很多人都接触过Linux管理面板:宝塔,宝塔的确非常方便而且好用,安装也简单,复制粘贴几句命令即可安装完成,且提供免费版.今天呢,民工哥向大家介绍另一个Linux的服务器管理面板--App ...

  5. #11独立开发周总结|核心OKR1000元/月已达标

    核心OKR:1000元/月达成情况 算上微信上收费了200多元,核心OKR已达标 12.25-12.29本周完成事项 产品方面 本周产品上主要是在进行重构的测试,顺利上线,线上问题也比较少 运营方面 ...

  6. 2024年,在风云际会的编程世界里,窥探Java的前世今生,都说它穷途末路,我认为是柳暗花明!

    2024年,在风云际会的编程世界里,窥探Java的前世今生,都说它穷途末路,我认为是柳暗花明! 文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我鸟哥,嘿嘿!俺滴座右铭是不 ...

  7. vue3 + element-plus 的 upload + axios + django 文件上传并保存

    之前在网上搜了好多教程,一直没有找到合适自己的,要么只有前端部分没有后端,要么就是写的不是很明白.所以还得靠自己摸索出来后,来此记录一下整个过程. 其实就是不要用默认的 action,要手动实现上传方 ...

  8. 2023-09-07:用go语言编写。塔子哥最近在处理一些字符串相关的任务 他喜欢 R 字符,因为在某些任务中,这个字符通常表示“正确”的结果 另一方面,他不喜欢 B 字符,因为在某些任务中,这个字符

    2023-09-07:用go语言编写.塔子哥最近在处理一些字符串相关的任务 他喜欢 R 字符,因为在某些任务中,这个字符通常表示"正确"的结果 另一方面,他不喜欢 B 字符,因为在 ...

  9. Flutter PageView(轮动图)

    Flutter中的轮动图以及抖音上下滑页切换视频功能等等,这些都可以通过 PageView 轻松实现 PageView常见属性: PageView 的使用 class MyPage extends S ...

  10. 教你如何用Keras搭建分类神经网络

    摘要:本文主要通过Keras实现了一个分类学习的案例,并详细介绍了MNIST手写体识别数据集. 本文分享自华为云社区<[Python人工智能] 十七.Keras搭建分类神经网络及MNIST数字图 ...