从0开始机器学习--Day28--PCA算法使用建议及初识异常检测

之前说到数据降维的方法是寻找到一个所有样本到其投影误差的投影平面,那么升维其实就是式子里的矩阵移到另一边即可:

,注意这里没有用x表示是因为除非本身所有样本点的投影误差都很小,可以近似认为就在线上,因为这里的升维并不是完全求出原来的数据矩阵,只是将其在投影平面上的对应点近似认为是原来的样本点,还是存在一定误差的。

在实际应用的场景中,并不是说只有没有标签的数据才能应用PCA算法,假如原始数据集是10000维的,我们可以先提取原来的标签y,在对每个数据都降维之后,再把原来的标签加上,也就是说并不局限于一定要用于为无标签的数据进行分类运用,注意,在降维并将数据训练后,预测样本x需要在原来的PCA映射下转换成对应的降维数据z再进行预测,PCA只会运用于训练集,而不会运用在验证集和预测集上;还有就是一般来说二维或三维的数据比较容易可视化,所以我们会为了可视化数据将其降维到二维或三维。

有时候我们会看到在运用PCA算法后,和其他算法相比其过拟合程度降低了,但这并不意味着它就是用于降低过拟合的。我们可以回顾用于防止过拟合的方法:正则化,PCA在降维的过程中有舍弃一些信息,那么在降维后过拟合程度降低很正常,可是它并没有考虑到y值,只是纯粹地为了降低维度,在保证99%方差被保留的情况下进行的,甚至舍弃的信息是重要的也很正常;而正则化是加在有y的代价函数里的,其运行过程的逻辑有判断过哪个参数不重要,舍弃的参数信息对于模型的构建是不重要的。所以有时候可能算法运用的结果显示是好的,但其内在逻辑并没有考虑到,只是运气好,如果这是中间过程的步骤,很容易在优化后期发现需要重新推倒重来。

还有一点比较重要的是不要把应用PCA算法当成是必要的,就跟之前学的一样,解决一个学习问题时,我们最好能先构建一个比较粗糙的模型去尝试,然后再在他的基础上进行优化,要把PCA当成是优化方法的一种,而不是必备步骤。

异常检测(Anomaly detection)

顾名思义,就是对一个样本是否异常的判断。举一个飞机引擎的例子,假设我们构建了一个飞机引擎的模型,那么如果这个新的样本点落在离训练集还有测试集比较远的地方,这是否是一个异常样本,需要我们进一步补充特征来定义它,还是说它只是比较特殊。

也就是说,我们需要重新选定训练集、验证集,构建并判断函数,如果是就判断为异常样本,这里的

看具体情况而定。

一般需要我们应用异常检测算法的场景,都是工业生产判断产品是否需要重新加工,或者网站检测是否有用户被异常登录需要被验证身份这种。

视频参考:https://www.bilibili.com/video/BV1By4y1J7A5?spm_id_from=333.788.videopod.episodes&vd_source=867b8ecbd62561f6cb9b4a83a368f691&p=90

相关推荐
Memene摸鱼日报1 小时前
「Memene 摸鱼日报 2025.9.16」OpenAI 推出 GPT-5-Codex 编程模型,xAI 发布 Grok 4 Fast
人工智能·aigc
AI小云1 小时前
【机器学习与实战】回归分析与预测:线性回归-03-损失函数与梯度下降
机器学习
xiaohouzi1122331 小时前
OpenCV的cv2.VideoCapture如何加GStreamer后端
人工智能·opencv·计算机视觉
用户125205597081 小时前
解决Stable Diffusion WebUI训练嵌入式模型报错问题
人工智能
Fanxt_Ja1 小时前
【LeetCode】算法详解#15 ---环形链表II
数据结构·算法·leetcode·链表
Juchecar1 小时前
一文讲清 nn.LayerNorm 层归一化
人工智能
侃侃_天下1 小时前
最终的信号类
开发语言·c++·算法
martinzh1 小时前
RAG系统大脑调教指南:模型选择、提示设计与质量控保一本通
人工智能
小关会打代码1 小时前
计算机视觉案例分享之答题卡识别
人工智能·计算机视觉
Juchecar1 小时前
一文讲清 nn.Linear 线性变换
人工智能