吳恩達機器學習筆記:正則化2

1.正則化線性回歸

對于線性回歸的求解,我們之前推導了兩種學習算法:一種基于梯度下降,一種基于正規方程。

正則化線性回歸的代價函數為: J ( θ ) = 1 2 m [ ∑ i = 1 m ( h θ ( x ( i ) ) ? y ( i ) ) 2 + λ ∑ j = 1 n θ j 2 ] J(\theta) = \frac{1}{2m} \left[ \sum_{i=1}^{m} \left( h_{\theta}(x^{(i)}) - y^{(i)} \right)^2 + \lambda \sum_{j=1}^{n} \theta_j^2 \right] J(θ)=2m1?[i=1m?(hθ?(x(i))?y(i))2+λj=1n?θj2?]
如果我們要使用梯度下降法令這個代價函數最小化,因為我們未對其進行正則化,所以梯度下降算法將分兩種情形:
在這里插入圖片描述
上面的算法中𝑗 = 1,2, . . . , 𝑛 時的更新式子進行調整可得:
θ j : = θ j ( 1 ? a λ m ) ? a 1 m ∑ i = 1 m ( h θ ( x ( i ) ) ? y ( i ) ) x j ( i ) \theta_j := \theta_j \left(1 - a \frac{\lambda}{m}\right) - a \frac{1}{m} \sum_{i=1}^{m} (h_{\theta}(x^{(i)}) - y^{(i)}) x_j^{(i)} θj?:=θj?(1?amλ?)?am1?i=1m?(hθ?(x(i))?y(i))xj(i)?可以看出,正則化線性回歸的梯度下降算法的變化在于,每次都在原有算法更新規則的基礎上令𝜃值減少了一個額外的值。

我們同樣也可以利用正規方程來求解正則化線性回歸模型,方法如下所示:
在這里插入圖片描述
圖中的矩陣尺寸為 (𝑛 + 1) ? (𝑛 + 1)

2.正則化的邏輯回歸模型

針對邏輯回歸問題,我們在之前已經學習過兩種優化算法:我們首先學習了使用梯度下降法來優化代價函數𝐽(𝜃),接下來學習了更高級的優化算法,這些高級優化算法需要你自己設計代價函數𝐽(𝜃)。
在這里插入圖片描述
自己計算導數同樣對于邏輯回歸,我們也給代價函數增加一個正則化的表達式,得到代價函數:
J ( θ ) = 1 m ∑ i = 1 m [ ? y ( i ) log ? ( h θ ( x ( i ) ) ) ? ( 1 ? y ( i ) ) log ? ( 1 ? h θ ( x ( i ) ) ) ] + λ 2 m ∑ j = 1 n θ j 2 J(\theta) = \frac{1}{m} \sum_{i=1}^{m} \left[ -y^{(i)} \log \left( h_{\theta}(x^{(i)}) \right) - (1 - y^{(i)}) \log \left( 1 - h_{\theta}(x^{(i)}) \right) \right] + \frac{\lambda}{2m} \sum_{j=1}^{n} \theta_j^2 J(θ)=m1?i=1m?[?y(i)log(hθ?(x(i)))?(1?y(i))log(1?hθ?(x(i)))]+2mλ?j=1n?θj2?
Python 代碼:

import numpy as np
def costReg(theta, X, y, learningRate):theta = np.matrix(theta)X = np.matrix(X)y = np.matrix(y)first = np.multiply(-y, np.log(sigmoid(X*theta.T)))second = np.multiply((1 - y), np.log(1 - sigmoid(X*theta.T)))reg = (learningRate / (2 * len(X))* np.sum(np.power(theta[:,1:the
ta.shape[1]],2))return np.sum(first - second) / (len(X)) + reg

要最小化該代價函數,通過求導,得出梯度下降算法為:在這里插入圖片描述
注:看上去同線性回歸一樣,但是知道 h 𝜃 ( 𝑥 ) = 𝑔 ( 𝜃 𝑇 𝑋 ) ?_𝜃(𝑥) = 𝑔(𝜃^𝑇𝑋) h𝜃?(x)=g(𝜃TX),所以與線性回歸不同

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

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

相關文章

Unity中的Resources加載

Unity的Resources加載是Unity引擎中一種在運行時動態加載資源(assets)的方式,允許開發者將資源放置在特定的Resources文件夾中,并通過代碼按名稱加載這些資源,而無需在場景中預先引用。這種方式在需要動態加載資源時非…

對Vue2響應式原理的理解-總結

根據這張圖進行總結 在組件實例初始化階段,通過 observe() 方法對 data 對象進行遞歸遍歷。在這個過程中,Vue 使用 Object.defineProperty() 為data 中的每個屬性定義 getter 和 setter 來攔截對象屬性的“讀取“操作和“寫入”操作。 Vue 的依賴追蹤是…

基于深度學習的智能音頻增強系統:技術與實踐

前言 在音頻處理領域,音頻增強技術一直是研究的熱點。音頻增強的目標是改善音頻信號的質量,去除噪聲、回聲等干擾,提高音頻的可聽性和可用性。傳統的音頻增強方法主要依賴于信號處理技術,如濾波器設計、頻譜減法等,但這…

從代碼學習深度強化學習 - DQN PyTorch版

文章目錄 前言DQN 算法核心思想Q-Learning 與函數近似經驗回放 (Experience Replay)目標網絡 (Target Network)PyTorch 代碼實現詳解1. 環境與輔助函數2. 經驗回放池 (ReplayBuffer)3. Q網絡 (Qnet)4. DQN 主類5. 訓練循環6. 設置超參數與開始訓練訓練結果與分析總結前言 歡迎…

AI與大數據如何驅動工業品電商平臺的智能決策?

在轟鳴的工廠里,一臺關鍵設備因某個密封圈失效而驟然停機。生產線停滯、訂單延誤、經濟損失每分鐘都在擴大。此刻,采購經理在工業品電商平臺上瘋狂搜索,卻迷失在海量零件參數與供應商信息中。工業品的沉默,往往意味著生產線的沉默…

連接器全解析:數據庫連接器和文件連接器的區別和聯系

目錄 一、數據庫連接器和文件連接器的基本概念 1. 數據庫連接器 2. 文件連接器 二、數據庫連接器和文件連接器的區別 1. 數據存儲方式 2. 數據處理能力 3. 數據安全性 4. 數據更新頻率 三、數據庫連接器和文件連接器的聯系 1. 數據交互 2. 數據處理流程 3. 應用場景…

Uniapp 中根據不同離開頁面方式處理 `onHide` 的方法

Uniapp 中根據不同離開頁面方式處理 onHide 的方法 在 Uniapp 開發中,onHide 生命周期會在頁面隱藏時觸發,但默認無法直接區分用戶是通過何種方式離開頁面的。不過我們可以通過組合其他鉤子函數和路由事件來實現對不同離開方式的識別和處理。 一、常見…

使用Visual Studio Code實現文件比較功能

Visual Studio Code 中如何使用文件比較功能? 在 Visual Studio Code (VS Code) 中使用“比較文件”功能來查看兩個文件之間的差異是非常直觀的。 以下是具體步驟: 使用“比較文件”功能 打開 VS Code: 啟動 VS Code 編輯器。 打開第一…

(40)華為云平臺cce中掛載nginx等配置文件方法

直接在負載中添加數據存儲: 將nginx.conf文件分別存放在集群中每個cce節點對應的路徑下即可(防止pod飄節點找不到nginx.conf) 2.直接添加配置項與密鑰: 添加對應的key與value即可(nginx.conf的具體配置寫在value中&am…

web布局09

Flexbox 是現代 Web 布局的主流技術之一,它提供了一種有效的方式來定位 、排序 和 分布元素,即使在視窗或元素大小不明確或動態變化時亦是如此。Flexbox 的優勢可以用一句話來表達:“在不需要復雜的計算之下,元素的大小和順序可以…

Redux and vue devtools插件下載

Redux and vue devtools插件下載 插件下載地址 收藏貓插件

深入理解SQLMesh中的SCD Type 2:緩慢變化維度的實現與管理

在數據倉庫和商業智能領域,處理隨時間變化的數據是一個常見且具有挑戰性的任務。緩慢變化維度(Slowly Changing Dimensions, SCD)是解決這一問題的經典模式。本文將深入探討SQLMesh中SCD Type 2的實現方式、配置選項以及實際應用場景。 什么是SCD Type 2&#xff1f…

如何保證MySQL與Redis數據一致性方案詳解

目錄 一、數據不一致性的根源 1.1 典型不一致場景 1.2 關鍵矛盾點 二、一致性保障策略 2.1 基礎策略:更新數據庫與緩存的時序選擇 (1)先更新數據庫,再刪除緩存 (2)先刪緩存,再更新數據庫…

JSON-RPC 2.0 與 1.0 對比總結

JSON-RPC 2.0 與 1.0 對比總結 一、核心特性對比 特性JSON-RPC 1.0JSON-RPC 2.0協議版本標識無顯式版本字段,依賴 method 和參數結構區分[5]。強制包含 "jsonrpc": "2.0" 字段,明確版本[1][4]。參數結構僅支持索引數組(…

C# 事件詳解

C# 事件 一、事件二、事件的應用三、事件的自定義聲明 一、事件 定義:“a thing that happens, especially something important” / “能夠發生的什么事情”角色:使對象或類具備通知能力的成員使用:用于對象或類間的動作協調與信息傳遞事件…

青少年編程與數學 01-011 系統軟件簡介 24 Kubernetes 容器編排系統

青少年編程與數學 01-011 系統軟件簡介 24 Kubernetes 容器編排系統 一、歷史沿革(一)起源1. Google 內部起源 (二)開源后的關鍵事件(三)社區治理 二、技術架構(一)分層設計哲學&…

[C++] : 談談IO流

C IO流 引言 談到IO流,有些讀者可能腦海中第一個想到的C程序員的最基礎的std::cout , std::cin兩個類的使用,對的,這個就是一個典型的IO流,所以逆天我們這篇文章會基于C IO流的原理和各種應用場景進行深入的解讀。 C…

Kafka 3.0零拷貝技術全鏈路源碼深度剖析:從發送端到日志存儲的極致優化

在分布式消息系統領域,Kafka憑借高吞吐、低延遲的特性成為行業首選。而零拷貝技術作為Kafka性能優化的核心引擎,貫穿于消息從生產者發送、Broker接收存儲到消費者讀取的全生命周期。本文基于Kafka 3.0版本,深入源碼層面,對零拷貝技…

利益驅動機制下開源AI智能名片鏈動2+1模式與S2B2C商城小程序的商業協同研究

摘要:在數字經濟時代,利益驅動作為用戶行為激勵的核心邏輯,正通過技術創新實現模式升級。本文基于“利益驅動”理論框架,結合“開源AI智能名片鏈動21模式S2B2C商城小程序”的技術架構,系統分析物質利益(返現…

pytest的前置后置條件

1. setUp()和tearDown() setup()函數主要是進行測試前的初始化工作,比如:在接口測試前面做一些前置的參數賦值,數據庫操作等等。 teardown()函數是測試后的清除工作,比如:參數還原或銷毀,數據庫的還原恢復…