本篇筆記,可作為《邏輯小站》【邏輯與ai】欄目中機器學習板塊的內容。
如果把「線性代數」比作一座大廈,那麼「向量」就是這個大廈的磚石了。「向量」是學習線性代數所有其它內容的起點和基礎。
在開始以前,首先讓我們對齊你和我對「向量是什麼」這個問題的回答。從最廣的意義上,對「向量」可以從三個視角理解:
物理學的角度
計算機程式設計的角度
數學的角度
從物理學的角度,所謂「向量」就是乙個具有方向和大小的量,通常是在平面上用箭頭表示。乙個平面向量可以出現在任何位置,但只要方向和大小相同,向量就是相等的。除了二維平面向量,還有三維的空間向量。
從計算機程式設計的角度,向量只是一列有序的數字,這列數字可以用縱列(column)表示:
例如,我可以用一列數字描述我未來想要買的房子,其中,我最關心的是房子的**和面積大小,所以我可以用兩個數字表達對未來我要購入的房子關切點:
面積:100m²
**:¥800,000
把這兩個關切點轉換成向量就是:
值得注意的是, 向量的兩個數字的位置極為重要,例如第一行數字表示面積,第二行表示**,如果沒有順序限制,兩個向量就無法比較。因此,
在程式設計師看來,所謂「向量」無非就是乙個列表結構,其成員是數字。列表的成員數量反映了維度數。例如上例的向量就是二維向量。
而站在數學的角度,則是綜合了這兩個視角,把任意向量看作是另外兩個帶係數的向量的和。
為什麼單一向量要看作是另外兩個帶係數的向量的和?因為這就是我們理解向量以及線性代數實質的關鍵。因此,要深刻理解向量,首先要從向量的加法和向量的標量乘法開始。
不過,在討論向量的這兩種運算之前,先看一下線性代數是如何描述向量的。首先,向量有乙個幾何「形象」—— 箭頭。
這一點和物理學不同,因為物理學中的向量可以分布在任何位置。把向量的幾何形象箭頭放入直角座標系,我們就可以得到許多關於向量的新的概念。首先,我們可以把幾何表示轉換成一列數字,而這些數字和其幾何表示的對應關係,對於理解線性代數的核心概念非常重要。在這個語境下,我們關注的目標有三個:
1. 向量的幾何表示:乙個從原點出發到達座標系中任意確定的一點做一線段,線的頭部冠以箭頭;
2. 向量的代數表示:一列數字,表示箭頭所處的在座標系中的位置——座標點(cooridinate),數字的數量,由座標系的維度決定;
3. 直角座標系,這是任何有中學數學基礎的人都熟悉的東西,不過在這裡,我們將以新的視角重新理解座標系的概念。首先,我們關注的是平面二維直角座標系。
乙個直角座標系,是由兩條相互垂直的直線構成,分別稱作x-軸和y-軸,兩線的交叉點稱作原點。在這個座標系上的所有向量的幾何形象都始於原點。有了兩條水平和垂直的數軸之後,我們可以選擇【任意】長度作為單位,在座標系統中表示1。這句話非常重要,座標系統中作為單位長的1,其實際長度是任意的,也就是說,現在我們可以選擇長度為7mm的距離作為單位長,未來為了某種需要我們可能改變這個單位的實際長度,例如14mm。現在需要想象的是,同一座標系上的乙個向量,如果座標系的單位長度改變,甚至座標系的角度改變,是否影響向量的表示。
如果要用這個直角座標系描述整個二維空間,那麼這個刻度就不再僅僅限於座標縱橫數軸本身,而是整個二維空間。
什麼時候我們需要這樣的網格空間?答案是當我們需要考慮在這個空間中所有向量時。如果我們的關注點只是少數幾個向量時,我們仍然採用原來的座標系表示法。
現在我們回到「向量」的話題。向量在座標上的代數表示,是一對數字,稱作「座標點」,它的作用是確定從原點出發的向量如何得到它在座標系上的頂點:
其中,[-2, 3]所代表的意義是:
-2:表示這個向量沿著x-軸向左移動了2個單位,
3:表示這個向量沿著y-軸向上移動了3個單位,
這裡有兩個重點,一、移動:所有向量都可以看做是點從原點位置出發移動所產生的;二、移動方式,先不要把這個移動看做是從原點到頂點座標的直接移動,而是分兩步進行:先水平移動,後垂直移動,或反之。為什麼,這一點非常重要,當後面討論向量運算時就會明白。現在所要理解的就是,二維向量是由兩個「普通」的數合成的。
我們有時需要區分向量和點的概念。在表示方面,向量是縱列的兩個數,而點則是我們通常熟悉的方法:(-4, 2)。
向量有乙個重要性質:每對數字只能表示乙個平面向量;而乙個平面向量只能對應於唯一一組數字。在三維座標系中,
下面,我們開始討論向量的基本性質之一:向量的加法和向量的標量乘法。這兩種運算,是最重要的「線性運算」。首先,我們來看向量的加法運算:當二維空間存在兩個以上的向量時,我們將用網格形式表示:
圖中,我們有兩個向量:v 和 w,從幾何的角度,兩個向量的加法,就是把w移到v的頂端,兩個向量首尾相連,這樣,兩個向量的和就是從原點到移動後w的頂點。從直觀上來看,從原點到w的頂點,有兩條通路:從原點經v 和 w,到達終點,另一條則是抄近道:從原點直接到終點。這個「抄近道」得到的新向量就是v + w的和。
如何理解向量的加法運算?正如前面所說,向量的形成是通過點的移動形成。如果從整個座標空間考慮,向量v的形成,所代表是在座標空間中「一類」點的移動。
如果你仍然從概念上不太理解為什麼向量加法的實質是兩箭頭首位相接,那麼請看下面的x-軸上的加法。
2+5 是由向量[2,0]和向量[5,0]構成,兩個向量首尾相接,後面向量的值正好是[7,0]。與之相對,我們可以從原點直接到[7,0]。從這個例子可以看出,我們在小學學習的加法,實際上是向量加法的特例,是沒有其它維度量參與的加法運算;第
二、向量加法實際上是量和方向的疊加。
如果從代數角度分析,那麼這兩個向量所代表的座標值分別為
其結果為:
除了向量加法,另乙個重要運算就是標量乘法。在討論標量乘法之間,讓我們先了解一下「標量」(scalar)是什麼概念。scalar這個詞的原形是scale,基本意思是:體量規模的大小伸縮。scalable,是指一件事物可大可小、適應能力強。scalar的意思是,能讓某個向量的體量改變的量。這一點可以從我們小學的乘法運算看出基本意思。雞蛋3塊錢一斤,買了5斤,一共是15塊錢。其中,3的單位是錢,而5的單位是重量。3塊 x 5斤,所表示的,3這個量被5放大,所以得到的值是放大了5倍的貨幣的值。因此我們可以把3塊看做是乙個一維向量,把5斤看做是幫助這個量放大體量的量,亦即,5個3塊錢。如果向量不是一維而是二維,例如向量v,[3,1],如果體量翻番,則是 [3,1] x 2 = [6, 2]。
因此,所謂「標量」,其意義就是使向量可以伸縮的量,其型別就是上面提到了「普通」的實數。下面表示的就是向量v = [3,1]在平面座標系的幾何表示:
做標量運算:v * 2 = 2 v = [6, 2]
如果標量大於0小於1,這個標量令向量的體量變小。
標量除了可以改變向量的大小,還可以改變向量的方向,
標量的作用是:通過值改變向量的體量,通過正負號改變向量的方向;如果只改變體量而不考慮方向的改變,亦即,標量的絕對值,那麼標量對向量的作用稱做scaling,大致可以譯作「體量伸縮」。
因此標量的真正含義是:伸縮量,它的型別是任何實數、有理數或整數。
有了向量加法和標量乘法的概念,我們就可用這兩個運算定義任意向量。下面再仔細看一下向量v
我們可以把這個向量看做是兩個向量經過向量加法和標量乘法運算的結果:
首先設有乙個沿x-軸的一維向量i = [1,0],這個向量通過標量乘法向右延伸3個單位:i * 3 = 3i:代數表示:3 · [1,0] = [3, 0]
同樣,設有乙個沿y-軸的一維向量j = [0,1],這個向量通過標量乘法向上保持是乙個單位:j * 1 = 1j,代數表示:1 · [0,1] = [1, 0]
兩個向量相加:3i + 1j = [3,0] + [0,1] = [3,1]
這正好是v的向量值。這個事實告訴我們,向量v可以由i和j定義,而v的向量值[3, 1]可分別看做是i和j的標量。因此,i和j是構成任何向量的基本要素。這裡,我們暫且把i和j稱作【單位向量】。總之,向量v,是單位向量i和j,與向量值[3,1]中的兩個標量3, 1經過標量乘法和向量加法運算的結果。
推而廣之:任何向量 v = [m, n],都可以看做是單位向量i = [1,0]和j=[0,1]經過標量乘法和向量加法運算得到的結果:mi +nj = v。這兩個單位向量i和j,標準術語是:【基向量】(basis vector)。
向量的三個視點:
物理視點:帶有方向和大小的量;
計算機程式設計視點:有序的實數序列,通常用方括號的縱列表示。
數學視點:物理視點與程式設計視點的結合,乙個向量在直角座標系中既有幾何解釋也有代數表示。
向量,代表了我們對某個物件的量化關注點,例如一開始的例子:未來的房子。這些量化的關注點在現實世界中可以有成千上萬:
這些關注點可以化作幾何形態的座標向量:
關注點,在現實生活中稱作資料,在機器學習的語境中稱作「特徵」(feature)。通過向量的研究,我們可以發現資料的模式,找到需要的資訊。
在整個在平面直角座標系中所形成的網格系統,可以看做是乙個二維空間,每乙個「格」可以看作是這個空間的基本單位,代表了i+j——基向量,因此所有這些基本單位的集合,稱作「向量空間」。
線性代數 線性代數的本質
線性代數在機器學習的領域中扮演者十分重要的角色,所以這裡岔開先整理一些線性代數的基本概念和計算方法。這裡是3blue1brown的線性代數課程的截圖和筆記。作為快速複習的網路筆記。本課程的特點 通過影象展現線性代數計算在幾何圖形上意義。這樣能更好的理解線性代數為什麼叫做線性代數。線性代數為什麼採用這...
線性代數的本質 什麼是向量?
1 計算機專業視角 不是對立的而是相通的 對於做機器學習,資料分析方面的人來說,我們常用 特徵向量 所以對於我們來說,向量是資料列表,是建模目標的特徵值。2 物理學專業視角 向量勢空間中的箭頭,箭頭代表方向,箭身代表數值大小,向量可以自由移動,只要方向和大小不變。3 數學家的視角 數學家試圖去概括這...
線性代數的本質
比如說,在全國一般工科院系教學中應用最廣泛的同濟線性代數教材 現在到了第四版 一上來就介紹逆序數這個古怪概念,然後用逆序數給出行列式的乙個 極不直觀的定義,接著是一些簡直犯傻的行列式性質和習題 把這行乘乙個係數加到另一行上,再把那一列減過來,折騰得那叫乙個熱鬧,可就是壓根看不出 這個東西有嘛用。人開...