機器學習-無監督學習(人臉識別,使用NMF進行特徵提取)
一、非監督學習
1、概念
輸入的基礎樣本資料,經過演算法能等到輸出結果無法預測或者多種結果
2、分類
資料集變換
概念
和原有的資料集比較,有變化
應用
降維:資料集的特徵變少
聚類
概念
將資料集分不同按照組分類
二、降維,特徵提取和流形學習
1、演算法
主成分分析(PCA)-降維
非負矩陣分解 -特徵提取
T_SNE-二維散點圖的視覺化
臉部識別示例:
import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import fetch_lfw_people
from sklearn.decomposition import NMF
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
people = fetch_lfw_people(min_faces_per_person=20, resize=0.7)
mask = np.zeros(people.target.shape, dtype=np.bool)
image_shape = people.images[0].shape
for target in np.unique(people.target):
mask[np.where(people.target == target)[0][:50]] = 1
X_people = people.data[mask]
y_people = people.target[mask]
X_people = X_people/255
X_train, X_test, y_train, y_test = train_test_split(X_people, y_people, stratify=y_people, random_state=0)
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(X_train, y_train)
print("Test score of 1-nn:{:2f}".format(knn.score(X_test, y_test)))
nmf = NMF(n_components=15, random_state=0)
nmf.fit(X_train)
X_train_nmf=nmf.transform(X_train)
X_test_nmf=nmf.transform(X_test)
fix, axes = plt.subplots(3, 5, figsize=(15, 12), subplot_kw={'xticks': (), 'yticks': ()})
for i, (component, ax) in enumerate(zip(nmf.components_, axes.ravel())):
ax.imshow(component.reshape(image_shape), cmap='viridis')
ax.set_title("{}.component".format(i))
相關文章
- 機器學習——監督學習&無監督學習機器學習
- 深度學習中的互資訊:無監督提取特徵深度學習特徵
- 機器學習:監督學習機器學習
- 有監督學習和無監督學習
- 【機器學習基礎】無監督學習(1)——PCA機器學習PCA
- 一圖看懂監督學習、無監督學習和半監督學習
- 人臉識別之特徵臉方法(Eigenface)特徵
- 【機器學習基礎】無監督學習(3)——AutoEncoder機器學習
- 機器學習個人筆記(三)之無監督學習機器學習筆記
- 機器學習7-模型儲存&無監督學習機器學習模型
- 人臉識別學習筆記二:進階篇筆記
- 什麼是有監督學習和無監督學習
- 吳恩達機器學習筆記 —— 14 無監督學習吳恩達機器學習筆記
- 【機器學習】李宏毅——自監督式學習機器學習
- 人工智慧 (05) 機器學習 - 無監督式學習群集方法人工智慧機器學習
- 純前端實現人臉識別-提取-合成前端
- 【ML吳恩達】3 有監督學習和無監督學習吳恩達
- 刷臉支付人臉識別特徵點越多是別越精確特徵
- 機器學習-特徵提取機器學習特徵
- 無監督學習之降維
- 監督學習or無監督學習?這個問題必須搞清楚
- 【機器學習基礎】半監督學習簡介機器學習
- 機器學習--有監督學習--演算法整理機器學習演算法
- 監督學習,無監督學習常用演算法集合總結,引用scikit-learn庫(監督篇)演算法
- 【機器學習基礎】無監督學習(2)——降維之LLE和TSNE機器學習
- 監督學習
- Python機器學習基礎篇三《無監督學習與預處理》Python機器學習
- 監督學習之高斯判別分析
- 人臉識別學習筆記一:入門篇筆記
- 機器學習實戰-SVM模型實現人臉識別機器學習模型
- 自監督學習
- Python實現人臉識別功能,face_recognition的使用 | 機器學習Python機器學習
- 人臉識別不到位,兄弟秒變父與子!AI 研習社「人臉年齡識別挑戰賽」火熱進行中AI
- 【知識圖譜】知識圖譜實體連結無監督學習框架框架
- 人臉識別之Python DLib庫進行人臉關鍵點識別Python
- opencv 人臉識別OpenCV
- OpenCV — 人臉識別OpenCV
- 無監督學習才不是“不要你管”