1. 程式人生 > >史上最生成形象的理解矩陣的維度和乘法

史上最生成形象的理解矩陣的維度和乘法

線性代數的維度如何理解?其實這個很簡單,以現在的找物件比喻,要看好幾個方面,看臉,看錢,看房子,看車子,看家境,看潛力等。這幾個方面就是幾個維度,有了這幾個維度的要求,則產生一一個行向量,所以可以說,行向量是個標準,也可以認為行向量是一個類。而具體的每個維度的值,則會產生一個列向量,所以可以說,列向量是基於標準的具體的值也可以認為是一個物件(C++程式設計中的物件啊)。找物件,就是行列匹配找最大值的過程。下面舉例說明:女孩找物件一般都看臉,也看有沒有錢,有沒有房,有沒有車子,家裡哪裡的。這是用五個維度考慮找物件這一個問題,假定其先後是:看臉,看錢,車,房,家境。顯然,不同的女孩子,其對各個維度看得的不一樣,假定總和為10,有這樣一女孩子,其所給出分配關係是:Girl1=[看臉=3,看錢=5,車=1,房=0,家境=1] ,這是女孩的標準,是有先後次序的。現在有3個男孩子來追這個女生,三個的情況分別是:Boy1=[臉=10,錢=1,車=0,房=0,家境=1],這個帥哥了,但是沒錢。Boy2=[臉=1,錢=10,車=0,房=0,家境=1],這是富一代了,但是臉不行Boy3=[臉=1,錢=1,車=10,房=10,家境=11],這是富二代了,有車有房,家境也好,錢好像不多。好,現在開始找物件,也就是匹配的過程,也就找最相似的一對的過程,其本質也是矩陣相乘。Girl1 X [Boy1 , Boy2, Boy3]=[3,5,1,0,1] |10, 1, 1 | 這一行是臉,為什麼這樣排列,因為有對比啊,有對比才有會傷害啊。 | 1, 10, 1 | 這一行是錢 |0 ,0, 10 |這一行是車 | 0, 0, 10 |這一行是房 | 1, 1, 11 | 這一行是家境可以這樣形象理解:在女孩面前,三個男的都站起來,形成一個個列向量,拿自身的情況和女孩的要求來匹配。這裡如何計算呢?顯然是拿男的情況和女的要求一點點匹配,且顯然只能輸出一行,三列。一行表示只有一個女生,三列表示三個男子的整體得分結果。顯然其結果為:|3*10 + 5*1 + 1*0+0*0+1*1 , 3*1 + 5*10 + 1*0+0*0+1*1 , 3*1 + 5*1 + 1*10+0*10+1*11 |=|36, 54, 29|女生和男生配對過程完畢,顯然相似度最高的是Boy2,按照這個標準,顯然Boy2和女生會牽手成功。再深入一點,如果有多個女生呢?顯然,左邊矩陣就是多行了,當然輸出結果也是多行,表示多個女孩的選擇結果。矩陣的乘法不能顛倒,原因是很顯然的,左邊是女的要求,是固定的維度,是標準,右邊是男的現狀,是具體的情況,要求和現狀不能混淆啊。

這個古怪的想法是在看一國外網址介紹矩陣科乘法想到的。

https://www.mathsisfun.com/algebra/matrix-multiplying.html

通過買東西講矩陣的乘法,很好理解。