瀏覽分類:

Python

[Python] 基於KNN演算法的臉部辨識

最近在讀機器學習classfication跟cluster的演算法,就想找些有趣的例子來實做看看

於是這篇就誕生了:使用KNN(K Nearest Neighbor)近鄰演算法實作的臉部辨識

話不多說,先來張最終辨識的成果圖:

 

KNN(K Nearest Neighbor)簡介

KNN是一種近鄰分類演算法,核心概念就是給定k值,然後要被分類的點x就會尋找最近的k個點,看這k個點中哪個種類佔大多數,則該點x即會被歸為此類

例如這張從維基百科抓的示意圖k=3,在最近的三個點中紅色佔大多數,所以綠色將會被歸類為紅色

但有趣的是,假如k=5,則藍色的數量又比紅色多,所以綠色將會被歸類為藍色

因此k值的挑選也是一門學問

閱讀更多

用TensorFlow+Keras訓練辨識驗證碼的CNN模型

大學選課系統自動填入驗證碼 這篇介紹了如何利用驗證碼語音播放功能的bug來填入驗證碼

本篇就來實作看看利用近年來很熱門的卷積神經網路(CNN)學習並辨識驗證碼

驗證碼示意圖:

 

安裝所需的套件

在開始前我們會用到以下套件,這是我在寫本篇親測可正確執行的版本組合

MacOS 10.14.6
Python: 3.7.3
numpy: 1.18.0
scikit-learn: 0.22
TensorFlow: 2.0.0
Pillow: 6.2.1

如果有缺少的可以使用pip來安裝

NumPy: pip install numpy
scikit-learn: pip install scikit-learn
TensorFlow: pip install tensorflow
Pillow: pip install Pillow

閱讀更多

Matplotlib重疊不同Y軸規模的資料

前些日子在做深度學習的課堂專題時,希望能把訓練中的神經網路所玩遊戲走的步數記錄下來

輸出成圖表,好以觀察神經網路是否有乖乖照我們的設計去學習

不難,用python的matplotlib一下就做出來了

圖雖然是出來了,但因為有兩萬多筆訓練時玩遊戲走的步數,折線圖整個擠成一團

只能免強看到有點在上升的趨勢
閱讀更多