AI小項目

AI小項目

來自專欄智能體Neyzoter/My_Small_ML_Programs?

github.com圖標

1、基於單隱層神經網路的二維數據分類

Planar-data-classification-with-one-hidden-layer

作用:分類演算法進行(標籤)藍色和紅色點、二維特徵數據的二分類

模型:單層神經網路

策略:對數損失函數

演算法:梯度下降法

備註:無正則化,可能有過擬合

2、基於L層簡單神經網路的貓圖識別

Recognite-Cat-with-L-Layers-NN

作用:神經網路分類演算法進行圖像識別貓咪

模型:L層神經網路

策略:對數損失函數

演算法:梯度下降法

備註:無正則化,可能有過擬合;系統識別貓的效果不太好,區別不了貓和其他圖片

3、基於Nelearn(TensorFlow)2層神經網路的手勢識別

Gesture0to5-recognition-based-on-Nelearn-and-tensorflow

作用:雙隱藏層神經網路識別手勢。

模型:雙隱藏層神經網路

策略:對數損失函數

演算法:Adam

備註:你也可以改成datasets中的其他數據集,去識別其他的物體。

Train Accuracy: 1.0

Test Accuracy: 0.791667

4、基於Keras卷積神經網路的笑臉識別

HappyFace-Recognition-Keras

作用:卷積神經網路識別笑臉。

模型:卷積神經網路

策略:交叉熵損失函數-1/n(ylog(a)-(1-y)log(a))

演算法:Adam

備註:訓練集不夠大,當對自己的照片進行識別時,效果不佳。

Train loss = 0.0120

Train accuracy = 0.9983

Test loss = 0.102046815952

Test accuracy = 0.980000003974

5、基於Keras殘差網路的手勢識別

Gesture0to5-recognition-based-on-Keras

作用:殘差神經網路識別手勢。

模型:殘差神經網路

CONV2D -> BATCHNORM -> RELU -> MAXPOOL -> CONVBLOCK -> IDBLOCK2 -> CONVBLOCK -> IDBLOCK3 -> CONVBLOCK -> IDBLOCK5 -> CONVBLOCK -> IDBLOCK2 -> AVGPOOL -> TOPLAYER

其中 ,CONVBLOCK=convolutionblock在小路上有1×1卷積,所以可以實現輸出和輸出維度不同;IDBLOCK=identityblock在小路上是直達,沒有1*1卷積,所以輸出和輸入維度必須相同。

策略:多分類的對數損失函數

演算法:Adam

備註:需要較長的訓練時間

Train loss = 0.0963

Train accuracy = 0.9741

Test loss = 0.609584419926

Test accuracy = 0.86666667064

github地址:

Neyzoter/My_Small_ML_Programs?

github.com圖標
推薦閱讀:

TAG:人工智慧 | TensorFlow | Python編程 |