最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一小時學(xué)會TensorFlow2之大幅提高模型準(zhǔn)確率

 更新時間:2021年09月08日 14:47:22   作者:我是小白呀  
這篇文章主要介紹了TensorFlow2之大幅提高模型準(zhǔn)確率,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

過擬合

當(dāng)訓(xùn)練集的的準(zhǔn)確率很高, 但是測試集的準(zhǔn)確率很差的時候就, 我們就遇到了過擬合 (Overfitting) 的問題. 如圖:

在這里插入圖片描述

過擬合產(chǎn)生的一大原因是因為模型過于復(fù)雜. 下面我們將通過講述 5 種不同的方法來解決過擬合的問題, 從而提高模型準(zhǔn)確度.

Regulation

Regulation 可以幫助我們通過約束要優(yōu)化的參數(shù)來防止過擬合.

在這里插入圖片描述

公式

未加入 regulation 的損失:

在這里插入圖片描述

加入 regulation 的損失:

在這里插入圖片描述

λ 和 lr (learning rate) 類似. 如果 λ 的值越大, regularion 的力度也就越強(qiáng), 權(quán)重的值也就越小.

例子

添加了 l2 regulation 的網(wǎng)絡(luò):

network = tf.keras.Sequential([
    tf.keras.layers.Dense(256, kernel_regularizer=tf.keras.regularizers.l2(0.001), activation=tf.nn.relu),
    tf.keras.layers.Dense(128, kernel_regularizer=tf.keras.regularizers.l2(0.001), activation=tf.nn.relu),
    tf.keras.layers.Dense(64, kernel_regularizer=tf.keras.regularizers.l2(0.001), activation=tf.nn.relu),
    tf.keras.layers.Dense(32, kernel_regularizer=tf.keras.regularizers.l2(0.001), activation=tf.nn.relu),
    tf.keras.layers.Dense(10)
])

動量

動量 (Momentum) 是指運(yùn)動物體的租用效果. 在梯度下降的過程中, 通過在優(yōu)化器中加入動量, 我們可以減少擺動從而達(dá)到更優(yōu)的效果.

未添加動量:

在這里插入圖片描述

添加動量:

在這里插入圖片描述

公式

未加動量的權(quán)重更新:

在這里插入圖片描述

  • w: 權(quán)重 (weight)
  • k: 迭代的次數(shù)
  • α: 學(xué)習(xí)率 (learning rate)
  • ∇f(): 微分

添加動量的權(quán)重更新:

在這里插入圖片描述

  • β: 動量權(quán)重
  • z: 歷史微分

例子

添加了動量的優(yōu)化器:

optimizer = tf.keras.optimizers.SGD(learning_rate=0.02, momentum=0.9)
optimizer = tf.keras.optimizers.RMSprop(learning_rate=0.02, momentum=0.9)

注: Adam 優(yōu)化器默認(rèn)已經(jīng)添加動量, 所以無需自行添加.

學(xué)習(xí)率遞減

簡單的來說, 如果學(xué)習(xí)率越大, 我們訓(xùn)練的速度就越大, 但找到最優(yōu)解的概率也就越小. 反之, 學(xué)習(xí)率越小, 訓(xùn)練的速度就越慢, 但找到最優(yōu)解的概率就越大.

在這里插入圖片描述

過程

我們可以在訓(xùn)練初期把學(xué)習(xí)率調(diào)的稍大一些, 使得網(wǎng)絡(luò)迅速收斂. 在訓(xùn)練后期學(xué)習(xí)率小一些, 使得我們能得到更好的收斂以獲得最優(yōu)解. 如圖:

在這里插入圖片描述

例子

learning_rate = 0.2  # 學(xué)習(xí)率
optimizer = tf.keras.optimizers.SGD(learning_rate=learning_rate, momentum=0.9)  # 優(yōu)化器

# 迭代
for epoch in range(iteration_num):
    optimizer.learninig_rate = learning_rate * (100 - epoch) / 100  # 學(xué)習(xí)率遞減

Early Stopping

之前我們提到過, 當(dāng)訓(xùn)練集的準(zhǔn)確率仍在提升, 但是測試集的準(zhǔn)確率反而下降的時候, 我們就遇到了過擬合 (overfitting) 的問題.

Early Stopping 可以幫助我們在測試集的準(zhǔn)確率下降的時候停止訓(xùn)練, 從而避免繼續(xù)訓(xùn)練導(dǎo)致的過擬合問題.

在這里插入圖片描述

Dropout

Learning less to learn better

Dropout 會在每個訓(xùn)練批次中忽略掉一部分的特征, 從而減少過擬合的現(xiàn)象.

在這里插入圖片描述

dropout, 通過強(qiáng)迫神經(jīng)元, 和隨機(jī)跳出來的其他神經(jīng)元共同工作, 達(dá)到好的效果. 消除減弱神經(jīng)元節(jié)點(diǎn)間的聯(lián)合適應(yīng)性, 增強(qiáng)了泛化能力.

例子:

network = tf.keras.Sequential([
    tf.keras.layers.Dense(256, activation=tf.nn.relu),
    tf.keras.layers.Dropout(0.5),  # 忽略一半
    tf.keras.layers.Dense(128, activation=tf.nn.relu),
    tf.keras.layers.Dropout(0.5),  # 忽略一半
    tf.keras.layers.Dense(64, activation=tf.nn.relu),
    tf.keras.layers.Dropout(0.5),  # 忽略一半
    tf.keras.layers.Dense(32, activation=tf.nn.relu),
    tf.keras.layers.Dense(10)
])

到此這篇關(guān)于一小時學(xué)會TensorFlow2之大幅提高模型準(zhǔn)確率的文章就介紹到這了,更多相關(guān)TensorFlow2模型準(zhǔn)確率內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 對python中不同模塊(函數(shù)、類、變量)的調(diào)用詳解

    對python中不同模塊(函數(shù)、類、變量)的調(diào)用詳解

    今天小編就為大家分享一篇對python中不同模塊(函數(shù)、類、變量)的調(diào)用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 一文詳解Python定時任務(wù)觸發(fā)

    一文詳解Python定時任務(wù)觸發(fā)

    這篇文章主要為大家詳細(xì)介紹了Python定時任務(wù)觸發(fā)的相關(guān)知識,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下
    2023-04-04
  • 跟老齊學(xué)Python之折騰一下目錄

    跟老齊學(xué)Python之折騰一下目錄

    本講只關(guān)注os.path,真所謂“弱水三千,只取一瓢”,為什么這么偏愛它呢?因為它和前面已經(jīng)講過的文件操作進(jìn)行配合,就能夠隨心所欲操作各個地方的文件了
    2014-10-10
  • Python3訪問MySQL數(shù)據(jù)庫的實(shí)現(xiàn)步驟

    Python3訪問MySQL數(shù)據(jù)庫的實(shí)現(xiàn)步驟

    要實(shí)現(xiàn)一個簡單的IM(即時通訊)系統(tǒng),支持用戶注冊、登錄和聊天記錄存儲,你可以使用Python和mysql數(shù)據(jù)庫,以下是一個基本的實(shí)現(xiàn)步驟,并通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法示例

    Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法,結(jié)合實(shí)例形式總結(jié)分析了Python插入排序,冒泡排序,快速排序,選擇排序等算法的實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下
    2019-05-05
  • Python結(jié)合Sprak實(shí)現(xiàn)計算曲線與X軸上方的面積

    Python結(jié)合Sprak實(shí)現(xiàn)計算曲線與X軸上方的面積

    這篇文章主要介紹了Python結(jié)合Sprak實(shí)現(xiàn)計算曲線與X軸上方的面積,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-02-02
  • Python基于貪心算法解決背包問題示例

    Python基于貪心算法解決背包問題示例

    這篇文章主要介紹了Python基于貪心算法解決背包問題,簡單描述了貪心算法的概念、原理并結(jié)合實(shí)例形式分析了Python使用貪心算法解決背包問題的具體操作技巧,需要的朋友可以參考下
    2017-11-11
  • python數(shù)據(jù)庫編程 Mysql實(shí)現(xiàn)通訊錄

    python數(shù)據(jù)庫編程 Mysql實(shí)現(xiàn)通訊錄

    這篇文章主要為大家詳細(xì)介紹了python數(shù)據(jù)庫編程,Mysql實(shí)現(xiàn)通訊錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Pycharm關(guān)閉控制臺多余窗口的解決辦法

    Pycharm關(guān)閉控制臺多余窗口的解決辦法

    這篇文章主要介紹了Pycharm關(guān)閉控制臺多余窗口的解決辦法,文中通過圖文結(jié)合的方式講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-12-12
  • Python實(shí)現(xiàn)將目錄中TXT合并成一個大TXT文件的方法

    Python實(shí)現(xiàn)將目錄中TXT合并成一個大TXT文件的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)將目錄中TXT合并成一個大TXT文件的方法,涉及Python針對目錄下文本文件的遍歷、讀取及寫入等技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07

最新評論

德庆县| 云林县| 武陟县| 门头沟区| 五河县| 金川县| 朝阳区| 五华县| 曲麻莱县| 邯郸县| 扎鲁特旗| 舟山市| 靖西县| 武威市| 嘉兴市| 宁强县| 浦县| 新民市| 大渡口区| 利川市| 南华县| 仪征市| 彩票| 和田县| 铜梁县| 黄浦区| 株洲市| 汾西县| 营口市| 元江| 齐齐哈尔市| 花莲市| 潜山县| 永嘉县| 平安县| 融水| 印江| 巩留县| 昌黎县| 清流县| 瑞金市|