python机器学习09:特征提取

本文介绍了PCA数据白化在特征提取中的作用,以及非负矩阵分解(NMF)作为另一种特征提取方法。通过LFW人脸识别数据集的实验,展示了PCA白化如何提高神经网络的识别准确率,同时也探讨了NMF的特点和在降低特征数量时的性能表现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过上面两个小节的学习,我们可以总结出一个idea,那就是有时候,我们通过对数据集原来的特征进行转换,生成新的“特征”或者成分,会比直接使用原始的特征效果好。现在我们再引入一个新的名词,称为“数据表达”。在数据集极为复杂的情况下,比如图像识别,数据表达就显得十分重要。因为图像是由成千上万个像素组成,每个像素上又有不同的RGB色彩值,所以我们要用到一个新的数据处理方法,称为“特征提取”。

1.PCA的数据白化功能用于特征提取

数据白化的定义:

什么是数据白化呢?拿我们这个例子来说,虽然每个人的脸部特征有很大差异,但如果你从相素级别观察,差距其实就没有那么大了。而且相邻的像素之间有很大相关性,这样一来,样本特征的输入就是冗余的了,白化的目的就是降低冗余性。所以白化的过程会让样本特征之间的相关性降低,且所有体征具有相同的方差。
接下来使用LFW人脸识别数据集来实验数据白化用于特征提取的功能:
1.数据集:LFW人脸识别数据集
LFW人脸识别数据集包含了若干张JPEG图片,是从网上搜集的一些名人的照片。而创建这个数据集的目的,是训练机器学习算法,看给出两个照片,算法能否判断出这两个人是否是同一个人。后来人们对机器学习又提出了更高的要求:给出一张不再数据集中的人脸照片,让机器判断这张照片是否属于该数据集中的某一个人,并且要交出他的名字。
2.了解数据集:

#导入数据集获取工具
from sklearn.datasets import fetch_lfw_people
#载入人脸数据集
faces = fetch_lfw_people(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曾牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值