机器学习中的向量
列向量
先說一個很重要的結論:機器學習中的向量是列向量。
另一個結論:用分號分隔不同的行,用逗號分隔同一行中的不同元素。
在線性代數中,列向量(Column vector)是一m×1m× 1m×1的矩陣,即矩陣由一個包含mmm個元素的列組成。
書寫方式1:
[x1x2?xm]\begin{bmatrix} x_1 \\ x_2 \\ \vdots\\ x_m \end{bmatrix} ??????x1?x2??xm????????
為簡化書寫、方便排版起見,有時會以加上轉置符號T的行向量表示列向量。
書寫方式2:
X=[x1,x2,...,xn]TX=[x_1,x_2,...,x_n]^T X=[x1?,x2?,...,xn?]T
為進一步化簡,習慣上會把行向量和列向量都寫成行的形式。不過行向量的元素是用空格或逗號隔開,列向量則用分號隔開。
書寫方式3:
[0?110]\begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} [01??10?]
X=[x1; x2; x3; x4]
這種方式也可以用于矩陣的書寫。
兩行兩列的矩陣,可寫為
A=[0,?1;1,0]A = [0,-1;1,0] A=[0,?1;1,0]
注:有人使用(),而非[]。
機器學習中的向量
我們以最簡單的線性回歸為例:
f(X)=w1x1+w2x2+w3x3+bf(X)= w_1x_1+w_2x_2+w_3x_3+b f(X)=w1?x1?+w2?x2?+w3?x3?+b
我們令:
W=[w1,w2,w3]TX=[x1,x2,x3]T\begin{aligned} W =& [w_1, w_2, w_3]^T \\ X =& [x_1, x_2, x_3]^T \end{aligned} W=X=?[w1?,w2?,w3?]T[x1?,x2?,x3?]T?
則f(X)=WT?X+bf(X) = W^T*X+bf(X)=WT?X+b
深度學習中的向量
我們以一個簡單大深度學習為例:
5個輸入節點—第一隱藏層3個節點----第二隱藏層4個節點----2個輸出節點。全連接。
輸入為(51):
X=[x1,x2,x3,x4,x5]TX = [x1, x2, x3, x4, x5]^T X=[x1,x2,x3,x4,x5]T
第一隱層(35):
W1=[w11,w12,w13,w14,w15;w21,w22,w23,w24,w25;w31,w32,w33,w34,w35]B1=[b1,b2,b3]T\begin{aligned} W1&= [w11,w12,w13,w14,w15;w21,w22,w23,w24,w25;w31,w32,w33,w34,w35] \\ B1&=[b1,b2,b3]^T \end{aligned} W1B1?=[w11,w12,w13,w14,w15;w21,w22,w23,w24,w25;w31,w32,w33,w34,w35]=[b1,b2,b3]T?
第二隱層(43):
W2=[w11,w12,w13;w21,w22,w23;w31,w32,w33;w41,w42,w43]B2=[b1,b2,b3,b4]T\begin{aligned} W2&=[w11,w12,w13;w21,w22,w23;w31,w32,w33;w41,w42,w43] \\ B2&=[b1,b2,b3,b4]^T \end{aligned} W2B2?=[w11,w12,w13;w21,w22,w23;w31,w32,w33;w41,w42,w43]=[b1,b2,b3,b4]T?
輸出層節點(24):
W3=[w11,w12,w12,w14;w21,w22,w23,w24]B3=[b1,b2]T\begin{aligned} W3=&[w11,w12,w12,w14;w21,w22,w23,w24] \\ B3=&[b1,b2]^T \end{aligned} W3=B3=?[w11,w12,w12,w14;w21,w22,w23,w24][b1,b2]T?
所以計算過程為(不考慮激活函數):
f1=W1?X+B1f1 = W1*X+B1f1=W1?X+B1, 輸出維度為(3?5)?(5?1)=3?1(3*5)*(5*1) = 3*1(3?5)?(5?1)=3?1
f2=W2?f1+B2f2= W2*f1+B2f2=W2?f1+B2,輸出維度為(4?3)?(3?1)=4?1(4*3) * (3*1) = 4*1(4?3)?(3?1)=4?1
f=W3?f2+B3f = W3*f2+B3f=W3?f2+B3, 輸出維度為(2?4)?(4?1)=2?1(2*4)*(4*1) = 2* 1(2?4)?(4?1)=2?1
最終輸出為[o1,o2]^T
總結:
每一層的W維度為:節點數量上一層的輸出數量
每一層的輸入維度為上一層的(輸出數量1)
B的維度為:節點數量1
每一層的輸出維度為:節點數量1
總結
- 上一篇: 机器学习中的常用概率分布
- 下一篇: 向量的范数