iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 30
1
AI & Data

大數據的世代需學會的幾件事系列 第 30

Day30-Keras循環神經網路RNN進行IMDb情緒分析

今天是鐵人賽第30天(灑花),要來講解如何利用循環神經網路RNN實作IMDb數據資料的訓練,為什麼不直接用卷積神經網路CNN呢?通常CNN是應用於圖像辨識,而RNN用於文字處理分析,為什麼要用RNN呢?先來看RNN叫循環網路,但是以下圖Day23-深度學習介紹(1)講解的網路圖形並沒有循環的階段,但是因為在文字的世界會因為時間循序漸進,所以我們要把模型模擬跟人一樣要有過往的記憶,利用過往的歷史資訊來預測未來,如圖2。
圖1
圖1 CNN
https://ithelp.ithome.com.tw/upload/images/20181114/20107244MVTBxE9omp.png
圖2 RNN

  • 延續Day28預處理完成的資料,建立RNN模型
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.layers.embeddings import Embedding
from keras.layers.recurrent import SimpleRNN

model = Sequential()
model.add(Embedding(output_dim=32,
                    input_dim=3800, 
                    input_length=380))
model.add(Dropout(0.25))
#建立18個RNN神經元
model.add(SimpleRNN(units=18))
model.add(Dense(units=256,activation='relu' ))
model.add(Dropout(0.25))
model.add(Dense(units=1,activation='sigmoid' ))
model.summary()

https://ithelp.ithome.com.tw/upload/images/20181114/20107244Vw2k7Tnluq.png

  • 預測模型的準確率
scores = model.evaluate(x_test, y_test, verbose=1)
scores[1]

https://ithelp.ithome.com.tw/upload/images/20181114/20107244Lx49npX14J.png

來整理一下這30天的貼文內容:

Day1-程式語言、模組百百種 要如何選擇?(含30天文章架構)

Day12-Scikit-learn介紹(4)_ Bayes Classification

Day13-Scikit-learn介紹(5)_ Linear-Regression

https://ithelp.ithome.com.tw/articles/10206114

Day15-Scikit-learn介紹(7)_ Support Vector Machines

Day16-Scikit-learn介紹(8)_ Decision Trees

Day17-Scikit-learn介紹(9)_ Random Forests

Day18-Scikit-learn介紹(10)_ Principal Component Analysis

Day19-Scikit-learn介紹(11)_K-Means
Day20-Scikit-learn介紹(12)_Gaussian Mixture Models

Day21-Scikit-learn介紹(13)_HOG+SVM

Day22-機器學習、深度學習、人工智慧的關係介紹

Day30 鐵人最後一天 成功~~~/images/emoticon/emoticon07.gif/images/emoticon/emoticon07.gif/images/emoticon/emoticon07.gif/images/emoticon/emoticon07.gif/images/emoticon/emoticon07.gif/images/emoticon/emoticon07.gif/images/emoticon/emoticon07.gif


上一篇
Day29-Keras多層感知器MLP進行IMDb情緒分析
系列文
大數據的世代需學會的幾件事30

尚未有邦友留言

立即登入留言