婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 機器深度學習二分類電影的情感問題

機器深度學習二分類電影的情感問題

熱門標簽:蘇州人工外呼系統軟件 看懂地圖標注方法 廣東旅游地圖標注 打印谷歌地圖標注 京華圖書館地圖標注 淮安呼叫中心外呼系統如何 佛山通用400電話申請 電話外呼系統招商代理 電話機器人貸款詐騙

二分類問題可能是應用最廣泛的機器學習問題。今天我們將學習根據電影評論的文字內容將其劃分為正面或負面。

一、數據集來源

我們使用的是IMDB數據集,它包含來自互聯網電影數據庫(IMDB)的50000條嚴重兩極分化的評論。為了避免模型過擬合只記住訓練數據,我們將數據集分為用于訓練的25000條評論與用于測試的25000條評論,訓練集和測試集都包含50%的正面評論和50%的負面評論。

與MNIST數據集一樣,IMDB數據集也內置于Keras庫。它已經過預處理:評論(單詞序列)已經被轉換為整數序列,其中每個整數代表字典中的某個單詞。

通過以下代碼加載數據集并限制每條評論最多取前一萬個常用的word,以便于我們進行向量處理。

import tensorflow as tf
imdb = tf.keras.datasets.imdb
(train_data, train_labels),(test_data, test_labels) = imdb.load_data(num_words=10000)
print(train_data[0])
print(train_labels[0])

通過輸出可以看到,train_data和test_data是評論記錄的集合,每條評論記錄又是由眾多的單詞索引組成的集合。
train_labels和test_labels是針對評論的分類的集合,其中0表示負面評論,1表示正面評論。

[1, 14, 22, 16, 43, 530, 973, 1622, 1385, 65, 458, 4468, 66, 3941, 4, 173, 36, 256, 5, 25, 100, 43, 838, 112, 50, 670, 2, 9, 35, 480, 284, 5, 150, 4, 172, 112, 167, 2, 336, 385, 39, 4, 172, 4536, 1111, 17, 546, 38, 13, 447, 4, 192, 50, 16, 6, 147, 2025, 19, 14, 22, 4, 1920, 4613, 469, 4, 22, 71, 87, 12, 16, 43, 530, 38, 76, 15, 13, 1247, 4, 22, 17, 515, 17, 12, 16, 626, 18, 2, 5, 62, 386, 12, 8, 316, 8, 106, 5, 4, 2223, 5244, 16, 480, 66, 3785, 33, 4, 130, 12, 16, 38, 619, 5, 25, 124, 51, 36, 135, 48, 25, 1415, 33, 6, 22, 12, 215, 28, 77, 52, 5, 14, 407, 16, 82, 2, 8, 4, 107, 117, 5952, 15, 256, 4, 2, 7, 3766, 5, 723, 36, 71, 43, 530, 476, 26, 400, 317, 46, 7, 4, 2, 1029, 13, 104, 88, 4, 381, 15, 297, 98, 32, 2071, 56, 26, 141, 6, 194, 7486, 18, 4, 226, 22, 21, 134, 476, 26, 480, 5, 144, 30, 5535, 18, 51, 36, 28, 224, 92, 25, 104, 4, 226, 65, 16, 38, 1334, 88, 12, 16, 283, 5, 16, 4472, 113, 103, 32, 15, 16, 5345, 19, 178, 32]
1

我們可以通過word與編號的映射關系將評論的內容轉化為具體的文本

def get_text(comment_num):
    """將數字形式的評論轉化為文本"""
    # word_index = tf.keras.datasets.imdb.get_word_index()
    word_index = imdb.get_word_index()
    reverse_word_index = dict([(value, key) for (key, value) in word_index.items()])
    text = ' '.join([reverse_word_index.get(i - 3, '?') for i in comment_num])
    return text
comment = get_text(train_data[0])
print(comment)

第一條電影評論的內容

? this film was just brilliant casting location scenery story direction everyone's really suited the part they played and you could just imagine being there robert ? is an amazing actor and now the same being director ?

二、格式化輸入數據

由于我們無法直接將整數序列輸入神經網絡,所以需要將其轉換為張量。可以通過以下兩種方式進行轉化

填充列表,使其具有相同的長度,然后將列表轉化為(samples, word_index)的2D形狀的整數張量。對列表進行one-hot編碼,將其轉化為0和1組成的向量。

這里我們采用one-hot進行編碼處理

def vectorize_sequences(sequences, diamension = 10000):
    results = np.zeros((len(sequences), diamension))
    for i, sequence in enumerate(sequences):
        results[i, sequence] = 1
    return results
x_train = vectorize_sequences(train_data)
print(x_train[0])
print(len(x_train[0]))
x_test = vectorize_sequences(test_data)
print(x_test[0])
print(len(x_test[0]))

轉化完成的輸入結果

[0. 1. 1. ... 0. 0. 0.]

10000

[0. 1. 1. ... 0. 0. 0.]

將標簽進行向量化處理

y_train = np.asarray(train_labels).astype('float32')
y_test = np.asarray(test_labels).astype('float32')

三、構建神經網絡

針對這里二分類單標簽,我們可以直接使用帶有relu激活函數的全連接層的簡單堆疊。
我們使用了兩個具有16個隱藏單元的中間層和具有一個隱藏單元的層。中間層使用的relu激活函數負責將所有的負值歸零,最后一層使用sigmoid函數將任意值壓縮到[0,1]之間并作為預測結果的概率。

model = models.Sequential()
model.add(layers.Dense(16, activation='relu', input_shape=(10000,)))
model.add(layers.Dense(16, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))

這里的Dense層實現了如下的張量計算,傳入Dense層的參數16表示隱藏單元的個數,同時也表示這個層輸出的數據的維度數量。隱藏單元越多,網絡越能夠學習到更加復雜的表示,但是網絡計算的代價就越高。

output = relu(dot(W, input) + b)

我們使用rmsprop優化器和binary_crossentropy損失函數來配置模型。

model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])

四、訓練模型

將訓練數據分出一小部分作為校驗數據,同時將512個樣本作為一批量處理,并進行20輪的訓練,同時出入validation_data來監控校驗樣本上的損失和計算精度。

x_val = x_train[:10000]
partial_x_train = x_train[10000:]
y_val = y_train[:10000]
partial_y_train = y_train[10000:]
history = model.fit(partial_x_train, partial_y_train, epochs= 20, batch_size=512, validation_data=(x_val, y_val))

調用fit()返回的history對象包含訓練過程的所有數據

history_dict = history.history
print(history_dict.keys())

字典中包含4個條目,對應訓練過程和校驗過程的指標,其中loss是訓練過程中損失指標,accuracy是訓練過程的準確性指標,而val_loss是校驗過程的損失指標,val_accuracy是校驗過程的準確性指標。

dict_keys(['loss', 'accuracy', 'val_loss', 'val_accuracy'])

我們使用Matplotlib畫出訓練損失和校驗損失的情況

loss_values = history_dict['loss']
val_loss_values = history_dict['val_loss']
epochs = range(1, len(loss_values) + 1)
plt.plot(epochs, loss_values, 'bo', label='Training loss')
plt.plot(epochs, val_loss_values, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()
plt.show()

從圖中可以看到整個訓練過程,損失函數值一直在不斷的變小,但是校驗過程的損失函數值卻先變小后變大,在2.5-5之間的某個點達到最小值。

我們使用Matplotlib畫出訓練精度和校驗精度的情況

plt.clf()
acc = history_dict['accuracy']
val_acc = history_dict['val_accuracy']
plt.plot(epochs, acc, 'bo', label='Training accuracy')
plt.plot(epochs, val_acc, 'b', label='Validation accuracy')
plt.title('Training and validation accuracy')
plt.xlabel('Epochs')
plt.ylabel('Accuracy')
plt.legend()
plt.show()

從圖中可以看到整個訓練過程,準確度值一直在不斷的升高,但是校驗過程的精度數值卻在不斷的進行波動,在2.5-5之間的某個點達到最大值。

通過對訓練和校驗指標的分析,可以看到訓練的損失每輪都在降低,訓練的精度每輪都在提升。但是校驗損失和校驗精度基本上在第4輪左右達到最佳值。為了防止這種過擬合的情況,我們可以在第四輪完成之后直接停止訓練。

history = model.fit(partial_x_train, partial_y_train, epochs= 4, batch_size=512, validation_data=(x_val, y_val))
results = model.evaluate(x_test, y_test)
print(results)

重新執行可以看到模型的精度可以達到87%

782/782 [==============================] - 1s 876us/step - loss: 0.3137 - accuracy: 0.8729
[0.3137112557888031, 0.8728799819946289]

五、使用測試數據預測結果

使用訓練的模型對test數據集進行預測

result = model.predict(x_test)
print(result)

[[0.31683978]

 [0.9997941 ]

 [0.9842608 ]

 ...

 [0.18170357]

 [0.23360077]

六、小結

  • 需要對原始數據進行預處理并轉化為符合要求的張量。
  • 對于二分類問題,最后一層使用sigmoid作為激活函數,并輸出0-1的標量來表示結果出現的概率。
  • 對于二分類問題的sigmoid標量輸出,應該使用binary_crossentropy損失函數。
  • 隨著訓練過程的進行,很容易出現過擬合現象,我們需要時刻監控模型在非訓練數據集的表現。

到此這篇關于機器深度學習之電影的二分類情感問題的文章就介紹到這了,更多相關深度學習內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 深度學習詳解之初試機器學習
  • 深度學習小工程練習之tensorflow垃圾分類詳解
  • 深度學習tensorflow基礎mnist
  • 吳恩達機器學習練習:神經網絡(反向傳播)

標簽:畢節 江蘇 衡水 湖州 股票 呼和浩特 駐馬店 中山

巨人網絡通訊聲明:本文標題《機器深度學習二分類電影的情感問題》,本文關鍵詞  機器,深度,學習,二,分類,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《機器深度學習二分類電影的情感問題》相關的同類信息!
  • 本頁收集關于機器深度學習二分類電影的情感問題的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品国产三级国产专播品爱网| 久久久精品天堂| 欧美一级片在线看| 亚洲国产综合在线| 日本久久一区二区三区| 成人激情黄色小说| 亚洲欧美激情小说另类| 国产xxx精品视频大全| 国产色产综合色产在线视频| 成人激情视频网站| 亚洲六月丁香色婷婷综合久久| 91免费观看视频| 亚洲综合免费观看高清完整版| 欧美日韩美少妇| 老司机午夜精品| 国产亚洲va综合人人澡精品| caoporn国产精品| 五月天精品一区二区三区| 欧美一区二区三区啪啪| 国产河南妇女毛片精品久久久| 国产精品久久久久影院老司 | 欧美精品vⅰdeose4hd| 亚洲精品国产视频| 久久一二三国产| 免费在线视频一区| 日韩一区二区在线免费观看| 日韩电影在线观看一区| 欧美午夜理伦三级在线观看| 轻轻草成人在线| 国产精品卡一卡二卡三| 在线观看欧美黄色| 国产三级精品三级| 91社区在线播放| 亚洲线精品一区二区三区| 在线电影一区二区三区| 国内精品久久久久影院色| 久久色在线视频| 欧美在线色视频| 国产精品―色哟哟| 国产激情偷乱视频一区二区三区| 91蝌蚪porny九色| 在线观看www91| 国产成人午夜精品影院观看视频| 91啦中文在线观看| 久久品道一品道久久精品| 日韩精品每日更新| 中文字幕亚洲电影| 精品国产乱码久久| 色www精品视频在线观看| 岛国精品在线播放| 青青草91视频| 久久久久久一二三区| 欧美不卡123| 99久久精品国产导航| 午夜精品福利视频网站| 亚洲精品日日夜夜| 色8久久精品久久久久久蜜| 国产欧美一区二区精品婷婷| 风间由美性色一区二区三区| 一区二区欧美国产| 亚洲成人综合在线| 欧美曰成人黄网| www.亚洲国产| 国产不卡免费视频| 国产一区二区免费看| 免费成人美女在线观看| 日韩精品免费视频人成| 石原莉奈在线亚洲二区| 亚洲成人精品一区| 亚洲成av人综合在线观看| 一级特黄大欧美久久久| 一区二区三区四区国产精品| 中文字幕日本不卡| 亚洲免费电影在线| 亚洲午夜在线视频| 青青青伊人色综合久久| 国产中文一区二区三区| 国产精品99久久久久久久女警| 国产酒店精品激情| 成人午夜激情影院| 亚洲精品一线二线三线| 国产欧美一区二区三区沐欲| 国产精品视频线看| 欧美精品第1页| 久久日韩粉嫩一区二区三区| 国产精品午夜免费| 亚洲视频香蕉人妖| 天天综合天天做天天综合| 日本成人在线网站| 国产精品456| 99精品视频免费在线观看| 欧美美女网站色| 欧美成人aa大片| 欧美国产一区在线| 一区二区三区欧美| 国产一区二区三区蝌蚪| 91污片在线观看| 欧美一区二区三区免费大片| 国产日韩欧美a| 午夜激情综合网| 国产成a人亚洲精| 欧美伊人久久久久久午夜久久久久| 色999日韩国产欧美一区二区| 日韩av电影天堂| 在线播放中文一区| 综合久久给合久久狠狠狠97色 | 国产精品卡一卡二| 国产成人在线影院| 欧美韩日一区二区三区四区| 99久久婷婷国产综合精品| 精品少妇一区二区三区日产乱码 | 久久精品99久久久| 91精品国产综合久久久久久久久久| 亚洲免费观看在线视频| 波多野结衣精品在线| 国产一区二区h| 亚洲欧美日韩在线不卡| 99久精品国产| 久久久99精品免费观看不卡| 日韩精品一区二区三区swag| 亚洲最色的网站| 欧美三级资源在线| 国产麻豆91精品| 久久综合久久综合九色| 国产jizzjizz一区二区| 色播五月激情综合网| 亚洲国产激情av| 国产呦萝稀缺另类资源| 日韩欧美精品在线视频| 亚洲午夜影视影院在线观看| 91天堂素人约啪| ...xxx性欧美| 一本久道久久综合中文字幕| 国产精品家庭影院| hitomi一区二区三区精品| 欧美极品xxx| 国产成人午夜视频| 中文字幕不卡在线观看| 成人网页在线观看| 中文一区一区三区高中清不卡| 国产精品萝li| 日韩免费一区二区三区在线播放| 91亚洲精品一区二区乱码| 高清成人免费视频| 韩国女主播成人在线| 青青草国产成人av片免费| 亚洲男人都懂的| 国产精品久久久久久久午夜片| 中文字幕一区免费在线观看 | 久久97超碰色| 亚洲黄色免费网站| 丝袜美腿一区二区三区| 亚洲精品久久久蜜桃| 中文字幕欧美日本乱码一线二线| 亚洲精品乱码久久久久| 亚洲一区二区三区四区中文字幕 | 久久久精品免费免费| 一区二区三区在线影院| 欧美日韩精品一区二区天天拍小说 | 欧美日韩一区国产| 亚洲色图视频网站| 9l国产精品久久久久麻豆| 欧美日韩中文字幕一区| 亚洲婷婷在线视频| 欧美人妇做爰xxxⅹ性高电影| 国产真实乱对白精彩久久| 久久激情五月激情| 日本成人在线看| 成人免费看的视频| 99久久久无码国产精品| 91在线观看视频| 久久天堂av综合合色蜜桃网| 欧美日韩国产系列| 精品视频123区在线观看| 99国产精品99久久久久久| 制服.丝袜.亚洲.另类.中文| 在线播放国产精品二区一二区四区| ...中文天堂在线一区| 综合自拍亚洲综合图不卡区| 欧美人妇做爰xxxⅹ性高电影| 国产精品久久一卡二卡| 欧美三级日韩三级国产三级| 国产一区二区三区黄视频| 亚洲国产精品t66y| 日韩午夜小视频| 国产一区二区视频在线播放| 国产精品午夜在线| 在线免费观看成人短视频| 亚洲欧美日韩在线不卡| 欧美高清hd18日本| 色88888久久久久久影院野外| 日韩国产一区二| 亚洲一区日韩精品中文字幕| 国产精品三级电影| 欧美日韩一区二区三区四区 | 欧美二区三区91| 国产精品一区二区久久不卡| 亚洲日本一区二区| 欧美图区在线视频| 在线国产亚洲欧美|