學點概率論,打破認識誤區

概率論是統計分析和機器學習的核心。掌握概率論對于理解和開發穩健的模型至關重要,因為數據科學家需要掌握概率論。本博客將帶您了解概率論中的關鍵概念,從集合論的基礎知識到高級貝葉斯推理,并提供詳細的解釋和實際示例。

目錄

·簡介
·基本集合論
·基本概率概念
·隨機變量和期望
·邊際、聯合和條件概率
·概率規則:邊際化和乘積
·貝葉斯定理
·概率分布
·使用概率進行學習
?? ·貝葉斯推理
·在 Python 中實現概率概念
·玩具示例:拋硬幣的貝葉斯推理
·結論
·行動呼吁

介紹

概率論是量化不確定性的數學框架。它使我們能夠對隨機現象進行建模和分析,在統計學、機器學習和數據科學中不可或缺。概率論幫助我們做出明智的決策、評估風險并建立預測模型。

基本集合論

首先,讓我們定義幾個關鍵術語。

集合(Set)是對象的集合。這些對象稱為集合的元素。

集合a子集b是其元素均為a的元素的集合,即𝑏 ? 𝑎

空間?S?是最大的集合;因此,所有其他集合都在考慮之中𝑠? ? 𝑆

空集?O?是空集或零集。O?包含任何元素。

讓我們將集合論的組成部分形象化。

維恩圖描繪了集合邏輯和運算。最上面的圖顯示樣本空間S,其中集合ABC作為子集(即,B是A的子集,而C是B的子集;因此, C 是A的子集)。其余行描繪了兩個集合,AB。文本包含每個集合的描述和數學。作者創建了視覺效果。

上圖描繪了我們在使用集合時遇到的各種場景。讓我們來描述集合論的不同方面。鼓勵讀者在閱讀定義和回顧數學表達式時參考每個小節后面的視覺圖,以加深他們的直覺。

子集

子集𝑏 ? 𝑎,或者集合a?包含b,如果b的所有元素也是a的元素,則𝑎 ? 𝑏。也就是說,

英文:語句“如果b???a,且c???b,則c???a?”表達了集合包含的傳遞性。如果集合b是集合a的子集,集合c是集合b的子集,則c也一定是a的子集。第二項“以下關系成立:a???a0???aa???S?”強調了集合包含的基本性質。因此:

  • a???a表示每個集合都是其自身的子集。
  • 0?a表示空集是任意集合a的子集。
  • a?S表示任意集合a都是全集S的子集。

集合運算

相等:兩個集合相等,則a?的每個元素都必須在b中,而b的每個元素都必須在a中。從數學上來說:

并集(和):兩個集合a?b的并集是由ab?或兩者的所有元素組成的集合。并集運算滿足以下性質:

集合a?b交集(積)由集合ab共有的所有元素組成。交集運算滿足以下屬性:

互斥集

如果兩個集合ab沒有共同元素,我們稱它們互斥或不相交,即

補充

集合 a 的補集 a 定義為由 S 中所有不屬于 a 的元素組成的集合。補集滿足以下性質:

兩集合之差

a???b的差集是a中不屬于b的元素的集合差集滿足以下性質:

基本概率概念

樣本空間(S:隨機實驗的所有可能結果的集合。

事件(E):樣本空間的子集,包含特定結果或一組結果。

隨機變量 (RV):可能值為隨機現象的數值結果的變量。例如:人的身高、拋硬幣或擲骰子的結果。

事件的概率

事件E的概率(即P(E))是衡量該事件發生可能性的指標。它滿足以下性質:

例子

考慮一個公平的六面骰子。樣本空間為S = {1, 2, 3, 4, 5, 6}。擲出 3 的概率為 P({3}) = 1/6。擲出 1 或 3 呢?P({1, 3}) = 2/6 = 1/3。最后,擲出偶數呢?P({2, 4, 6}) = 3/6 = 1/2。

隨機變量和期望

請注意,我們在本部分中使用了求和與積分。請參閱本系列的上一部分,其中涵蓋了微積分和線性代數。

機器學習的基礎數學

深入探究向量范數、線性代數、微積分

pub.towardsai.net

隨機變量(RV)

RV 是一種變量,其值由隨機實驗的結果決定。有兩種類型:離散隨機變量(取可數個值)和連續隨機變量(取不可數個值)。

例如離散隨機變量的分布:

  • 它可以取每個值的概率。
  • 符號:P(X=xi)。
  • 這些數字滿足以下條件:

期望和方差

期望值(平均值):隨機變量的平均值。

  • 對于離散隨機變量:

這個期望值(即平均值)是一個離散隨機變量X 。因此,我們將其計算為所有可能值x乘以其各自概率P(X = x)的加權總和。

  • 對于連續隨機變量:

這個期望值(即平均值)是連續隨機變量X的。我們將其計算為x乘以其概率密度函數f(x)在整個可能值范圍內的積分。

總之:

方差:我們可以計算一個二階統計測量,表示隨機變量與預期值的偏離。

上述方程表示隨機變量X的方差,測量X值圍繞其均值E[X]的擴展或分散。

例子

對于一個公平的六面骰子,預期值是:

邊際概率、聯合概率和條件概率

在本小節中,我們將使用一張圖來解釋邊際概率、聯合概率和條件概率。因此,表格是兩個 RV 的聯合概率分布,正如作者在此處所描繪的那樣。

檢查上面的圖片。我們將使用這個視覺效果來學習概率論的基本概念:邊際概率、聯合概率和條件概率。這些概念對于理解隨機變量之間的關系至關重要,尤其是在處理分類或計數數據時。

邊際概率

邊際概率是指在不考慮任何其他事件的情況下,單個事件發生的概率。在圖中,p(X = x?)表示它。然后,我們計算如下:

這表示隨機變量X取特定值x?的概率,該概率被邊緣化為其他變量的所有可能值。因此,它有助于通過將該事件的聯合概率與另一個變量的所有可能結果相加來找到單個事件的概率。

聯合概率

聯合概率是兩個事件同時發生的概率。參考上圖,它是概率p(X = x?, Y = y?),計算如下:

這個聯合概率衡量兩個事件X = x?Y = y?同時發生的可能性。

條件概率

條件概率衡量在另一個事件已經發生的情況下,發生另一事件的概率。圖像將其定義為p(Y = y? | X = x?),計算方法如下:

該公式顯示在X = x?已經發生的情況下,Y = y?的可能性有多大。

概率規則:邊緣化和產品

邊緣化是概率論中用到的一個過程,用于從所有變量的聯合概率分布中推導出與變量子集相關的事件的概率。

在這個等式中,我們通過對另一個變量Y的所有可能值求和來計算邊際概率p(X = x?)

乘積規則是概率中的一個基本概念,它使我們能夠根據邊際概率和條件概率來表示兩個事件的聯合概率。

該等式顯示了聯合概率p(X = x?, Y = y?)如何分解:

具體來說,用數學的方式表達,乘積法則允許使用一個事件的邊際概率和在第一個事件的條件下另一個事件的條件概率來計算兩個事件的聯合概率。

概括

這些概念是概率論的基礎,對于理解數據科學中更復雜的概率模型和推理技術至關重要。總結如下。

最后,如果P(Y | X) = P(Y)?,則𝑋𝑌是獨立的,這意味著P(Y | X) = P(Y)。這意味著P(𝑋, 𝑌) = P(X)P(Y)

貝葉斯定理

貝葉斯定理是貝葉斯推理的基石,是一個強大的概率結構,它使我們能夠將先驗知識融入到我們的計算中。

回到條件概率并在此基礎上構建:回想一下我們之前定義的p(Y = y? | X = x?)。我們可以使用事件AB來概括這一點,并將其進一步擴展到貝葉斯。

因此,條件概率量化了在另一事件發生的情況下發生某事件的概率。因此,在事件B發生的情況下,事件 A的概率是AB的聯合概率與B的概率之比。我們將其表示為P(A | B),并定義為:

管道字符“|”在概率論中翻譯為“給定”。

因此,貝葉斯定理將兩個事件的條件概率關聯如下:

該術語根據似然P?(B |?A)、先驗P(A)和邊際概率P(B)來表達條件概率P(A | B)?。同樣,這個構造是貝葉斯推理的基礎,它使我們能夠根據新證據更新我們的信念。

例子

假設我們對某種疾病進行測試,其概率如下:

利用貝葉斯定理,我們可以找到P(疾病|陽性)

我們可以這樣計算P(Positive)?

該方程表示考慮兩種情況(即患有和不患有疾病)的檢測呈陽性的總概率:直接應用總概率定律。

概率分布

典型趨勢遵循已知分布。因此,一個常見的問題是假設一個特定的分布來擬合我們的數據。以下是離散和連續隨機變量的幾個分布。

離散分布

  • 二項分布:描述固定次數的獨立伯努利試驗中的成功次數。
  • 泊松分布:對固定時間間隔或空間內發生的事件數量進行建模。

連續分布

  • 正態分布:以鐘形曲線為特征,用平均值 μ 和標準差 σ 描述。
  • 指數分布:描述泊松過程中事件之間的時間。

我們可以通過了解期望值、方差或其他統計指標來近似數據分布。以下備忘單總結了一些連續和離散 RV 的備忘單。

這是顯示連續和離散概率分布的圖表。每個分布都有其平均值、標準差和概率的公式——圖片來源。

例子

讓我們仔細看看正態分布的概率密度函數。從數學上講,它表示如下:

使用正態分布的概率概念可視化,顯示概率密度函數 (PDF)、累積分布函數 (CDF)、平均值 (μ) 和標準差 (σ)。

該圖以正態分布為基礎,直觀地展現了關鍵的概率概念。圖中藍色部分為概率密度函數 (PDF),表示分布中不同結果出現的可能性。PDF 曲線下方的面積表示隨機變量落在特定范圍內的概率。

累積分布函數 (CDF) 以紅色顯示。它從左到右累積概率,從 0 開始,漸近于 1。CDF 幫助我們確定隨機變量小于或等于某個值的概率。

垂直虛線標記平均值 (μ) 和與平均值的標準差 (σ)。平均值在 x=0 處用紅色虛線表示,而綠色、橙色和紫色虛線分別表示第一、第二和第三個標準差 (±1σ、±2σ、±3σ)。這些標準差說明了數據如何分布在平均值周圍,其中約 68%、95% 和 99.7% 分別在平均值的 1σ、2σ 和 3σ 范圍內。

圖中的箭頭有助于識別這些關鍵點,使視覺效果更易于理解。對于任何想要掌握概率基本概念的人來說,該圖都是一個有用的工具,尤其是正態分布,它是統計分析和許多機器學習算法的基石。

使用概率進行學習

例如,在對垃圾郵件進行分類時,我們可以估計𝑃(𝑌 | 𝑉𝑖𝑎𝑔𝑎𝑟𝑎, 𝑙𝑜𝑡𝑡𝑒𝑟𝑦)

— 如果𝑃(𝑌 | 𝑋) <0.5?,我們會將示例歸類為垃圾郵件。 — 但是,對𝑃(𝑋 | 𝑌)
進行建模通常更容易。

這就給我們帶來了最大似然法。

最大似然法

例如:拋硬幣

根據n 次拋硬幣的結果(其中h次都是正面),估計硬幣擲出“正面”的概率p 。

數據的可能性:

對數似然:

取導數并將其設置為 0:

貝葉斯推理

貝葉斯推理是一種統計推斷方法,其中貝葉斯定理用于隨著更多證據的出現而更新假設的概率。

先驗、似然和后驗

  • 先驗(PH)):對假設的初始信念。
  • 可能性(PE?|?H)):根據假設觀察到證據的概率。
  • 后驗(PH?|?E)):觀察證據后對假設的更新信念。

貝葉斯推理中的貝葉斯定理:

我們是如何得到這個結果的?讓我們回到使用XY進行泛化。

根據乘積法則

所以:

這被稱為貝葉斯規則。

總之:

𝑷(𝑿) 可以計算為

然而,推斷標簽并不重要。

例子

讓我們回到我們的案例,我們正在接受罕見疾病的檢測。這一次,我們的檢測結果已經呈陽性。讓我們使用貝葉斯來確定它是真陽性的概率(即使用貝葉斯檢查測試是否為假陽性,即測試結果被錯誤地歸類為真)。

  • 在假陽性率為 5% 的測試中檢測結果為陽性。
  • 出現這種疾病的可能性有多大?
  • 假設每 100 人中就有 1 人患有此病。這會有什么不同嗎?
  • 該測試的假陰性率為 10%;實際上,十分之一的錯誤預測是正確的。這可以用來改善我們的預測嗎?

我們首先從視覺上看一下。

該圖片顯示,每 100 人中就有 5 人被錯誤地標記為患有該疾病(即假陽性),而 1 人確實患有該疾病。

讓我們使用貝葉斯定理。

請查看《我們擁有什么和想要什么》。

讓我們進一步研究一下。

因此,先驗(即分母中的P(B))由兩個子集組成,我們可以將其表示為并集(或和)。

現在,插上電源并喝水:

因此,我們患病的概率為 15.4%!這比僅考慮假陽性率而不使用檢測陽性和假陰性的百分比時原來的 95% 要好得多。

如果我們接受兩次檢測,每次都得到陽性結果,那會怎樣?這種疾病存在的可能性有多大?

其中A患有該疾病,而B兩次檢測結果呈陽性。

請注意,即使經過兩次測試,我們的機會仍然低于原來的 95%。

這就是貝葉斯的美妙之處:隨著我們獲得更多知識,我們可以將其融入到我們的數字理解中,從而提高概率的精確度!

在 Python 中實現概率概念

我們將使用該numpy庫進行數值計算和scipy.stats概率分布。

示例:拋硬幣模擬

<span style="color:rgba(0, 0, 0, 0.8)"><span style="background-color:#ffffff"><span style="background-color:#f9f9f9"><span style="color:#242424"><span style="color:#007400"># 導入必要的庫</span>
<span style="color:#aa0d91">import</span> numpy <span style="color:#aa0d91">as</span> np 
<span style="color:#aa0d91">import</span> scipy.stats <span style="color:#aa0d91">as</span> stats 
<span style="color:#aa0d91">import</span> matplotlib.pyplot <span style="color:#aa0d91">as</span> plt <span style="color:#007400"># 拋硬幣次數</span>
n_flips = <span style="color:#1c00cf">100 </span>
<span style="color:#007400"># 模擬拋硬幣(1 表示正面,0 表示反面)</span>coin_flips = np.random.binomial( <span style="color:#1c00cf">1</span> , <span style="color:#1c00cf">0.5</span> , n_flips) <span style="color:#007400"># 計算正面的次數</span>
n_heads = np.sum (coin_flips) <span style="color:#5c2699">print </span>
<span style="color:#5c2699">(</span> f <span style="color:#c41a16">"正面數量:<span style="color:#000000">{n_heads}</span> "</span> ) 
<span style="color:#007400"># 計算正面的概率</span>
p_heads = n_heads / n_flips 
<span style="color:#5c2699">print</span> ( <span style="color:#c41a16">f"估計正面的概率:<span style="color:#000000">{p_heads: <span style="color:#1c00cf">.2</span> f}</span> "</span> )</span></span></span></span>

輸出:

正面次數:51
預計正面概率:0.51

概率分布可視化

<span style="color:rgba(0, 0, 0, 0.8)"><span style="background-color:#ffffff"><span style="background-color:#f9f9f9"><span style="color:#242424"><span style="color:#007400"># 繪制二項分布</span>
n_trials = <span style="color:#1c00cf">10</span>p_success = <span style="color:#1c00cf">0.5</span>x = np.arange( <span style="color:#1c00cf">0</span> , n_trials+ <span style="color:#1c00cf">1</span> ) 
binomial_pmf = stats.binom.pmf(x, n_trials, p_success) plt.figure(figsize=( <span style="color:#1c00cf">10</span> , <span style="color:#1c00cf">5</span> )) 
plt.stem(x, binomial_pmf) 
plt.title( <span style="color:#c41a16">'二項分布 PMF'</span> ) 
plt.xlabel( <span style="color:#c41a16">'成功次數'</span> ) 
plt.ylabel( <span style="color:#c41a16">'概率'</span> ) 
plt.show()</span></span></span></span>

生成:

示例:硬幣翻轉的貝葉斯推理

我們將使用貝葉斯推理來估計有偏差的硬幣出現正面的概率。

先前的信念

假設 Beta 先驗分布的參數為 α = 2 和 β = 2,表示統一的先驗信念。

<span style="color:rgba(0, 0, 0, 0.8)"><span style="background-color:#ffffff"><span style="background-color:#f9f9f9"><span style="color:#242424"><span style="color:#007400"># 定義先驗分布</span>
alpha_prior = <span style="color:#1c00cf">2</span>beta_prior = <span style="color:#1c00cf">2</span>Prior = stats.beta(alpha_prior, beta_prior) <span style="color:#007400"># 繪制先驗分布</span>
x = np.linspace( <span style="color:#1c00cf">0</span> , <span style="color:#1c00cf">1</span> , <span style="color:#1c00cf">100</span> ) 
plt.figure(figsize=( <span style="color:#1c00cf">10</span> , <span style="color:#1c00cf">5</span> )) 
plt.plot(x, Prior.pdf(x), label= <span style="color:#c41a16">'Prior'</span> ) 
plt.title( <span style="color:#c41a16">'Prior Distribution'</span> ) 
plt.xlabel( <span style="color:#c41a16">'Probability of Heads'</span> ) 
plt.ylabel( <span style="color:#c41a16">'Density'</span> ) 
plt.legend() 
plt.show()</span></span></span></span>

生成:

似然和后驗

使用觀察到的數據(證據)更新先驗以獲得后驗分布。

<span style="color:rgba(0, 0, 0, 0.8)"><span style="background-color:#ffffff"><span style="background-color:#f9f9f9"><span style="color:#242424"><span style="color:#007400"># 觀察到的正面和反面的數量</span>
n_heads = <span style="color:#1c00cf">7</span>n_tails = <span style="color:#1c00cf">3 </span><span style="color:#007400"># 更新后驗分布</span>
alpha_posterior = alpha_prior + n_heads 
beta_posterior = beta_prior + n_tails 
posterior = stats.beta(alpha_posterior, beta_posterior) <span style="color:#007400"># 繪制后驗分布</span>
plt.figure(figsize=( 
<span style="color:#1c00cf">10</span> , <span style="color:#1c00cf">5</span> )) 
plt.plot(x, Prior.pdf(x), label= <span style="color:#c41a16">'Prior'</span> ) 
plt.plot(x, posterior.pdf(x), label= <span style="color:#c41a16">'Posterior'</span> , linestyle= <span style="color:#c41a16">'--'</span> ) 
plt.title( <span style="color:#c41a16">'先驗和后驗分布'</span> ) 
plt.xlabel( <span style="color:#c41a16">'正面的概率'</span> ) 
plt.ylabel( <span style="color:#c41a16">'密度'</span> ) 
plt.legend() 
plt.show()</span></span></span></span>

生成:

結論

概率論是支撐許多統計和機器學習技術的基本數據科學組成部分。本教程涵蓋了概率的基本概念,從基本定義到高級貝葉斯推理,并提供了實際示例和 Python 實現。通過掌握這些概念,您可以構建更強大的模型,做出更好的決策,并從數據中獲得更深入的見解。

嘗試使用不同的概率分布、假設和數據集來探索概率論在數據科學項目中的廣泛應用。

?

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

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

相關文章

【數據結構_9】棧和隊列

隊列 Queue 一個方向進&#xff0c;一個方向出 Queue隊列提供的核心方法&#xff1a; 入隊列&#xff1a;offer add 出隊列&#xff1a;poll remove 取隊首元素&#xff1a; peek element 前面一列發生錯誤是返回null 后面一列發生錯誤時拋出異常 Queue是否能夠使用isEm…

HarmontOS-ArkUI V2狀態 !!語法糖 雙向綁定

什么是雙向綁定 雙向綁定指的是在組件間數據的雙向綁定。當一個值無論是在父組件還是子組件中改動都會在這兩層中都更新界面。 回顧過往的“雙向綁定”實現方式 靠@Event裝飾回調函數 一般是對于@Param修飾的狀態變量。當子組件發生某個動作的時候,調用某個父組件傳遞過來的…

貪心算法day9(合并區間)

1.合并區間 56. 合并區間 - 力扣&#xff08;LeetCode&#xff09; 對于這種區間問題&#xff0c;我們應該先排序根據排序的結果總結一些規律&#xff0c;進而的得出解決該問題的策略。 class Solution {public static int[][] merge(int[][] intervals) {//第一步進行左端點…

探索加密期權波動率交易的系統化實踐——動態對沖工具使用

Trading Volatility – What Are My Options? 在本文中&#xff0c;我們將介紹一些如何交易資產波動性&#xff08;而非資產價格&#xff09;的示例。為了幫助理解&#xff0c;我們將使用 Deribit 上提供的幾種不同產品&#xff0c;包括但不限于期權。我們將盡可能消除對標的價…

子函數嵌套的意義——以“顏色排序”為例(Python)

多一層縮進精減參數傳遞&#xff0c;參數少平鋪書代碼寫更佳。 筆記模板由python腳本于2025-04-16 11:52:53創建&#xff0c;本篇筆記適合喜歡子函數嵌套結構代碼形式的coder翻閱。 【學習的細節是歡悅的歷程】 博客的核心價值&#xff1a;在于輸出思考與經驗&#xff0c;而不僅…

【數據結構與算法】LeetCode每日一題

此題跟27.移除數組中的指定值 類似&#xff0c;都是移除且雙指針玩法&#xff0c;只不過判斷條件發生了變化 此題跟26.刪除有序數組中的重復項I 一樣&#xff0c;除了fast-1變成了fast-2

c#OleDb連接池管理功能

使用 ConcurrentDictionary 和 ConcurrentBag 來管理數據庫連接 using Drv.Utilities; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Data.OleDb; using System.Linq;namespace Drv.AccessClient {/// <summary>…

【Flink運行時架構】核心組件

在Flink的運行架構中&#xff0c;有兩大比較重要的組件&#xff1a;作業管理器&#xff08;JobManager&#xff09;和任務管理器&#xff08;TaskManager&#xff09;。 Flink的作業提交與任務處理時的系統如下圖所示。 其中&#xff0c;客戶端并不是處理系統的一部分&#xff…

牟乃夏《ArcGIS Engine地理信息系統開發教程》學習筆記2

目錄 一、ArcGIS Engine概述 1、 定義 2、 核心功能 3、 與ArcObjects&#xff08;AO&#xff09;的關系 二、開發環境搭建 1、 開發工具要求 2、 關鍵步驟 三、 ArcGIS Engine核心組件 1、 對象模型 2、 類庫分類 四、 第一個AE應用程序&#xff08;C#示例&#xf…

端、管、云一體化原生安全架構 告別外掛式防護!

面對數字化轉型浪潮&#xff0c;企業網絡安全風險日益凸顯。數據泄露、黑客勒索等事件頻發&#xff0c;合規要求加速推進。盡管企業紛紛部署了防病毒、身份認證、文件加密、入侵防護、流量監控等多種安全系統&#xff0c;但分散且孤立的架構非但沒有有效抵御風險&#xff0c;反…

深度學習--深度學習概念、框架以及構造

文章目錄 一、深度學習1.什么是深度學習&#xff1f;2.特點3.神經網絡構造1&#xff09;.單層神經元2&#xff09;多層神經網絡3&#xff09;小結 4.感知器5.多層感知器6.多層感知器&#xff08;偏置節點&#xff09;7.神經網絡構造 一、深度學習 1.什么是深度學習&#xff1f…

helm賬號密碼加密

1、安裝工具 sudo apt update sudo apt install gnupg -y wget https://github.com/getsops/sops/releases/download/v3.10.2/sops-v3.10.2.linux.amd64 mv sops-v3.10.2.linux.amd64 /usr/local/bin/sops chmod x /usr/local/bin/sops2、生成加密文件 gpg --full-generate-…

大數據面試問答-HBase/ClickHouse

1. HBase 1.1 概念 HBase是構建在Hadoop HDFS之上的分布式NoSQL數據庫&#xff0c;采用列式存儲模型&#xff0c;支持海量數據的實時讀寫和隨機訪問。適用于高吞吐、低延遲的場景&#xff0c;如實時日志處理、在線交易等。 RowKey&#xff08;行鍵&#xff09; 定義&#xf…

動態渲染組件

React框架&#xff0c;JSX語法 今天遇到一個好玩的 常規的搜索列表&#xff0c;列表最后一列為操作列&#xff0c;刪改查。 眼看著Table 操作列 的配置文件越來越復雜&#xff0c;決定把操作列單獨寫一個組件&#xff0c;代碼瞬間靚仔了些 {title: Operation,dataIndex: oper…

Web APIs階段

一、Web APIs和JS基礎關聯性 1.1JS的組成 1.2JS基礎階段以及Web APIs階段 JS基礎階段&#xff1a;學習的是ECMAScript標準規定的基礎語法 Web APIs階段&#xff1a; Web APIs是W3C組織的標準Web APIs我們主要學習DOM和BOMWeb APIs是JS獨有的部分主要學習頁面交互功能需要使用…

Doip功能尋址走UDP協議

目前使用 connect()函數的UDP客戶端 ,這里接收數據 解析的地方 查看一下。 如果使用 bind()、sendto()、recvfrom() 組合 那么返回值 和發送要在做調整&#xff0c;&#xff0c;根據業務需要后續在調整 其余的 和原來的 邏輯都是一樣的&#xff0c;只是協議變了而已。 if serv…

Linux指令的詳細介紹

前言&#xff1a;&#x1f33c;&#x1f33c; Linux是一款強大且廣泛使用的操作系統&#xff0c;命令行接口&#xff08;CLI&#xff09;是與其交互的核心方式。通過Linux指令&#xff0c;用戶可以高效地執行文件管理、系統監控、進程控制等任務。雖然剛接觸時可能感到有些復雜…

Elasticsearch使用記錄

一、配環境 1.docker版本部署es 8.x系列可以關掉ssl&#xff08;本地測試時&#xff09;&#xff0c;去docker的/usr/share/elasticsearch/config/elasticsearch.yml里面的“xpack.security.enabled:”設置成true就可以 2.window docker部署推薦教程&#xff1a;基于Docker安…

MuJoCo(Multi-Joint Dynamics with Contact)機器人仿真器存在的問題

MuJoCo物理引擎計算接觸力的核心思路&#xff0c;是通過數學優化的方式同時滿足多個物理約束&#xff0c;而不是簡單地為每個碰撞點單獨計算作用力。它的工作流程可以理解為幾個階段的緊密配合。首先&#xff0c;仿真器會快速檢測所有可能發生接觸的物體表面&#xff0c;篩選出…

基礎(項目管理工具:JIRA、禪道)

目錄 JIRA JIRA介紹 JIRA中的優先級&#xff08;缺陷嚴重程度&#xff09; JIRA中的解決結果&#xff08;缺陷的解決結果&#xff09; JIRA中的問題狀態&#xff08;缺陷的狀態&#xff09; 使用JIRA創建缺陷 JIRA的安裝&#xff08;Windows&#xff09; JDK22的下載和安…