深度學習筆記: 最詳盡解釋邏輯回歸 Logistic Regression

歡迎收藏Star我的Machine Learning Blog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star, 有問題可以隨時與我交流, 謝謝大家!

邏輯回歸概述

邏輯回歸類似于線性回歸,但預測的是某事物是否為真,而不是像大小這樣的連續值。邏輯回歸擬合的是“S”形的“邏輯函數”曲線,而不是一條直線。這個曲線從0到1,表示根據預測變量(例如體重),某個結果發生的概率(例如老鼠是否肥胖)。

邏輯回歸的工作原理

  • 重的老鼠:高概率肥胖。
  • 中等體重的老鼠:50%概率肥胖。
  • 輕的老鼠:低概率肥胖。

雖然邏輯回歸給出了老鼠是否肥胖的概率,但它通常用于分類。例如,如果老鼠肥胖的概率大于50%,我們就將其分類為肥胖,否則分類為“不肥胖”。

alt

邏輯回歸中的預測變量

邏輯回歸可以處理連續數據(如體重、年齡)和離散數據(如基因型、星座)。我們可以測試每個變量是否對預測肥胖有用。與普通回歸不同,我們不能輕易地比較復雜模型和簡單模型。相反,我們測試一個變量對預測的影響是否顯著不同于0。如果不是,這意味著該變量對預測沒有幫助。我們使用沃爾德檢驗來確定這一點。

例如,如果肥胖是由體重+基因型+年齡+星座預測的,而我們發現星座“完全無用”(統計術語表示“沒有幫助”),我們可以從模型中排除它,以節省時間和資源。

邏輯回歸能夠提供概率并使用連續和離散測量值對新樣本進行分類,使其成為一種流行的機器學習方法。

線性回歸與邏輯回歸的區別

線性回歸和邏輯回歸的一個主要區別是數據擬合的方法:

  • 線性回歸:使用“最小二乘法”擬合,最小化殘差的平方和。該方法允許計算R2來比較模型。
  • 邏輯回歸:使用“最大似然法”。它沒有殘差,因此不能使用最小二乘法或計算R2。

在邏輯回歸中,您:

  1. 選擇一個概率,根據體重縮放,觀察肥胖老鼠的概率。
  2. 使用此概率計算觀察到的該體重的非肥胖老鼠的可能性。
  3. 然后計算觀察到該老鼠的可能性。
  4. 對所有老鼠重復此過程并將所有這些可能性相乘。這是給定該曲線的數據的可能性。

然后,您:

  1. 移動曲線。
  2. 計算新曲線的數據可能性。
  3. 重復此過程,直到找到最大可能性的曲線。

總結

邏輯回歸可以用于分類樣本,并且可以使用不同類型的數據(例如體重、基因型)進行分類。它還幫助評估哪些變量對分類有用(例如在使用體重、基因型、年齡和星座預測肥胖時,星座可能“完全無用”)。

關鍵概念

邏輯函數

邏輯回歸的核心是邏輯函數(也稱為S型函數),它將任何實值數映射到[0, 1]范圍內:

σ ( z ) = 1 1 + e ? z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+e?z1?

這里, z z z是輸入特征的線性組合。對于二分類,邏輯函數輸出給定輸入點屬于正類的概率。

決策邊界

決策邊界是我們分類輸出的閾值。對于二分類,一個常見的閾值是0.5:

  • 如果輸出概率 ≥ 0.5 \geq 0.5 0.5,則分類為類別1。
  • 如果輸出概率 < 0.5 < 0.5 <0.5,則分類為類別0。

模型表示

假設

在邏輯回歸中,假設定義為:

h θ ( x ) = σ ( θ T x ) h_\theta(x) = \sigma(\theta^T x) hθ?(x)=σ(θTx)

其中, θ \theta θ是權重向量, x x x是輸入特征向量, σ \sigma σ是S型函數。

代價函數

邏輯回歸的代價函數是對數損失(也稱為二元交叉熵):

J ( θ ) = ? 1 m ∑ i = 1 m [ y ( i ) log ? ( h θ ( x ( i ) ) ) + ( 1 ? y ( i ) ) log ? ( 1 ? h θ ( x ( i ) ) ) ] J(\theta) = -\frac{1}{m} \sum_{i=1}^{m} \left[ y^{(i)} \log(h_\theta(x^{(i)})) + (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)})) \right] J(θ)=?m1?i=1m?[y(i)log(hθ?(x(i)))+(1?y(i))log(1?hθ?(x(i)))]

其中, m m m是訓練樣本的數量, y y y是實際標簽, h θ ( x ) h_\theta(x) hθ?(x)是預測概率。

優化

目標是找到使代價函數 J ( θ ) J(\theta) J(θ)最小化的參數 θ \theta θ。這通常使用梯度下降等優化算法來完成。

稀疏特征

在許多現實世界的應用中,特征空間是稀疏的,意味著大多數特征值為零。邏輯回歸在這些場景中特別有效,因為:

  • 它可以高效地處理高維數據。
  • 模型復雜度與特征數量線性相關,使其在計算上可行。

使用稀疏數據進行邏輯回歸時,我們通常使用稀疏矩陣表示(如壓縮稀疏行(CSR)或壓縮稀疏列(CSC)格式)來存儲輸入特征。
這些數據結構僅存儲非零元素及其索引,與密集矩陣相比顯著減少了內存使用。
邏輯回歸涉及矩陣乘法和其他線性代數操作。當數據存儲在稀疏矩陣中時,這些操作可以優化以忽略零元素,從而加快計算速度。

當使用正則化技術時,特別是L1正則化(也稱為套索正則化),邏輯回歸被認為是稀疏線性分類器。這種正則化技術可以迫使模型的一些系數正好為零,有效地忽略某些特征,從而導致稀疏模型。

該模型是線性的,因為它將對數幾率建模為輸入特征的線性組合。
log ? ( p 1 ? p ) = β 0 + β 1 x 1 + β 2 x 2 + … + β n x n \log \left( \frac{p}{1-p} \right) = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \ldots + \beta_n x_n log(1?pp?)=β0?+β1?x1?+β2?x2?++βn?xn?

在邏輯回歸的上下文中,“計算上可行”意味著:
訓練和預測的時間和內存需求隨著數據規模(特征和樣本數量)線性增長。

分布式訓練

為什么要分布式訓練?

隨著數據量的增加,在單臺機器上訓練模型會變得緩慢且不切實際。分布式訓練允許并行處理,使得能夠高效地處理大數據集。因此,在數據量大的情況下,我們需要使用分布式訓練:Spark中的邏輯回歸或交替方向乘子法(ADMM)。

Apache Spark

Apache Spark是一個強大的分布式數據處理工具。它可以用于在集群上的多臺機器上并行訓練邏輯回歸模型。

交替方向乘子法(ADMM)

ADMM是一種優化技術,它將問題分解為可以并行解決的較小子問題。這對于需要機器之間協調的分布式環境特別有用。

結論

邏輯回歸是一種強大且高效的二分類方法,特別適用于稀疏特征和大數據集。通過利用如Apache Spark的分布式訓練框架和ADMM等優化技術,邏輯回歸可以擴展以應對現代數據科學應用的需求。

邏輯回歸與對數幾率

概率與幾率

  • 概率 §:事件發生的可能性。

  • 幾率:事件發生的概率與其不發生的概率之比。

    幾率 = P 1 ? P \text{幾率} = \frac{P}{1 - P} 幾率=1?PP?

對數幾率(Logit)

  • 對數幾率是幾率的自然對數。

    對數幾率 = log ? ( P 1 ? P ) \text{對數幾率} = \log \left( \frac{P}{1 - P} \right) 對數幾率=log(1?PP?)

邏輯回歸模型

  • 在邏輯回歸中,事件發生概率的對數幾率(例如點擊的概率)被建模為輸入特征的線性組合。

  • 模型方程為:

    log ? ( P 1 ? P ) = θ 0 + θ 1 x 1 + θ 2 x 2 + … + θ n x n \log \left( \frac{P}{1 - P} \right) = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \ldots + \theta_n x_n log(1?PP?)=θ0?+θ1?x1?+θ2?x2?++θn?xn?

  • 這里, θ 0 + θ 1 x 1 + θ 2 x 2 + … + θ n x n \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \ldots + \theta_n x_n θ0?+θ1?x1?+θ2?x2?++θn?xn? 是特征的線性組合,通常表示為 z z z

連接 ( z ) 和對數幾率

  • 術語 z = θ 0 + θ 1 x 1 + θ 2 x 2 + … + θ n x n z = \theta_0 + \theta_1 x_1 + \theta_2 x_2 + \ldots + \theta_n x_n z=θ0?+θ1?x1?+θ2?x2?++θn?xn? 代表邏輯回歸模型中的對數幾率。盡管 z z z 本身不包含對數,它是邏輯函數的參數,將其映射到概率。

邏輯回歸中代價函數的梯度

邏輯回歸中代價函數 J ( θ ) J(\theta) J(θ) 對參數 θ \theta θ 的梯度為:

? J ( θ ) ? θ = x ( i ) ( h θ ( x ( i ) ) ? y ( i ) ) \frac{\partial J(\theta)}{\partial \theta} = x^{(i)} (h_\theta(x^{(i)}) - y^{(i)}) ?θ?J(θ)?=x(i)(hθ?(x(i))?y(i))

這個公式來自于為二分類問題的邏輯回歸代價函數導出的梯度。

推導

讓我們一步步推導這個公式。

1. 假設函數

在邏輯回歸中,假設函數 h θ ( x ) h_\theta(x) hθ?(x) 由應用于輸入特征線性組合的S型函數給出:

h θ ( x ) = σ ( θ T x ) = 1 1 + e ? θ T x h_\theta(x) = \sigma(\theta^T x) = \frac{1}{1 + e^{-\theta^T x}} hθ?(x)=σ(θTx)=1+e?θTx1?

2. 代價函數

邏輯回歸的代價函數是訓練數據的負對數似然,可以寫為:

J ( θ ) = ? 1 m ∑ i = 1 m [ y ( i ) log ? ( h θ ( x ( i ) ) ) + ( 1 ? y ( i ) ) log ? ( 1 ? h θ ( x ( i ) ) ) ] J(\theta) = -\frac{1}{m} \sum_{i=1}^{m} \left[ y^{(i)} \log(h_\theta(x^{(i)})) + (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)})) \right] J(θ)=?m1?i=1m?[y(i)log(hθ?(x(i)))+(1?y(i))log(1?hθ?(x(i)))]

3. 簡化代價函數

為了簡便起見,我們關注于單個訓練樣本 ( x ( i ) , y ( i ) ) (x^{(i)}, y^{(i)}) (x(i),y(i)) 的代價函數:

J ( θ ) = ? [ y ( i ) log ? ( h θ ( x ( i ) ) ) + ( 1 ? y ( i ) ) log ? ( 1 ? h θ ( x ( i ) ) ) ] J(\theta) = -\left[ y^{(i)} \log(h_\theta(x^{(i)})) + (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)})) \right] J(θ)=?[y(i)log(hθ?(x(i)))+(1?y(i))log(1?hθ?(x(i)))]

4. 對 θ j \theta_j θj? 的偏導數

為了找到梯度,我們需要計算 J ( θ ) J(\theta) J(θ) 對每個參數 θ j \theta_j θj? 的偏導數。我們將 z = θ T x ( i ) z = \theta^T x^{(i)} z=θTx(i),因此 h θ ( x ( i ) ) = σ ( z ) h_\theta(x^{(i)}) = \sigma(z) hθ?(x(i))=σ(z)

代價函數 J ( θ ) J(\theta) J(θ) θ j \theta_j θj? 的偏導數為:

? J ( θ ) ? θ j = ? [ ? ? θ j y ( i ) log ? ( h θ ( x ( i ) ) ) + ? ? θ j ( 1 ? y ( i ) ) log ? ( 1 ? h θ ( x ( i ) ) ) ] \frac{\partial J(\theta)}{\partial \theta_j} = -\left[ \frac{\partial}{\partial \theta_j} y^{(i)} \log(h_\theta(x^{(i)})) + \frac{\partial}{\partial \theta_j} (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)})) \right] ?θj??J(θ)?=?[?θj???y(i)log(hθ?(x(i)))+?θj???(1?y(i))log(1?hθ?(x(i)))]

使用鏈式法則,我們有:
? ? θ j h θ ( x ( i ) ) = ? σ ( z ) ? z ? ? z ? θ j = σ ( z ) ( 1 ? σ ( z ) ) ? z ? θ j = h θ ( x ( i ) ) ( 1 ? h θ ( x ( i ) ) ) x j ( i ) \frac{\partial}{\partial \theta_j} h_\theta(x^{(i)}) = \frac{\partial \sigma(z)}{\partial z} \cdot \frac{\partial z}{\partial \theta_j} = \sigma(z) (1 - \sigma(z)) \frac{\partial z}{\partial \theta_j} = h_\theta(x^{(i)}) (1 - h_\theta(x^{(i)})) x_j^{(i)} ?θj???hθ?(x(i))=?z?σ(z)???θj??z?=σ(z)(1?σ(z))?θj??z?=hθ?(x(i))(1?hθ?(x(i)))xj(i)?

5. 每項的導數

現在,計算代價函數中每項的偏導數:

? ? θ j y ( i ) log ? ( h θ ( x ( i ) ) ) = y ( i ) 1 h θ ( x ( i ) ) ? h θ ( x ( i ) ) ? θ j = y ( i ) 1 h θ ( x ( i ) ) h θ ( x ( i ) ) ( 1 ? h θ ( x ( i ) ) ) x j ( i ) = y ( i ) ( 1 ? h θ ( x ( i ) ) ) x j ( i ) \frac{\partial}{\partial \theta_j} y^{(i)} \log(h_\theta(x^{(i)})) = y^{(i)} \frac{1}{h_\theta(x^{(i)})} \frac{\partial h_\theta(x^{(i)})}{\partial \theta_j} = y^{(i)} \frac{1}{h_\theta(x^{(i)})} h_\theta(x^{(i)}) (1 - h_\theta(x^{(i)})) x_j^{(i)} = y^{(i)} (1 - h_\theta(x^{(i)})) x_j^{(i)} ?θj???y(i)log(hθ?(x(i)))=y(i)hθ?(x(i))1??θj??hθ?(x(i))?=y(i)hθ?(x(i))1?hθ?(x(i))(1?hθ?(x(i)))xj(i)?=y(i)(1?hθ?(x(i)))xj(i)?

? ? θ j ( 1 ? y ( i ) ) log ? ( 1 ? h θ ( x ( i ) ) ) = ( 1 ? y ( i ) ) 1 1 ? h θ ( x ( i ) ) ? ( 1 ? h θ ( x ( i ) ) ? θ j = ( 1 ? y ( i ) ) 1 1 ? h θ ( x ( i ) ) ( ? h θ ( x ( i ) ) ) x j ( i ) = ? ( 1 ? y ( i ) ) h θ ( x ( i ) ) x j ( i ) \frac{\partial}{\partial \theta_j} (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)})) = (1 - y^{(i)}) \frac{1}{1 - h_\theta(x^{(i)})} \frac{\partial (1 - h_\theta(x^{(i)})}{\partial \theta_j} = (1 - y^{(i)}) \frac{1}{1 - h_\theta(x^{(i)})} (-h_\theta(x^{(i)})) x_j^{(i)} = - (1 - y^{(i)}) h_\theta(x^{(i)}) x_j^{(i)} ?θj???(1?y(i))log(1?hθ?(x(i)))=(1?y(i))1?hθ?(x(i))1??θj??(1?hθ?(x(i))?=(1?y(i))1?hθ?(x(i))1?(?hθ?(x(i)))xj(i)?=?(1?y(i))hθ?(x(i))xj(i)?

6. 合并項

合并這些結果:

? J ( θ ) ? θ j = ? [ y ( i ) ( 1 ? h θ ( x ( i ) ) ) x j ( i ) + ( 1 ? y ( i ) ) ( ? h θ ( x ( i ) ) ) x j ( i ) ] \frac{\partial J(\theta)}{\partial \theta_j} = - \left[ y^{(i)} (1 - h_\theta(x^{(i)})) x_j^{(i)} + (1 - y^{(i)}) (- h_\theta(x^{(i)})) x_j^{(i)} \right] ?θj??J(θ)?=?[y(i)(1?hθ?(x(i)))xj(i)?+(1?y(i))(?hθ?(x(i)))xj(i)?]

? J ( θ ) ? θ j = ? [ y ( i ) x j ( i ) ? y ( i ) h θ ( x ( i ) ) ) x j ( i ) ? ( 1 ? y ( i ) ) h θ ( x ( i ) ) ) x j ( i ) ] \frac{\partial J(\theta)}{\partial \theta_j} = - \left[ y^{(i)} x_j^{(i)} - y^{(i)} h_\theta(x^{(i)})) x_j^{(i)} - (1 - y^{(i)}) h_\theta(x^{(i)})) x_j^{(i)} \right] ?θj??J(θ)?=?[y(i)xj(i)??y(i)hθ?(x(i)))xj(i)??(1?y(i))hθ?(x(i)))xj(i)?]

? J ( θ ) ? θ j = ? [ y ( i ) x j ( i ) ? h θ ( x ( i ) ) ) x j ( i ) ] \frac{\partial J(\theta)}{\partial \theta_j} = - \left[ y^{(i)} x_j^{(i)} - h_\theta(x^{(i)})) x_j^{(i)} \right] ?θj??J(θ)?=?[y(i)xj(i)??hθ?(x(i)))xj(i)?]

? J ( θ ) ? θ j = x j ( i ) ( h θ ( x ( i ) ) ? y ( i ) ) \frac{\partial J(\theta)}{\partial \theta_j} = x_j^{(i)} (h_\theta(x^{(i)}) - y^{(i)}) ?θj??J(θ)?=xj(i)?(hθ?(x(i))?y(i))

向量形式

用向量形式表達所有參數:

? θ J ( θ ) = x ( i ) ( h θ ( x ( i ) ) ? y ( i ) ) \nabla_\theta J(\theta) = x^{(i)} (h_\theta(x^{(i)}) - y^{(i)}) ?θ?J(θ)=x(i)(hθ?(x(i))?y(i))

其中:

  • x ( i ) x^{(i)} x(i) 是第i個樣本的特征向量。
  • h θ ( x ( i ) ) h_\theta(x^{(i)}) hθ?(x(i)) 是第i個樣本的預測概率。
  • y ( i ) y^{(i)} y(i) 是第i個樣本的實際標簽。
總結

邏輯回歸中代價函數的梯度為:

? J ( θ ) ? θ = x ( i ) ( h θ ( x ( i ) ) ? y ( i ) ) \frac{\partial J(\theta)}{\partial \theta} = x^{(i)} (h_\theta(x^{(i)}) - y^{(i)}) ?θ?J(θ)?=x(i)(hθ?(x(i))?y(i))

這個梯度告訴我們如何調整模型參數 θ \theta θ 來最小化代價函數,這是梯度下降優化中訓練邏輯回歸模型的關鍵組成部分。

代碼實現

def dJ(theta, X, y, i):return np.array(X[i]) * (-y[i] + sigmoid(np.matmul(np.array(X[i]), theta)))def train(theta, X, y, num_epoch, learning_rate):for num_epoch in range(int(num_epoch)):for i in range(len(X)):theta -= float(learning_rate) * dJ(theta, X, y,i )return thetadef predict(update_theta, X):y_pred = []for i in range(len(X)):if sigmoid(np.matmul(X[i], update_theta)) >= 0.5:y_pred.append(1)else:y_pred.append(0)return y_pred

參考資料:

  • 在YouTube上觀看視頻
  • Alex Xu的《機器學習系統設計》

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

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

相關文章

K8S 集群節點縮容

環境說明&#xff1a; 主機名IP地址CPU/內存角色K8S版本Docker版本k8s231192.168.99.2312C4Gmaster1.23.1720.10.24k8s232192.168.99.2322C4Gwoker1.23.1720.10.24k8s233&#xff08;需下線&#xff09;192.168.99.2332C4Gwoker1.23.1720.10.24 1. K8S 集群節點縮容 當集群中有…

爬蟲中如何創建Beautiful Soup 類的對象

在使用 lxml 庫解析網頁數據時&#xff0c;每次都需要編寫和測試 XPath 的路徑表達式&#xff0c;顯得非常 煩瑣。為了解決這個問題&#xff0c; Python 還提供了 Beautiful Soup 庫提取 HTML 文檔或 XML 文檔的 節點。 Beautiful Soup 使用起來很便捷&#xff0c;…

計算機中的浮點數 - 為什么十進制的 0.1 在計算機中是一個無限循環小數

計算機中的浮點數 - 為什么十進制的 0.1 在計算機中是一個無限循環小數 flyfish 用 float 或 double 來存儲小數時不是精確值 浮點數在計算機中是以二進制形式存儲的&#xff0c;通常使用 IEEE 754 標準。浮點數由三個部分組成&#xff1a;符號位、指數位和尾數位。 先看一個…

【2024】LeetCode HOT 100——圖論

目錄 1. 島嶼數量1.1 C++實現1.2 Python實現1.3 時空分析2. 腐爛的橘子2.1 C++實現2.2 Python實現2.3 時空分析3. 課程表3.1 C++實現3.2 Python實現3.3 時空分析4. 實現 Trie (前綴樹)4.1 C++實現4.2 Python實現4.3 時空分析1. 島嶼數量 ?? 原題鏈接:200. 島嶼數量 經典的Fl…

鴻蒙應用開發之OpenGL的EGL

要開發OpenGL程序,那么這個程序就需要與操作系統進行交流,由于存在不同的操作系統,這樣就面臨著開發不同的程序的困難,為了解決這個問題,就引入了一個中間層的軟件庫,這個軟件庫叫做EGL。 眾所周知,Opengl是跨平臺的,那么面對各種平臺的差異性,Opengl是如何抹平而做到…

CleanMyMacX2024讓你的蘋果電腦重獲生機!

在電腦使用過程中&#xff0c;你是否遇到過這樣的問題&#xff1a;運行速度變慢、磁盤空間不足、系統出現故障……這些問題不僅影響你的工作效率&#xff0c;還會讓電腦的使用壽命大大縮短。那么&#xff0c;如何輕松解決這些問題呢&#xff1f;答案就是CleanMyMac X。 CleanM…

蘇州大廠面試題JAVA 面試集

基礎知識1、強引用、軟引用、弱引用、幻象引用有什么區別?(java基礎) 答案參考:https://time.geekbang.org/column/article/6970 2、 對比Hashtable、HashMap、TreeMap有什么不同?(數據結構) 答案參考:https://time.geekbang.org/column/article/8053 3、一個線程調用兩次…

ubuntu20.04安裝kazam桌面屏幕錄制工具

在Ubuntu 20.04上安裝Kazam可以通過以下步驟進行&#xff1a; 1.打開終端&#xff1a;可以通過按下Ctrl Alt T組合鍵來打開終端。 2.添加PPA源&#xff1a;Kazam不再在官方Ubuntu倉庫中&#xff0c;但可以通過PPA源進行安裝。在終端中輸入以下命令來添加PPA&#xff1a; su…

AI繪畫:P圖如此絲滑,OpenAI上線ChatGPT圖像編輯功能,DallE-3繪畫如此簡單

大家好我是極客菌&#xff0c;用ChatGPT的DallE-3進行AI繪畫對很多人來說是一個門檻很低的選擇&#xff0c;現在OpenAI又重磅上線了圖像編輯器功能(DallE editor)&#xff0c;可以很方便的對圖片的局部進行修改&#xff0c;而且支持中文&#xff0c;主打一個功能強大且好用&…

Jquery 獲得Form下的所有text、checkbox等表單的值

Jquery使用表單我主要是想獲得某一個表單下的所有text獲得checkbox的值: 可以這樣寫: var parameter{}; $("input[typetext]",document.forms[0]).each(function(){ alert(this.name); }); 獲得所有名為hobby的選中的checkbox的值和form2下的所有text的值 function s…

【云原生】Prometheus 使用詳解

目錄 一、前言 二、服務監控概述 2.1 什么是微服務監控 2.2 微服務監控指標 2.3 微服務監控工具 三、Prometheus概述 3.1 Prometheus是什么 3.2 Prometheus 特點 3.3 Prometheus 架構圖 3.3.1 Prometheus核心組件 3.3.2 Prometheus 工作流程 3.4 Prometheus 應用場景…

Elasticsearch 配置

Elasticsearch提供良好的默認設置&#xff0c;并且只需要很少的配置。可以使用群集更新設置API在正在運行的群集上更改大多數設置。 配置文件應包含特定于節點的設置&#xff08;如node.name和paths&#xff09;&#xff0c;或節點為了能夠加入集群而需要的設置&#xff0c;如…

webrtc-m120編譯 (m126)

WebRTC實時互動入門 環境 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.4 LTS Release: 22.04 Codename: jammyuname -a Linux yqw-Lenovo-XiaoXinPro-13ARE-2020

Agent技術在現代軟件開發與應用中的探索

一、引言 隨著計算機科學的快速發展&#xff0c;Agent技術作為人工智能和分布式計算領域的重要分支&#xff0c;已經滲透到軟件開發的各個方面。Agent技術通過賦予軟件實體自主性和交互性&#xff0c;使得軟件系統能夠更加智能、靈活地響應環境變化和用戶需求。本文將對Agent技…

java基于ssm+jsp 個人交友網站

1前臺首頁功能模塊 個人交友網站&#xff0c;在系統首頁可以查看首頁、交友信息、線下活動、系統公告、論壇信息、我的、跳轉到后臺、客服等內容&#xff0c;如圖1所示。 圖1系統功能界面圖 用戶注冊&#xff0c;在用戶注冊頁面可以填寫用戶賬號、密碼、用戶姓名、年齡等信息進…

深入理解 Spring MVC:原理與架構解析

文章目錄 前言一、MVC二、Spring MVC三、Spring MVC 工作流程四、小結推薦閱讀 前言 Spring MVC 是一種基于 Java 的 Web 應用開發框架&#xff0c;它通過模型-視圖-控制器&#xff08;Model-View-Controller, MVC&#xff09;的設計模式來組織和管理 Web 應用程序。本文將深入…

java基于ssm+jsp 二手車交易網站

1用戶功能模塊 定金支付管理&#xff0c;在定金支付管理頁面可以填寫訂單編號、車型、品牌、分類、車身顏色、售價、訂金金額、付款日期、備注、用戶名、姓名、聯系方式、是否支付等信息&#xff0c;進行詳情、修改&#xff0c;如圖1所示。 圖1定金支付管理界面圖 預約到店管…

1.搭建篇——帝可得后臺管理系統

目錄 前言項目搭建一、搭建后端項目1.初始化項目Maven構建 2.MySQL相關導入sql配置信息 3. Redis相關啟動配置信息 4.項目運行 二、 搭建前端項目1.初始化項目2.安裝依賴3.項目運行 三、問題 前言 提示&#xff1a;本篇講解 帝可得后臺管理系統 項目搭建 項目搭建 一、搭建后…

單段時間最優S型速度規劃算法

一&#xff0c;背景 在做機械臂軌跡規劃的單段路徑的速度規劃時&#xff0c;除了參考《Trajectory Planning for Automatic Machines and Robots》等文獻之外&#xff0c;還在知乎找到了這位大佬 韓冰 寫的在線規劃方法&#xff1a; https://zhuanlan.zhihu.com/p/585253101/e…

單片機的學習(15)--LCD1602

LCD1602 14.1LCD1602的基礎知識1.LCD1602介紹2.引腳及應用電路3.內部結構框圖4.時序結構5.LCD1602指令集6.字符值7.LCD1602操作流程 14.2LCD1602功能函數代碼1.顯示一個字符&#xff08;1&#xff09;工程目錄&#xff08;2&#xff09;main.c函數&#xff08;3&#xff09;LCD…