【深度學習】機器學習基礎

機器學習就是讓機器具備找一個函數的能力

帶有未知的參數的函數稱為模型

通常一個模型的修改,往往來自于對這個問題的理解,即領域知識

損失函數

  • 平均絕對誤差(Mean Absolute Error,MAE)
    在這里插入圖片描述
  • 均方誤差(Mean Squared Error,MSE)

加粗樣式

  • 交叉熵(cross entropy):有一些任務中 y 和 ^y 都是概率分布,這個時候可能會選擇交叉熵

梯度下降

解一個最優化的問題。把未知的參數找一個數值出來,看代哪一個數值進去可以讓損失 L 的值最小。
梯度下降(gradient descent)是經常會使用優化的方法

假設只有一個未知參數w,怎么樣找一個 w 讓損失的值最小。
首先要隨機選取一個初始的點 w0,計算在 w 等于 w0 的時候,參數 w 對損失L的微分在這里插入圖片描述

計算在這一個點,在 w0 這個位置的誤差表面的切線斜率,也就是這一條藍色的虛線,它的斜率,如果這一條虛線的斜率是負的,代表說左邊比較高,右邊比較低。在這個位置附近,左邊比較高,右邊比較低。如果左邊比較高右邊比較低的話,就把 w 的值變大,就可以讓損失變小。如果算出來的斜率是正的,就代表左邊比較低右邊比較高。左邊比較低右邊比較高,如果左邊比較低右邊比較高的話,就代表把 w 變小了,w 往左邊移,可以讓損失的值變小
在這里插入圖片描述

w左右移動的步伐大小取決于:

  • 1、斜率,斜率大步伐就跨大一點,斜率小步伐就跨小一點
  • 2、學習率(learning rate)η 也會影響步伐大小。學習率是自己設定的,如果 η 設大一點,每次參數更新就會量大,學習可能就比較快。如果 η 設小一點,參數更新就很慢,每次只會改變一點點參數的數值。(在做機器學習,需要自己設定,不是機器自己找出來的,稱為超參數(hyperparameter))

所以w的更新如下:
在這里插入圖片描述

不斷地移動 w 的位置,最后會停下來。往往有兩種情況會停下來

  • 1、設定更新次數的超參數:上限可能會設為 100 萬次,參數更新 100 萬次后,就不再更新了
  • 2、當不斷調整參數,調整到一個地方,它的微分的值就是這一項,算出來正好是 0 的時候,如果這一項正好算出來是 0,0 乘上學習率 η 還是 0,所以參數就不會再移動位置

局部最小值和全局最小值問題
梯度下降有一個很大的問題,沒有找到真正最好的解,沒有找到可以讓損失最小的 w。

如果在梯度下降中,w0 是隨機初始的位置,也很有可能走到 wT 這里,訓練就停住了,無法再移動 w 的位置。(事實上局部最小值是一個假問題,在做梯度下降的時候,真正面對的難題不是局部最小值。)

在這里插入圖片描述

對于有多個未知參數,w、b。
在這里插入圖片描述

激活函數

在這里插入圖片描述

線性模型,不管如何設置 w 跟 b,永遠制造不出紅色線,永遠無法用線性模型制造紅色線。顯然線性模型有很大的限制,這一種來自于模型的限制稱為模型的偏差,無法模擬真實的情況。

所以需要寫一個更復雜的、更有靈活性的、有未知參數的函數。紅色的曲線可以看作是一個常數再加上一群 Hard Sigmoid 函數。Hard Sigmoid 函數的特性是當輸入的值,當 x 軸的值小于某一個閾值(某個定值)的時候,大于另外一個定值閾值的時候,中間有一個斜坡。所以它是先水平的,再斜坡,再水平的。所以紅色的線可以看作是一個常數項加一大堆的藍色函數(Hard Sigmoid)
在這里插入圖片描述

假設 x 跟 y 的關系非常復雜也沒關系,就想辦法寫一個帶有未知數的函數。直接寫 Hard Sigmoid 不是很容易,但是可以用一條曲線來理解它,用Sigmoid 函數來逼近 Hard Sigmoid,

Sigmoid 函數的表達式為
在這里插入圖片描述
在這里插入圖片描述

Hard Sigmoid 可以看作是兩個修正線性單元(Rectified Linear Unit,ReLU)的加總
在這里插入圖片描述

Sigmoid 和 ReLU 是最常見的激活函數

https://blog.csdn.net/caip12999203000/article/details/127067360

批量

實際使用梯度下降的時候,會把 N 筆數據隨機分成一個一個的批量(batch),一組一組的。每個批量里面有 B 筆數據,所以本來有 N筆數據,現在 B 筆數據一組,一組叫做批量
本來是把所有的數據拿出來算一個損失,現在只拿一個批量里面的數據出來算一個損失
所以實現上每次會先選一個批量,用該批量來算 L1,根據 L1 來算梯度,再用梯度來更新參數,接下來再選下一個批量算出 L2,根據 L2 算出梯度,再更新參數,再取下一個批量算出 L3,根據 L3 算出梯度,再用 L3 算出來的梯度來更新參數。
在這里插入圖片描述
所以并不是拿 L 來算梯度,實際上是拿一個批量算出來的 L1, L2, L3 來計算梯度。把所有的批量都看過一次,稱為一個回合(epoch),每一次更新參數叫做一次更新。

舉個例子,假設有 10000 筆數據,即 N 等于 10000,批量的大小是設 10,也就 B 等于 10。10000 個樣本(example)形成了 1000 個批量,所以在一個回合里面更新了參數 1000 次,所以一個回合并不是更新參數一次,在這個例子里面一個回合,已經更新了參數 1000 次了。

所以做了一個回合的訓練其實不知道它更新了幾次參數,有可能 1000 次,也有可能 10 次,取決于它的批量大小有多大。 批量大小是超參數

深度學習

Sigmoid 或 ReLU 稱為神經元(neuron),很多的神經元稱為神經網絡(neural network)
每一排稱為一層,稱為隱藏層(hidden layer),很多的隱藏層就“深”,這套技術稱為深度學習
在這里插入圖片描述
深度學習的訓練會用到反向傳播(BackPropagation,BP),其實它就是比較有效率、算梯度的方法。

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

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

相關文章

全面解讀OA系統:功能、價值及應用

反復溝通、來回跑腿,還易出錯; 紙筆記錄、excel統計,效率低耽誤事; 檔案、物資,查不清記錄、看不了實時; 部門各做各的、各管各的,溝通配合難…… 你有沒有經歷過諸如上述的繁瑣辦公流程&am…

打包下載怎么實現?

down_zbUploadClearfile({ //http接口 name:1 time:7, }).then(async (res) > { if (res) { this.selectData []; const zip new JSZip(); zip.generateAsync({ type: "object" }).then(() > { const downloadUrl window.URL.createObjectURL(res); …

Python中使用MySQL模糊查詢的方法

1.方法一:使用pymysql庫的方法 當在Python中使用MySQL進行模糊查詢時,我們通常會使用pymysql或mysql-connector-python這樣的庫來連接MySQL數據庫并執行查詢。以下是一個使用pymysql進行模糊查詢的詳細示例,包括安裝庫、連接數據庫、執行查詢…

MSA 助力實驗室測量更穩定、更準確

在汽車制造、石油化工、電子制造等行業,產品的質量和性能需要通過準確的測量來保證。但是由于測量設備的誤差、操作人員的主觀影響以及環境條件的干擾等因素會導致測量系統出現各種問題,且這些問題會導致測量結果不準確,從而影響產品質量。 隨著工業信息化的迅速發展, 各行業對…

松下的臺燈值得入手嗎?書客、飛利浦熱門品牌橫評分享!

自從兒子步入小學,他埋首于書桌前的時光愈發冗長,很欣慰他能夠認真專心學習,卻也隱隱擔憂他的視力健康。在了解視力健康中發現長時間在過暗或過亮的光線環境下學習,會導致瞳孔頻繁地收縮與擴張,極易引發視覺疲勞。更令…

Python 基礎:用 json 模塊存儲和讀取數據

目錄 一、用 json 存儲數據二、用 json 讀取數據 遇到看不明白的地方,歡迎在評論中留言吶,一起討論,一起進步! 本文參考:《Python編程:從入門到實踐(第2版)》 用戶關閉程序時&#…

HTML5 WebSocket:實時通信的新篇章

隨著互聯網技術的飛速發展,實時交互成為現代Web應用不可或缺的一部分。在這一背景下,HTML5引入了WebSocket協議,徹底改變了傳統的客戶端與服務器之間的通信方式,為開發者提供了一種高效、全雙工、低延遲的數據傳輸通道。本文將深入…

構建LangChain應用程序的示例代碼:45、如何利用大型語言模型(LLMs)和 Python 庫 SymPy 進行符號數學計算的教程

這個文件是一個關于如何使用大型語言模型和 Python 進行符號數學計算的示例。它主要展示了如何求解導數、積分、線性方程和微分方程。底層技術棧包括 SymPy,一個 Python 的符號數學庫,以及 OpenAI 的 API,用于生成確定性的結果。 LLM 符號數…

無門檻代理SSL證書入門指南

隨著網絡安全問題日益凸顯,SSL證書作為保障網絡數據傳輸安全的重要手段,其市場需求也在持續增長。因此,成為SSL證書代理不僅具有巨大的商業價值,更是提升網絡安全保障能力的關鍵步驟。本文將為您介紹如何快速無門檻代理SSL證書的方…

GMSB文章六:微生物SCFA關聯分析

歡迎大家關注全網生信學習者系列: WX公zhong號:生信學習者Xiao hong書:生信學習者知hu:生信學習者CDSN:生信學習者2 介紹 微生物短鏈脂肪酸(SCFAs)是由腸道微生物發酵膳食纖維、抗性淀粉、低…

AI寫作助力:如何用AI降重工具快速提升論文原創性?

高查重率是許多畢業生的困擾。通常,高查重率源于過度引用未經修改的參考資料和格式錯誤。傳統的降重方法,如修改文本和增添原創內容,雖必要但耗時且成效不一。 鑒于此,應用AI工具進行AIGC降重成為了一個高效的解決方案。這些工具…

抖音集成:通過MessageBox引領數字化營銷新潮流

抖音集成:通過MessageBox引領數字化營銷新潮流 在數字化營銷的大潮中,企業需要不斷探索新的方式來優化其營銷策略,以抓住更多的市場機會。抖音作為一款全球知名的短視頻社交平臺,憑借其龐大的用戶群體和高度互動的特性&#xff0…

v1.0.4優雅草超級站長工具開發進度更新·增加vip兌換功能·增加每個頁面批量查詢和清空功能

https://doc.youyacao.com/9/2157 v1.0.4優雅草超級站長工具開發進度更新增加vip兌換功能增加每個頁面批量查詢和清空功能 演示地址-可測試 https://test2.youyacao.com 介紹 本產品是一款針對站長使用的工具,針對網站域名的多維信息查詢工具,本產品…

OpenAI推遲ChatGPT高級語音模式發布!谷歌將推出明星網紅AI聊天機器人|AI日報

文章推薦 時序預測雙飛輪,全面超越Transformer,純MLP模型實現性能效能齊飛 OpenAI將終止對我國提供API服務,國內大模型將迎來“六小強”格局!|AI日報 推遲ChatGPT高級語音模式發布!OpenAI將計劃在秋季向…

elasticsearch重置密碼

0 案例背景 Elasticsearch三臺集群環境,對外端口為6200,忘記elasticsearch密碼,進行重置操作 注:若無特殊說明,三臺服務器均需進行處理操作 1 停止es /rpa/bin/elasticsearch.sh stop 檢查狀態 ps -ef|grep elast…

如何在Spring Boot應用中集成MongoDB數據庫

如何在Spring Boot應用中集成MongoDB數據庫 大家好,我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿! 在現代應用開發中,數據庫是存儲和管理數據的核心。Mon…

視頻監控管理平臺LntonCVS智能視頻監控平臺系統詳細介紹

安防視頻監控平臺LntonCVS以其卓越的靈活性和便捷的部署特性在眾多同類產品中脫穎而出。它不僅支持多種主流標準協議,如國標GB28181、RTSP/Onvif、RTMP等,還兼容了海康Ehome、海大宇等廠家的私有協議和SDK接入,為用戶提供了更加豐富的選擇。 …

Android 簡單的so層逆向

前言 最近搞了一下安卓。簡單學習記錄一下。 目標程序: xiao shui mian 也就是某個參數的逆向 準備環境 安卓機scrcpyadbfrida解包軟件(不列舉了) 這種環境安裝這里就不多說了。教程也很多。 參數逆向分析 先抓包看看參數 這里我使用…

【仿真建模-anylogic】ViewArea解析

Author:趙志乾 Date:2024-06-27 Declaration:All Right Reserved!!! 1. 應用場景 view area又叫視圖區域,其作用是在presentation中標記一塊區域,便于動畫演示過程中快速切換可視區…

海豚調度調優 | 如何解決任務被禁用出現的Bug

💡 本系列文章是 DolphinScheduler 由淺入深的教程,涵蓋搭建、二開迭代、核心原理解讀、運維和管理等一系列內容。適用于想對 DolphinScheduler了解或想要加深理解的讀者。 祝開卷有益。 本系列教程基于 DolphinScheduler 2.0.5 做的優化。&#xff…