:如何用矩陣乘法實現(xiàn)8國貨幣兌換)
AIPND線性映射實戰(zhàn)如何用矩陣乘法實現(xiàn)8國貨幣兌換【免費下載鏈接】AIPNDCode and associated files for the AI Programming with Python Nanodegree Program項目地址: https://gitcode.com/gh_mirrors/ai/AIPND你是否曾為看不懂線性代數(shù)而苦惱本篇文章將帶你走進AIPNDAI Programming with Python Nanodegree Program中的線性映射實驗用一個真實、有趣的問題——8國貨幣兌換——徹底搞懂矩陣乘法的原理與應用。你不需要深厚的數(shù)學功底只需要理解輸入向量 × 權重矩陣 輸出向量這一個核心公式就能用NumPy輕松完成復雜的多幣種換算并為后續(xù)學習神經(jīng)網(wǎng)絡打下堅實基礎。線性映射是什么為什么用貨幣兌換來理解最直觀線性映射Linear Mapping是線性代數(shù)中最重要的概念之一它描述了一種把輸入變成輸出的規(guī)則而矩陣乘法就是執(zhí)行這種映射的計算工具。簡單來說矩陣就像一本換算手冊向量就是你要處理的數(shù)據(jù)兩者相乘一次得到全部結果。在 AIPND 的 線性映射實驗 中貨幣兌換被選為理解線性映射的絕佳案例因為它足夠生活化又完整展示了矩陣乘法的三個要素輸入向量你手里各國貨幣的數(shù)量權重矩陣8國貨幣之間的匯率表輸出向量兌換成各國貨幣后的總額8國貨幣兌換問題一次環(huán)球旅行留下的數(shù)學難題假設你多年間去過8個國家手里恰好留有各國的零錢70美元、100歐元、20日元、80英鎊、40瑞士法郎、70加元、60澳元和100港幣。現(xiàn)在你要去其中某個國家旅行出發(fā)前想把所有貨幣一次性換成目的國的貨幣并且要核對銀行算得對不對。如果手工計算你需要對8個目標國家分別做8次換算一共64次乘法想想就頭大。這正是矩陣乘法的用武之地——一次運算全部搞定核心思路輸入向量 × 權重矩陣 輸出向量整個問題的數(shù)學模型可以濃縮為一行公式輸入向量各國貨幣數(shù)量 × 權重矩陣匯率表 輸出向量兌換總額其中匯率矩陣來自 currencyConversionMatrix.csv它是一張 8×8 的表格記錄了 USD、EUR、JPY、GBP、CHF、CAD、AUD、HKD 八種貨幣兩兩之間的兌換比例。比如第1行第1列的1.0000美元換美元比例當然是1第1行第2列的0.83641美元只能換0.8364歐元第2行第1列的1.19561歐元可以換1.1956美元當你把各國零錢向量與這張匯率矩陣相乘時每個目標貨幣的總額都會自動累加所有幣種的貢獻——這就是矩陣乘法的精髓一次計算批量產出。5分鐘實戰(zhàn)用NumPy矩陣乘法完成貨幣兌換下面我們進入動手環(huán)節(jié)。AIPND 在 matrixMultCurrency.ipynb 中提供了完整的實驗框架你只需補上關鍵的矩陣乘法代碼。第一步讀取匯率權重矩陣實驗先用 Pandas 讀取匯率 CSV 文件再轉換成 NumPy 矩陣得到 8×8 的權重矩陣并打印確認import numpy as np import pandas as pd # 讀取匯率矩陣權重矩陣 conversion_rates_df pd.read_csv(currencyConversionMatrix.csv, header0, index_col0) conversion_rates conversion_rates_df.values第二步一行代碼完成矩陣乘法核心運算這是整個實驗的靈魂步驟。實驗文件里留了一個 TODO要求你用np.matmul把貨幣向量money與匯率矩陣conversion_rates相乘得到輸出向量money_totals# 8國貨幣零錢向量輸入向量 money np.asarray([70, 100, 20, 80, 40, 70, 60, 100]) # 核心矩陣乘法計算兌換總額輸出向量 money_totals np.matmul(money, conversion_rates)如果你卡住了可以直接參考參考答案 matrixMultCurrencySolution.ipynb其中給出的正是money_totals np.matmul(money, conversion_rates)這一行。讀懂結果把8國貨幣全部換算成目標貨幣運行上面的代碼你會得到下面這張兌換總額表——它一次性給出了把所有零錢兌換成任意一種目標貨幣后的金額舉例來說全部換成美元USD約454.28美元 全部換成歐元EUR約379.96歐元 全部換成日元JPY約50593.59日元日元面值小所以數(shù)字大全部換成港幣HKD約3553.31港幣現(xiàn)在無論你的目的地是哪個國家都能在幾毫秒內得知自己值多少錢核對銀行的報價也變得輕而易舉。從貨幣兌換到神經(jīng)網(wǎng)絡矩陣乘法的更大舞臺這個貨幣兌換實驗看似簡單但它揭示的模式在 AI 領域無處不在。實際上神經(jīng)網(wǎng)絡的前向傳播正是同樣的計算結構輸入層的特征向量 這里的貨幣向量神經(jīng)元之間的權重矩陣 這里的匯率矩陣輸出的預測結果 這里的兌換總額理解了 8 國貨幣兌換的矩陣乘法你就理解了深度學習中最基礎也最重要的運算。AIPND 課程正是這樣層層遞進先用生活化的線性映射實驗幫你建立直覺再帶你進入真實的 AI 編程世界。總結一次實驗打通線性代數(shù)與AI的任督二脈通過 AIPND 的線性映射實驗我們學會了線性映射的本質輸入向量經(jīng)過矩陣乘法映射為輸出向量匯率矩陣的構造與解讀8×8 矩陣編碼了全部貨幣換算關系np.matmul 一行代碼完成64次手工乘法既快又不易出錯矩陣乘法的通用性從貨幣兌換到神經(jīng)網(wǎng)絡結構完全一致如果你也想親手體驗只需克隆 AIPND 項目倉庫地址https://gitcode.com/gh_mirrors/ai/AIPND 進入linearalgebra-linear_mapping目錄安裝依賴后打開 matrixMultCurrency.ipynb 即可開始。相信我當你在終端看到那一排兌換數(shù)字瞬間算出時你會愛上線性代數(shù)【免費下載鏈接】AIPNDCode and associated files for the AI Programming with Python Nanodegree Program項目地址: https://gitcode.com/gh_mirrors/ai/AIPND創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考