攻破tensorflow,勇創最佳agent(2)---損失(loss) 準確率(accuracy)問題

實戰播:

怎么判定一個模型好不好,你設置的值對不對?? 需要再看幾個值:

例如:

 model = Sequential()for units in model_structure:model.add(Dense(units, activation='relu'))model.add(Dropout(train_config.get('dropout_rate', 0.3)))model.add(Dense(1, activation='sigmoid'))

他的訓練集表現損失值不好! 一直維持在0.68+;這就需要不好了;

那么 模型的損失(loss)值表現不佳 怎么解決這個問題?

  1. 調整學習率:如果學習率過高,可能導致損失值波動,建議嘗試降低學習率,例如使用學習率衰減策略來動態調整學習率。(這個可以看我之前的:創作中心-CSDN)

  2. 數據增強:如果訓練數據集規模較小,可以使用數據增強技術,例如隨機旋轉、剪裁等,增強數據的多樣性和模型的泛化能力。(因為我現在是一個2分類問題,全部都是數據,所以就不考慮;唯一的方式就是增加數據量!)

  3. 模型正則化:增加Dropout層或使用L1/L2正則化,防止模型過擬合。例如,Dropout的概率可以調整為0.2到0.5之間。

  4. 調整網絡結構:嘗試不同的模型結構,比如增加或減少神經元的數量,或者導入復雜的層結構(例如,殘差連接)來改善模型性能。

  5. 批量大小(Batch Size)調整:確保Batch Size適中,過小可能導致不穩定,過大則可能導致計算不精確。可以嘗試調整Batch Size以優化訓練過程。

dense層和dropout層:

想象你正在訓練一只機器人助手,它需要學會識別不同的水果。這個機器人有很多“小助手”(神經元),它們一起合作來完成任務。

  1. Dense層(全連接層)

    • 小助手A:負責把水果的特征(顏色、形狀、大小)整理成一份報告。
    • 小助手B:負責根據這份報告,判斷水果是蘋果、香蕉還是橘子。
    • 小助手C:負責把判斷結果轉化為機器人能理解的指令,比如“抓取蘋果”。
    • 每個小助手都和其他小助手緊密合作,確保信息傳遞準確無誤。

    在代碼中,Dense(units, activation='relu') 就是添加一個全連接層,units 是小助手的數量,activation='relu' 是小助手們合作時使用的方式(ReLU激活函數)。

  2. Dropout層

    • 在訓練過程中,為了讓小助手們不要過于依賴某些特定的水果特征,機器人會隨機讓部分小助手“休息”。
    • 比如,今天小助手A和B休息了,小助手C和D繼續工作。這樣,機器人學會了在不同的小助手組合下完成任務,變得更加靈活和穩定。

    在代碼中,Dropout(train_config.get('dropout_rate', 0.3)) 就是設置讓30%的小助手隨機“休息”,以防止過擬合。

總結

  • Dense層:像是一個團隊,每個成員都緊密合作,負責特定的任務。
  • Dropout層:像是一個輪換機制,確保團隊成員不會過于依賴某些特定的成員,從而提升整體的適應能力。

案例表達: (模型正則化)

1.當我嘗試把dropout_rate從0.3調到0.5

... (原先是0.71-->0.68,同時準確率維持在0.55+)

model.add(Dropout(train_config.get('dropout_rate', 0.5)))

2.現在我把代碼改為正則化:
model = Sequential()
for units in model_structure:model.add(Dense(units, activation='relu', kernel_regularizer=regularizers.l2(0.01)))  # 使用L2正則化# model.add(Dense(units, activation='relu', kernel_regularizer=regularizers.l1(0.01)))  # 使用L1正則化
model.add(Dense(1, activation='sigmoid'))

在此代碼中,kernel_regularizer=regularizers.l2(0.01)添加了L2正則化,而kernel_regularizer=regularizers.l1(0.01)則為L1正則化。

因此,當我使用L1或者L2之后,還沒有之前的手動效果好! 因此,這個訓練集--->舍棄正則化!!!

L1與L2正則化的定義

  • L1正則化(Lasso回歸):通過在損失函數中增加權重絕對值的和作為懲罰項,從而驅使某些權重減小到零,生成稀疏解,適合特征選擇.
  • L2正則化(Ridge回歸):通過增加權重平方和作為懲罰項,促使所有權重趨向較小的均勻值,而不是完全為零。它通過減少權重避免過擬合,增強模型的穩定性.

這兩種正則化方法可以在模型中結合使用,以提高模型的泛化能力和抗干擾能力。

訓練集(loss)和驗證集(val_loss)

  • 訓練集(loss):這就像是在練習題上不斷練習,模型在這些題目上越來越熟練,錯誤越來越少。loss值越小,說明模型在訓練數據上表現越好。
  • 驗證集(val_loss):這就像是在考試題目上測試,loss值越小,說明模型在真實數據上的表現越好。

訓練集(accuracy)和驗證集(val_accuracy)

  • 訓練集(accuracy):這就像是在練習題上答對的比例,accuracy越高,說明模型在訓練數據上越熟練。
  • 驗證集(val_accuracy):這就像是在考試題上答對的比例,accuracy越高,說明模型在真實數據上的表現越好。

數據

  1. epoch 1:模型剛開始訓練,loss和val_loss都很高,accuracy和val_accuracy也很低。就像剛上學的孩子,剛開始學東西,什么都不會。
  2. epoch 5:loss和val_loss都在下降,accuracy和val_accuracy也在上升。就像孩子逐漸掌握知識,練習題和考試題都能答對更多。
  3. epoch 10:loss和val_loss繼續下降,accuracy和val_accuracy繼續上升。就像孩子越來越熟練,考試成績也越來越好。
  4. epoch 15:loss和val_loss下降變慢,accuracy和val_accuracy也趨于穩定。就像孩子已經掌握了大部分知識,進一步提高需要更多的努力。

總結

數據表示:

模型在訓練過程中的表現,

loss和val_loss越小,accuracy和val_accuracy越高,說明模型越來越好。

就像孩子從不會到會,從生疏到熟練,再到精通,這是一個不斷學習和進步的過程。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/73757.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73757.shtml
英文地址,請注明出處:http://en.pswp.cn/web/73757.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

pdfh5 pdf

踩坑1: 渲染失敗 (1)在vue項目中,讀取本地的pdf文件需要放到public下static文件夾中,不能放在別的地方; (2)引用時,不能使用相對路徑,因為使用public文件下…

6.5 模擬專題:LeetCode 38. 外觀數列

1. 題目鏈接 LeetCode 38. 外觀數列 2. 題目描述 給定一個正整數 n,生成外觀數列的第 n 項。外觀數列的定義如下: 第 1 項為 "1"。第 n 項是對第 n-1 項的描述。例如,第 2 項描述第 1 項("1")為…

什么是具身智能

具身智能(Embodied Intelligence)是人工智能與機器人學交叉的前沿領域,強調智能體通過身體與環境的動態交互實現自主學習和進化,其核心在于將感知、行動與認知深度融合?。通俗地講,就是機器人或者智能系統在物理環境中…

git命令使用小記(打補丁)

需求:需要從開發分支提取本人提交代碼,然后合并到主分支 一、制作補丁包 mkdir -p patches for commit in $(git log commitA..commitB --author"username" --reverse --prettyformat:"%h"); do …

mapbox基礎,加載popup彈出窗

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??popup 彈出窗 api1.3.1 ??構造函數1.…

C++11--(1)

目錄 1.列表初始化 {}初始化 C98中 C11中 內置置類型和自定義類型 創建對象也適用 std::initializer_list 2.變量類型推導 auto C98 C11 decltype nullptr 3.范圍for循環 4.STL中一些變化 array 1.創建和初始化 2.訪問元素 ?編輯 3.修改操作 4.支持迭代器…

Promise的狀態和方法是什么?

Promise 的狀態和方法 1. Promise 的狀態 一個 Promise 可以處于以下三種狀態之一: - Pending(待定):初始狀態,表示異步操作正在進行中,Promise 還沒有被解決或拒絕。 - Fulfilled(已完成&…

Windows云服務器支持哪些數據庫管理系統?

Windows云服務器因其良好的兼容性和企業級支持,廣泛用于網站托管、企業管理系統、金融應用、數據分析等場景。在這些應用中,數據庫管理系統(DBMS)起著至關重要的作用。Windows 服務器支持多種數據庫,包括關系型數據庫(SQL)和非關系型數據庫(N…

MongoDB 實際工作中應用場景

博主介紹:?全網粉絲5W,全棧開發工程師,從事多年軟件開發,在大廠呆過。持有軟件中級、六級等證書。可提供微服務項目搭建與畢業項目實戰,博主也曾寫過優秀論文,查重率極低,在這方面有豐富的經驗…

03 相機標定圖像采集

學完本文,您將獲取一下技能: 1:如何提升標定質量,如選擇標定板,標定圖像采集的注意事項, 2:實現標定圖像自動篩選的代碼 3:量產場景如何通過一張圖像來標定相機 為了實現良好的標定效果,以下因素在標定數據采集前必須設置得當。 標定板選擇 標定板尺寸準確材料平…

GitHub美化個人主頁3D圖表顯示配置操作

這個功能主要是用的這個開源倉庫:https://github.com/yoshi389111/github-profile-3d-contrib 想看效果的話,我的個人主頁:https://github.com/Sjj1024 開始操作 1.創建自己的github主頁屬性項目——跟你github用戶名一致即可,…

buu-jarvisoj_fm-好久不見52

格式化字符串漏洞題 x等于4x等于4???????x等于4???????x等于4 可以知道是第11個參數,%11$ 定位到這個位置,然后%n往這個位置寫入4 1.先用pwndbg調試得到偏移量 2.查看獲取x的地址 3.構造ROP鏈,發送連接 from pwn import *# …

AwesomeQt分享3(含源碼)

AwesomeQt 這個項目包含了多個Qt組件的使用示例,旨在展示Qt各種強大功能的實現方式。 源碼分享 github: awesome_Qtgitee: 后續同步 項目進度 QCustomPlot曲線控件示例 支持排序和篩選的列表控件示例 支持排序和篩選的表格控件示例 屬性表示例 Dock窗口示例 自繪…

ubuntu 安裝 g++

文章目錄 前提一、安裝 g1.1 安裝1.2 驗證 前提 安裝 tflite_support 報錯 error: subprocess-exited-with-error RuntimeError: Unsupported compiler -- at least C11 support is needed!一、安裝 g 1.1 安裝 # 安裝編譯工具鏈(如g)和依賴庫 sudo …

【NLP 50、損失函數 KL散度】

目錄 一、定義與公式 1.核心定義 2.數學公式 3.KL散度與交叉熵的關系 二、使用場景 1.生成模型與變分推斷 2.知識蒸餾 3.模型評估與優化 4.信息論與編碼優化 三、原理與特性 1.信息論視角 ?2.優化目標 3.?局限性 四、代碼示例 代碼運行流程 核心代碼解析 抵達夢想靠的不是狂熱…

使用QT畫帶有透明效果的圖

分辨率&#xff1a;24X24 最大圓 代碼: #include <QApplication> #include <QImage> #include <QPainter>int main(int argc, char *argv[]) {QImage image(QSize(24,24),QImage::Format_ARGB32);image.fill(QColor(0,0,0,0));QPainter paint(&image);…

【Unity網絡編程知識】使用Socket實現簡單TCP通訊

1、Socket的常用屬性和方法 創建Socket TCP流套接字 Socket socketTcp new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 1.1 常用屬性 1&#xff09;套接字的連接狀態 socketTcp.Connected 2&#xff09;獲取套接字的類型 socketTcp.So…

青少年編程與數學 02-013 初中數學知識點 02課題、概要

青少年編程與數學 02-013 初中數學知識點 02課題、概要 一、數與代數二、圖形與幾何三、統計與概率四、綜合與實踐五、課程理念與目標 根據2022年版義務教育數學課程標準&#xff0c;初中數學知識點可以總結為以下四大領域。 一、數與代數 數與式 有理數與實數&#xff1a;理解…

深入探索 libarchive

深入探索 libarchive&#xff1a;跨平臺歸檔處理的終極解決方案 一、背景與歷史沿革 1.1 歸檔處理的演進之路 從1979年tar格式的誕生到現代云存儲時代&#xff0c;歸檔技術經歷了四個關鍵階段&#xff1a; Unix時代&#xff1a;tar/cpio主導系統備份互聯網黎明期&#xff1…

2025最新“科研創新與智能化轉型“暨AI智能體開發與大語言模型的本地化部署、優化技術實踐

第一章、智能體(Agent)入門 1、智能體&#xff08;Agent&#xff09;概述&#xff08;什么是智能體&#xff1f;智能體的類型和應用場景、典型的智能體應用&#xff0c;如&#xff1a;Google Data Science Agent等&#xff09; 2、智能體&#xff08;Agent&#xff09;與大語…