AI小項目
來自專欄智能體Neyzoter/My_Small_ML_Programs
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
推薦閱讀:
TAG:人工智慧 | TensorFlow | Python編程 |