日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习实战的P264中代码对应的公式推导

發布時間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习实战的P264中代码对应的公式推导 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章針對以下代碼重點研究:

xformedItems = dataMat.T * U[:,:4] * Sig4.I

首先是SVD分解的公式(注意不是SVD近似公式):
Mm?n=Um?m?Σm?n?(Vn?n)TM_{m·n}=U_{m·m}·Σ_{m·n}·{(V_{n·n})}^{T} Mm?n?=Um?m??Σm?n??(Vn?n?)T
注意ΣΣΣ在python代碼中返回時,是一個向量,矩陣論中是一個對角矩陣。
對角線上都是各個奇異值,其余元素都是0.
并且ΣΣΣ矩陣必定是從大到小排序過的。
其中Um?mU_{m·m}Um?m?Vn?nV_{n·n}Vn?n?是正交陣
正交矩陣的各行是單位向量且兩兩正交
正交矩陣的各列是單位向量且兩兩正交
對于正交陣AAA(特指方陣)有以下性質:
AT=A?1A^T=A^{-1}AT=A?1
如果從Um?mU_{m·m}Um?m?中抽取k列,構成Um?kU_{m·k}Um?k?,且Uk?m=(Um?k)TU_{k·m}=(U_{m·k})^{T}Uk?m?=(Um?k?)T
如果從Vm?mV_{m·m}Vm?m?中抽取k列,構成Vm?kV_{m·k}Vm?k?,且Vk?m=(Vm?k)TV_{k·m}=(V_{m·k})^{T}Vk?m?=(Vm?k?)T
那么有:
Uk?m?Um?k=Ek?k①U_{k·m}·U_{m·k}=E_{k·k}①Uk?m??Um?k?=Ek?k?
Um?k?Uk?mU_{m·k}·U_{k·m}Um?k??Uk?m?Em?mE_{m·m}Em?m?
Vk?m?Vm?k=Ek?k②V_{k·m}·V_{m·k}=E_{k·k}②Vk?m??Vm?k?=Ek?k?
Vm?k?Vk?mV_{m·k}·V_{k·m}Vm?k??Vk?m?Em?mE_{m·m}Em?m?

上述等式的成立條件是:k≤m
注意上面①②的每個式子的順序不能反,
接下來是SVD的近似公式:
Mm?n≈Um?k?Σk?k?(Vn?k)T③M_{m·n}≈U_{m·k}·Σ_{k·k}·{(V_{n·k})}^{T} ③Mm?n?Um?k??Σk?k??(Vn?k?)T
下面根據該式進行推導,對于③中,等式左右兩邊乘以Uk?mU_{k·m}Uk?m?,得到:
Uk?m?Mm?n≈(Uk?m?Um?k)?Σk?k?(Vn?k)TU_{k·m}·M_{m·n}≈(U_{k·m}·U_{m·k})·Σ_{k·k}·{(V_{n·k})}^{T}Uk?m??Mm?n?Uk?m??Um?k??Σk?k??(Vn?k?)T
代入式①得到:
Uk?m?Mm?n≈Ek?k?Σk?k?(Vn?k)T④U_{k·m}·M_{m·n}≈E_{k·k}·Σ_{k·k}·{(V_{n·k})}^{T}④Uk?m??Mm?n?Ek?k??Σk?k??(Vn?k?)T
兩邊乘以(Σk?k)?1(Σ_{k·k})^{-1}Σk?k??1,得到:
(Σk?k)?1?Uk?m?Mm?n≈(Vn?k)T⑤{(Σ_{k·k}})^{-1}·U_{k·m}·M_{m·n}≈{(V_{n·k})}^{T}⑤Σk?k??1?Uk?m??Mm?n?(Vn?k?)T
等式兩邊進行轉置操作:
Vn?k≈((Σk?k)?1?Uk?m?Mm?n)T{V_{n·k}}≈({(Σ_{k·k}})^{-1}·U_{k·m}·M_{m·n})^{T}Vn?k?Σk?k??1?Uk?m??Mm?n?T
對等式右邊進行展開:
Vn?k≈(Mm?n)T?Um?k?((Σk?k)?1)T⑥{V_{n·k}}≈({M_{m·n})^{T}·U_{m·k}·((Σ_{k·k}})^{-1})^{T}⑥Vn?k?(Mm?n?)T?Um?k??(Σk?k??1)T

(Σk?k)(Σ_{k·k})Σk?k?是對角陣,
(Σk?k)?1(Σ_{k·k})^{-1}Σk?k??1也是對角陣
(Σk?k)?1(Σ_{k·k})^{-1}Σk?k??1的轉置矩陣等于(Σk?k)?1⑦(Σ_{k·k})^{-1}⑦Σk?k??1
將⑦中關系,代入⑥,得到

Vn?k≈(Mm?n)T?Um?k?(Σk?k)?1⑧{V_{n·k}}≈({M_{m·n})^{T}·U_{m·k}·(Σ_{k·k}})^{-1}⑧Vn?k?(Mm?n?)T?Um?k??Σk?k??1

對比⑧和書上的這句代碼進行比較:

xformedItems = dataMat.T * U[:,:4] * Sig4.I

我們會發現是一模一樣的。
所以上述推導是這句代碼的理論依據。

借助的在線公式編輯器鏈接為:
http://www.sciweavers.org/free-online-latex-equation-editor

總結

以上是生活随笔為你收集整理的机器学习实战的P264中代码对应的公式推导的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。