《機器學習數學基礎》補充資料:標準差與標準化

1 標準差

我們經常使用平均數來大致了解一組數據,例如平均成績、平均身高、平均壽命等等。但是如果只看平均數,不一定能充分了解整體情況。比如說你和某首富住同一個社區,你們社區平均每戶年收入兩千萬,那么你家是有錢還是沒錢?另外就是看到了平均工資,才知道自己“拖了后腿”——關于平均工資問題,在《機器學習數學基礎》中有專門討論,是否真的拖后腿了?通過統計學知識就能明了。

為了幫助我們更了解整體情況,需要更多統計量來進行描述。

其中一個統計量,就是用于描述數據的離散情況。換句話說,就是描述這組數據的所有數據,是很集中還是很分散。為了描述離散情況,首先想到的是:每一個數據離平均值有多遠?如果對于數據 XXX 里的每個數據 xix_ixi? ,我們都將它減去平均數 μX\mu_XμX? ,然后再全部加起來,得到
∑i=1n(xi?μX)=∑i=1nxi?∑i=1nμX=nμX?nμX=0 \sum_{i=1}^n (x_i - \mu_X) = \sum_{i=1}^n x_i - \sum_{i=1}^n \mu_X = n\mu_X - n\mu_X = 0 i=1n?(xi??μX?)=i=1n?xi??i=1n?μX?=nμX??nμX?=0
這就很有意思了,結果為 0。因為有些數據比平均值大,有些比平均值小,正負自然會相互抵消。為了避免這種情況,我們改為先取絕對值再相加
∑i=1n∣xi?μX∣ \sum_{i=1}^n |x_i - \mu_X| i=1n?xi??μX?
這樣就沒有正負抵消的問題了。這個式子中的每一項,叫做離均差,意思是每個數據離平均值有多遠。然而這樣計算起來不太方便,大量絕對值相加是很難處理的。所以我們改為先把每個離均差都平方,然后再相加
∑i=1n(xi?μX)2 \sum_{i=1}^n (x_i - \mu_X)^2 i=1n?(xi??μX?)2
可是這個式子,如果數據的項數越多,加起來的結果豈不是越大嗎?比如說一個班的考試成績,如果隔壁班和本班有完全一樣的成績分布,兩班合并在一起計算,結果就會變成兩倍,但離散情況并沒有變化。為了消除數據數量 nnn 的影響,我們再除以 nnn ,變成計算離均差平方的平均
∑i=1n(xi?μX)2n \frac{\sum_{i=1}^n (x_i - \mu_X)^2}{n} ni=1n?(xi??μX?)2?
這個式子,適合用來描述離散情況,稱為方差(variance)。但因為我們先進行了平方運算,所以這樣算出的結果,單位會與原來的數據不一致。如果我們希望單位保持一致,就將方差再開根號:
∑i=1n(xi?μX)2n \sqrt{\frac{\sum\limits_{i=1}^n (x_i - \mu_X)^2}{n}} ni=1n?(xi??μX?)2??
離均差平方的平均再開根號,這稱為標準差(standard deviation)。為什么剛才說取絕對值相加比較不好算,平方后再相加卻反而好算呢?我們可以將標準差定義中平方的部分展開:
∑i=1n(xi?μX)2n=∑i=1n(xi2?2μXxi+μX2)n=∑i=1nxi2?∑i=1n2μXxi+∑i=1nμX2n=∑i=1nxi2?2μX∑i=1nxi+μX2∑i=1n1n與下標?i?無關的可提出=∑i=1nxi2?2μX(nμX)+μX2?nn=∑i=1nxi2?2nμX2+nμX2n=∑i=1nxi2?nμX2n=∑i=1nxi2n?μX2 \begin{split} \sqrt{\frac{\sum\limits_{i=1}^n(x_i-\mu_X)^2}{n}}&=\sqrt{\frac{\sum\limits_{i=1}^n (x_i^2 - 2\mu_X x_i + \mu_X^2)}{n}} \\&=\sqrt{\frac{\sum\limits_{i=1}^n x_i^2 - \sum\limits_{i=1}^n 2\mu_X x_i + \sum\limits_{i=1}^n \mu_X^2}{n}} \\&= \sqrt{\frac{\sum\limits_{i=1}^n x_i^2 - 2\mu_X \sum\limits_{i=1}^n x_i + \mu_X^2 \sum\limits_{i=1}^n 1}{n}} \quad \text{與下標 i 無關的可提出} \\&= \sqrt{\frac{\sum\limits_{i=1}^n x_i^2 - 2\mu_X (n\mu_X) + \mu_X^2 \cdot n}{n}} \\&= \sqrt{\frac{\sum\limits_{i=1}^n x_i^2 - 2n\mu_X^2 + n\mu_X^2}{n}} \\&= \sqrt{\frac{\sum\limits_{i=1}^n x_i^2 - n\mu_X^2}{n}} = \sqrt{\frac{\sum\limits_{i=1}^n x_i^2}{n} - \mu_X^2} \end{split} ni=1n?(xi??μX?)2???=ni=1n?(xi2??2μX?xi?+μX2?)??=ni=1n?xi2??i=1n?2μX?xi?+i=1n?μX2???=ni=1n?xi2??2μX?i=1n?xi?+μX2?i=1n?1??與下標?i?無關的可提出=ni=1n?xi2??2μX?(nμX?)+μX2??n??=ni=1n?xi2??2nμX2?+nμX2???=ni=1n?xi2??nμX2???=ni=1n?xi2???μX2???
這樣便得到標準差的另一種公式,當我們只知道數據的平方和而不知道每一組數據的詳細數值時,就可以使用這個公式。

注意

  1. 方差的符號可以寫成 Var\text{Var}Varσ2\sigma^2σ2 ,其公式為:

σ2=∑i=1n(xi?μX)2n=∑i=1nxi2n?μX2 \sigma^2 = \frac{\sum\limits_{i=1}^n (x_i - \mu_X)^2}{n} = \frac{\sum\limits_{i=1}^n x_i^2}{n} - \mu_X^2 σ2=ni=1n?(xi??μX?)2?=ni=1n?xi2???μX2?

  1. 標準差的符號可以寫成 Var\sqrt{\text{Var}}Var?σ\sigmaσ ,其公式為:

σ=∑i=1n(xi?μX)2n=∑i=1nxi2n?μX2 \sigma = \sqrt{\frac{\sum\limits_{i=1}^n (x_i - \mu_X)^2}{n}} = \sqrt{\frac{\sum\limits_{i=1}^n x_i^2}{n} - \mu_X^2} σ=ni=1n?(xi??μX?)2??=ni=1n?xi2???μX2??

  1. 方差可以理解為計算正方形面積的平均,如下圖所示。數據離平均值越遠,算出的正方形面積就越大,會使方差的結果更大。

在這里插入圖片描述

圖 1:方差的幾何意義
  1. 數據的平移不影響標準差,但伸縮會有影響。設 Y=aX+bY = aX + bY=aX+b,則:

σY=∑i=1n(yi?μY)2n=∑i=1n[(axi+b)?(aμX+b)]2n=∑i=1n[a(xi?μX)]2n=a2∑i=1n(xi?μX)2n=a2?∑i=1n(xi?μX)2n=∣a∣?∑i=1n(xi?μX)2n=∣a∣σX \begin{split} \sigma_Y &= \sqrt{\frac{\sum\limits_{i=1}^n (y_i - \mu_Y)^2}{n}} \\&= \sqrt{\frac{\sum\limits_{i=1}^n \left[(ax_i + b) - (a\mu_X + b)\right]^2}{n}} \\&= \sqrt{\frac{\sum\limits_{i=1}^n \left[a(x_i - \mu_X)\right]^2}{n}} \\&= \sqrt{\frac{a^2 \sum\limits_{i=1}^n (x_i - \mu_X)^2}{n}} \\&= \sqrt{a^2 \cdot \frac{\sum\limits_{i=1}^n (x_i - \mu_X)^2}{n}} \\&= |a| \cdot \sqrt{\frac{\sum_{i=1}^n (x_i - \mu_X)^2}{n}} \\&= |a| \sigma_X \end{split} σY??=ni=1n?(yi??μY?)2??=ni=1n?[(axi?+b)?(aμX?+b)]2??=ni=1n?[a(xi??μX?)]2??=na2i=1n?(xi??μX?)2??=a2?ni=1n?(xi??μX?)2??=a?ni=1n?(xi??μX?)2??=aσX??

  1. 由方差的第二個式子移項,可得:
    σ2+μX2=∑i=1nxi2n∑i=1nxi2=n(σX2+μX2) \begin{split} \sigma^2+\mu^2_X=\frac{\sum\limits_{i=1}^nx_i^2}{n} \\ \sum_{i=1}^n x_i^2 = n\left(\sigma_X^2 + \mu_X^2\right) \end{split} σ2+μX2?=ni=1n?xi2??i=1n?xi2?=n(σX2?+μX2?)?

這是一個實用的公式。

2 標準化

2 標準化

如果你上次數學考 70 分,這次考 50 分,那你是進步還是退步呢?當然,你的慈母很可能會不太高興,竟然退步了 20 分!正當要執行家法時,你急忙抗辯:“等一下!上次數學全班平均 60 分,這次考試比較難,班級平均只有 40 分!我這兩次都比平均高 10 分,應該不算退步吧!” 你的慈母聽了覺得挺有道理,正當你松了口氣時,一旁正在閱讀《機器學習數學基礎》(齊偉,電子工業出版社)的嚴父看不下去了:“這兩次我都看過你班上的成績單,上次標準差才 5 分,你比平均高兩個標準差。這次標準差 10 分,你只比平均高一個標準差而已,所以你還是退步了。” 于是你還是被執行家法,然后好好學數學。你正生氣覺得不理解,本來今天高高興興的,嚴父為什么要說這種話,這時剛好翻到《機器學習數學基礎》上講到數據的標準化,好像就和嚴父那番話有關系。

假設一種場景:小明身高 187 公分,家庭年收入 100 萬元。因為小明并不帥,顯然不是高富帥,但究竟說他高比較好,還是說他富比較好呢?身高和家庭年收入,顯然是兩種不同的數據,無法直接比較。但人性嘛,總想去比較,不能比也要比。于是采取相對比較的辦法:小明班上平均身高 175 公分,標準差 4 公分,所以小明的身高在班上比平均多出 3 個標準差;班上家庭年收入平均 80 萬元,標準差 20 萬元,所以小明家的年收入在班上比平均多出 1 個標準差。這樣看來,小明的 “富” 在班上似乎不是太突出,倒是身高相對來說在班上比較高。所以我們得出結論:小明(在這個班)是高而不是富!

為了方便計算比平均高幾個標準差,我們對數據進行轉換。使轉換后的新數據具有平均數為 0、標準差為 1 的特性,這樣只要一看新數據,就馬上知道是比平均高多少個標準差了。那該如何設定數據轉換呢?當然是這樣:
Z=X?μXσX Z = \frac{X - \mu_X}{\sigma_X} Z=σX?X?μX??
對于線性變換 Y=aX+bY = aX + bY=aX+b ,其平均數為:
μY=aμX+b \mu_Y = a\mu_X + b μY?=aμX?+b
直接將原平均數代入線性變換式子即可。所以 ZZZ 的平均數為:
μZ=μX?μXσX=0 \mu_Z = \frac{\mu_X - \mu_X}{\sigma_X} = 0 μZ?=σX?μX??μX??=0
又因為標準差與平移無關,且伸縮系數取絕對值,
σY=∣a∣σX \sigma_Y=|a|\sigma_X σY?=aσX?
所以 ZZZ 的標準差為:
σZ=∣1σX∣?σX=1 \sigma_Z = \left| \frac{1}{\sigma_X} \right| \cdot \sigma_X = 1 σZ?=?σX?1???σX?=1

定義:數據的標準化

對數據 XXX 進行線性變換:
Z=X?μXσX Z = \frac{X - \mu_X}{\sigma_X} Z=σX?X?μX??

這稱為數據的標準化,數據 ZZZ 稱為標準化數據,標準化數據的值稱為 zzz 分數。

小明身高 187 厘米,進行標準化計算為:z=187?1754=3z = \frac{187 - 175}{4} = 3z=4187?175?=3

zzz 分數是 3,表示高出平均值 3 個標準差。小明的同學張三身高 173 厘米,進行標準化計算為:

z=173?1754=?0.5 z = \frac{173 - 175}{4} = -0.5 z=4173?175?=?0.5
zzz 分數是 - 0.5,表示比平均值低 0.5 個標準差。

標準化數據還有一個特性,就是無單位。比如小明班上的身高,標準差是 4 厘米。如果將身高單位改用米,那么每個人的數據都變為原來的百分之一,例如小明的身高是 1.87 米,班上身高的標準差是 0.04 米。而小明身高的 zzz 分數,無論原數據用 187 厘米還是 1.87 米,計算結果都是 3。

再介紹一個與標準化概念類似,但不直接使用 zzz 分數的例子。我們所說的 IQ,并不是智商測試后的原始分數。而是先將原始分數按不同年齡分類,同年齡組的全球平均分數設定為 IQ100,標準差設定為 15。如果你的原始成績比同年齡全球平均高 2 個標準差,那么你的智商就是 130;如果原始成績比同年齡全球平均低 1.2 個標準差,那么你的智商就是 82。因此,從你的智商分數中,可以知道自己在同年齡群體中的相對水平。假設你 8 歲時做了一次智商測試,12 歲時再做一次,期間你的智力既沒有進步也沒有衰退,你的智商應該會下降,因為同年齡群體的整體水平提升了。

有一個國際組織叫門薩(MENSA),是一個高智商俱樂部,其入會門檻為 IQ130。別以為這聽起來不高,這已經比平均值高 2 個標準差,符合條件的比例僅約為 2.5%!——對于這個數值,可以通過正態分布得到。

《機器學習數學基礎》在各大平臺有售,請認準作者和出版社

在這里插入圖片描述

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

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

相關文章

深度學習 | 多類交叉熵(Categorical Cross Entropy)詳解 + Python實現

在多分類任務中,模型輸出一個概率分布,常用的損失函數是 Categorical Cross Entropy(多類交叉熵)。本文將帶你理解其數學本質、應用場景、數值穩定性及完整 Python 實現。📘 一、什么是 Categorical Cross Entropy&…

MyBatis-Plus通用中等、大量數據分批查詢和處理

函數式接口 獲取分頁數據接口 主要用于獲取數據 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;FunctionalInterface public interface MyBatisPlusPageFunctionInterface<T> {Page<T> selectPage(Page<T> page);}數據處理接口 import…

Ps 2025安裝包(Adobe Photoshop 2025)安裝包免費免激活版下載 附圖文詳細安裝教程

[軟件名稱]&#xff1a;Ps2025 V26.3 [軟件大小]&#xff1a;4.86 G [系統要求]&#xff1a;支持Win7及更高版本 [夸克網盤下載https://pan.quark.cn/s/d35677af9ef9 &#xff08;建議用手機保存到網盤后&#xff0c;再用電腦下載&#xff09;更多免費軟件見https://docs.qq.co…

Codeforces Round 1037 (Div. 3)(補題)

文章目錄前言A.Only One DigitB.No Casino in the MountainsC. I Will Definitely Make ItD.This Is the Last TimeE.G-C-D, Unlucky!總結前言 感覺前四道&#xff0c;就是考對于題目的理解能力&#xff0c;以及自己的模擬能力 A.Only One Digit 題目傳送門&#xff1a;Only …

基于單片機智能插座設計/智能開關

傳送門 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目速選一覽表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品題目功能速覽 概述 隨著我國的電子計算機技術的快速發展以及居民對現實生活的要求也在不斷提升&#xff0c;所以很多…

[Linux]git_gdb

一、git1. git 常用指令git status 查看倉庫狀態git add <文件名> 把文件添加到倉庫暫存區git commit -m "信息" 把文件加入倉庫git push 把本地倉庫同步到遠端git pull …

醫療AI與融合數據庫的整合:挑戰、架構與未來展望(下)

?? 解決方案:引入融合數據庫(Multi-modal Data Fusion DB) 醫院引入一款支持圖、向量、表、流的融合數據庫(如Oracle ADW、Milvus+PostgreSQL、或某國產平臺),完成了以下集成: 數據類型 來源系統 格式/模型 示例內容 基因組數據 NGS平臺 VCF / JSON / 圖 EGFR突變、A…

【深度強化學習】MIP-DQN 實現案例(完整Python代碼)

目錄MIP-DQN 算法概述建模基礎訓練階段&#xff08;Training&#xff09;部署階段&#xff08;Online Execution&#xff09;DNN 網絡轉化為 MIP 表達式性能指標完整 Python 代碼實現主函數&#xff1a;random_generator_battery模型函數&#xff1a;MIP_DQN基礎/專用庫包安裝模…

微信小程序 wx.request() 的封裝

基于微信小程序的wx.request()方法封裝下面是一個封裝方案&#xff0c;滿足您提出的所有要求&#xff1a;class HttpService {constructor() {this.baseUrl ; // 基礎URLthis.pendingRequests new Map(); // 請求緩存池this.interceptors {request: [],response: []};}// 設…

yolo8實時識別目標(和平精英敵人+骨骼關鍵點)

現在需要識別人物的肢體&#xff08;姿態/骨骼關鍵點&#xff09;&#xff0c;即所謂的「姿態估計&#xff08;pose estimation&#xff09;」&#xff0c;以下是一些主流、訓練好可直接使用的開源模型推薦&#xff0c;支持多人識別與骨骼關鍵點檢測&#xff0c;適合你后續用于…

MyBatis動態SQL全解析:五大核心標簽實戰指南

MyBatis動態SQL全解析&#xff1a;五大核心標簽實戰指南 一、動態SQL的價值&#xff1a;告別硬編碼時代 傳統SQL拼接的痛點 // 傳統方式需要手動拼接SQL字符串 StringBuilder sql new StringBuilder("SELECT * FROM orders WHERE 11"); if (status ! null) {sql.app…

線上 CPU 過高怎么排查

通過以下幾個命令解決1、top命令&#xff0c;找到 CPU 過高的pid(進程); ?編輯 2、根據pid(進程)找到CPU過高的線程id;top -H -p pid(進程)3、把線程id轉換16 進制的printf 0x%x\n 線程id4、導致CPU 飆升的線程異常信息&#xff0c;-A 30表示打印 30 行記錄jstack pid(進程id)…

Letter Combination of a Phone Number

IntroduceProblem Analysis (Using “258” as example) //2 a b c //5 j k l //8 t u vPossible letter combinations: a, j, t (no further options, this is one combination)a, j, u (no further options, another combination)a, j, v (another c…

【問題解決】npm包下載速度慢

問題描述&#xff1a; npm包下載速度慢 問題原因&#xff1a; 為什么下載 npm 包速度慢&#xff1f; 在使用npm下包的時候&#xff0c;默認從國外的https://regitry.npmjs.org/服務器進行下載。此時&#xff0c;網絡數據的傳輸需要經過漫長的海底光纜&#xff0c;因此下包速度…

Apache DolphinScheduler介紹與部署

目錄 一、軟件介紹 1、軟件概述 2、發展歷史 3、名詞解釋 4、模塊介紹 軟件部署 1、下載發布包 2、上傳與解壓 3、啟動 4、瀏覽器驗證 一、軟件介紹 1、軟件概述 Apache DolphinScheduler 是一個分布式易擴展的可視化DAG工作流任務調度開源系統。適用于企業級場景&…

Selenium 啟動的瀏覽器自動退出問題分析

當 Selenium 啟動的瀏覽器自動關閉時&#xff0c;通常是由于以下原因導致的&#xff1a;1. 腳本執行完畢原因&#xff1a;Selenium 腳本執行到末尾時&#xff0c;如果沒有保持瀏覽器打開的代碼&#xff08;如time.sleep()或循環&#xff09;&#xff0c;瀏覽器會自動關閉。解決…

rust實現的快捷補全到剪貼板的實用工具

最近在兼職項目中老是遇到這樣的場景&#xff1a; 在云服務器之間通過scp命令傳輸文件&#xff0c;密碼太長記不住(客戶服務器不方便ssh-copy-id)在服務器上使用mysql命令登錄修改數據&#xff0c;數據庫密碼太長記不住&#xff08;客戶設置的密碼&#xff0c;直接改掉哈&#…

信息系統風險的安全技術防范思路

針對信息系統風險的安全技術防范思路 降低風險&#xff0c;即提升了安全能力和水平 保護資產 加強信息系統軟硬件及數據安全保護&#xff1b;減少脆弱性 通過研發、部署、應用各環節來盡量減少或避免脆弱性&#xff1b;應對威脅 采取防御措施&#xff0c;實施攻防對抗。

Java項目:基于SSM框架實現的網盤管理系統【ssm+B/S架構+源碼+數據庫+畢業論文】

摘 要 網絡技術和計算機技術發展至今&#xff0c;已經擁有了深厚的理論基礎&#xff0c;并在現實中進行了充分運用&#xff0c;尤其是基于計算機運行的軟件更是受到各界的關注。加上現在人們已經步入信息時代&#xff0c;所以對于信息的宣傳和管理就很關鍵。因此文件信息的管理…

Echart 地圖放大縮小

文章目錄 常用方法 1. **開啟 `roam` 屬性** 2. **通過鼠標滾輪或手勢縮放** 3. **設置初始縮放比例** 4. **通過按鈕控制縮放** 5. **限制縮放范圍** 6. **監聽縮放和平移事件** 7. **結合 `dataZoom` 實現數據縮放** 總結 相關文章 在 ECharts 中,可以通過設置地圖的 roam …