机器学习中的向量
列向量
先說一個(gè)很重要的結(jié)論:機(jī)器學(xué)習(xí)中的向量是列向量。
另一個(gè)結(jié)論:用分號(hào)分隔不同的行,用逗號(hào)分隔同一行中的不同元素。
在線性代數(shù)中,列向量(Column vector)是一m×1m× 1m×1的矩陣,即矩陣由一個(gè)包含mmm個(gè)元素的列組成。
書寫方式1:
[x1x2?xm]\begin{bmatrix} x_1 \\ x_2 \\ \vdots\\ x_m \end{bmatrix} ??????x1?x2??xm????????
為簡化書寫、方便排版起見,有時(shí)會(huì)以加上轉(zhuǎn)置符號(hào)T的行向量表示列向量。
書寫方式2:
X=[x1,x2,...,xn]TX=[x_1,x_2,...,x_n]^T X=[x1?,x2?,...,xn?]T
為進(jìn)一步化簡,習(xí)慣上會(huì)把行向量和列向量都寫成行的形式。不過行向量的元素是用空格或逗號(hào)隔開,列向量則用分號(hào)隔開。
書寫方式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]
注:有人使用(),而非[]。
機(jī)器學(xué)習(xí)中的向量
我們以最簡單的線性回歸為例:
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
深度學(xué)習(xí)中的向量
我們以一個(gè)簡單大深度學(xué)習(xí)為例:
5個(gè)輸入節(jié)點(diǎn)—第一隱藏層3個(gè)節(jié)點(diǎn)----第二隱藏層4個(gè)節(jié)點(diǎn)----2個(gè)輸出節(jié)點(diǎn)。全連接。
輸入為(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?
輸出層節(jié)點(diǎn)(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?
所以計(jì)算過程為(不考慮激活函數(shù)):
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
總結(jié):
每一層的W維度為:節(jié)點(diǎn)數(shù)量上一層的輸出數(shù)量
每一層的輸入維度為上一層的(輸出數(shù)量1)
B的維度為:節(jié)點(diǎn)數(shù)量1
每一層的輸出維度為:節(jié)點(diǎn)數(shù)量1
總結(jié)
- 上一篇: 机器学习中的常用概率分布
- 下一篇: 向量的范数