2017年12月26日 星期二

Python Deep Learning 深學筆記 - 2 維陣列 ê 運算



請共教育部閩南語常用辭典開--咧,隨時會當查。

今仔日這篇, 是單純介紹 2 維陣列 (2-dimension Matrix) ê  運算. 這是單純數學ê概念, 閣加一寡使用 Numpy 來計算2 維陣列 ê 方法. 若是你本底就會曉親像 Dot 運算 (華語: 內積, 台羅: tat 運算, 抑是點運算), 這對你就真簡單.

啥mi̍h是 2 維陣列 (Matrix)?

2 維陣列 (英文: Matrix, 台羅: Mé-tsuī-khū-sù, 簡單講 Mé-tshuì), 華語有時嘛翻做矩陣 (台羅: kú-tīn), 就是kā一陣數字排做伙, 干焦軍隊踢正步按呢四正仔四正, 逐个數字攏有伊佇咧直个算來第幾个, 橫ê算來第幾个ê位置, 咱舉一个例:


伊是一咧兩逝三排 ê 矩陣. 你 uì 逝(row) 看去, 伊是兩个一維陣列. uì 排(column) 看去, 伊是三排一維陣列, 這 2 和 3, 就號做伊的維度. 咱先來用 Numpy 做一咧Mé-tshuì:

>> A = np.array([[1, 2, 3 ], [4, 5, 6]])
>> A.shape()
(2, 3)

你會當看著 (2, 3), 表示伊是一个 2x3 ê Mé-tshuì.

毋過, 佇 Python 內底, 抑是真濟其他 ê 程式語言內底, 伊佇排順序个時, 攏是uì 0 開始, 所以, 咱這馬都會使佮 1, 2, 3, 4, 5, 6 佇這个 Mé-tshuì ê 位置寫綴佇數字邊阿:

抑就是咱若是予kā這个 Mé-tsuì 名叫 A, A(0,0) 就是 1, A(1,2) 就是 6. 若是干焦 A(0), 就是 kā 規个 row 0 (lóo-lîng) 掠出來
>> A[1, 2]
6
>> A[0]
array[1, 2, 3]


Matrix ê Dot 運算 (台羅:Tot)

有人是 kā 伊講做 "乘", 毋過, 對 Matrix 來講, 咱真僫用整數 "乘" 个概念來了解伊, 我是感覺用英文 (Dot) 音譯就好--阿. 當然, 你欲講 "點" 運算, 抑是華語直翻 "內積" 嘛由在你. 總--是, 有人用上重要, 濟人用上重要. 用久, 自然會產生共識. 上驚就是討論規半工, 堅持家己, 落尾連家己嘛無用, 閣旋轉去用華語, 按呢是來亂--ê--nih?

咱這馬先用一个 2x3 和 3x2 ê Matrix 做 tot 運算內做例:

Tot 運算是按呢: kā tot (*) 倒手爿 ê Mé-tshuì ê 逝, 和伊正手爿 ê Mé-tshuì ê 排, 有對同 ê 元素做乘法, 才閣 kā 乘出來 ê 數字合--起來, 成做落尾結果 ê 元素.

[1,2,3] 是 0 逝, [ 7, 8, 9 ] 是 0 排, 結果 1*7+ 2*8+3*9 = 50 就囥佇 (0, 0)
[1,2,3] 是 0 逝, [ 10, 11, 12 ] 是 1 排, 結果 1*10+2*11+3*12=68 就囥佇 (0, 1)
[4,5,6] 是 1 逝, [ 7, 8, 9 ] 是 0 排, 結果 4*7+ 5*8+6*9 = 122 就囥佇 (1, 0)
[4,5,6] 是 1 逝, [ 10, 11, 12 ] 是 0 排, 結果 4*7+ 5*8+6*9 = 167 就囥佇 (1, 1)

所以咱會使知影:
1. * 前仔 ê 排, 和後壁 ê 逝, 數目愛仝款. 比如講: 2x3 tot 3x2, in ê "3" 是仝--ê.
2. 算出來新ê Mé-tshuì, 伊个維度是前仔彼咧 ê 逝 ê 數目, 和後壁彼个 ê 排 ê 數目, 比如講: 2x3 tot 3x2, 結果是 2x2 ê 維度, 中方 ê 3 佇運算過程中消失去--阿.


用 Numpy 來做 Dot 運算

參考 matrix2.py,  numpy ê dot 運算是 numpy.dot()

import numpy as np

A = np.array([[1,2,3], [4,5,6]])
B = np.array([[7,10],[8,11],[9,12]])
print(A.shape)
print(B.shape)
result = np.dot(A, B)
print(result)

伊个結果是:

$ python3 matrix2.py 
(2, 3)
(3, 2)
[[ 50  68]
 [122 167]]




沒有留言:

佇 Linux 來看GPX 檔案

最近定定有戶外活動。使用𤆬路機 (GPS) 來記錄行過的路線。普通我記錄路線,攏是用手機仔抑是專門个𤆬路機,罕得用電腦來看。 毋過,"仙人拍鼓有時錯,跤步踏差啥人無"。有一擺我無細膩,袂記得共一擺活動的路線收煞起來,閣直接開始記錄下一擺的活動,按呢共幾落...