HDU杭电--机器学习实验报告(八)

  • 实验目的

• 1、理解无监督学习中NMF降维算法原理;

• 2、掌握Sklearn实现基于NMF方法及应用;

• 3、对比PCA和NMF两种方法,并进行总结。

  • 实验内容与要求
  1. 非负矩阵分解

非负矩阵分解(Non-negative Matrix Factorization,NMF)是在矩阵中所有元素均为非负数约束条件之下的矩阵分解方法。基本思想是给定一个非负矩阵V,NMF能够找到一个非负矩阵和一个非负矩阵H,使得矩阵W和H的乘积近似等于矩阵V中的值。

·W矩阵:基础图像矩阵,相当于从原矩阵V中抽取出来的特征

·H矩阵:系数矩阵

·NMF能够广泛应用于图像分析、文本挖掘和语音处理等领域。

  1. 矩阵分解优化

矩阵分解优化目标: 最小化W矩阵H矩阵的乘积和原始矩阵之间的差别,目标函数如下:

3、sklearn中非负矩阵分解:

在sklearn库中,可以使用sklearn.decomposition.NMF加载NMF算法,主要参数有

·n_components: 用于指定分解后矩阵的单个维度k;

·init: W矩阵和H矩阵的初始化方式,默认为'nndsvdar'

4、NMF人脸数据特征提取:

目标:已知Olivetti人脸数据共400个,每个数据是64*64大小。由于NMF分解得到的W矩阵相当于从原始矩阵中提取的特征,那么就可以使用NMF对400个人脸数据进行特征提取。通过设置k的大小,设置提取的特征的数目。在本实验中设置k=6随后将提取的特征以图像的形式展示出来。

  • 实验程序与结果

import matplotlib.pyplot as plt
from sklearn import decomposition
from sklearn.datasets import fetch_olivetti_faces
from numpy.random import RandomState

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值