在谷歌搜索引擎問世之前,網(wǎng)絡(luò)搜索是一件很讓人崩潰的事情。那時(shí)的搜索引擎常常給出一些不相關(guān)的搜索結(jié)果。而你想找的網(wǎng)站不是排在網(wǎng)站列表的第50 頁,就是顯示根本找不到。由于有了“鏈接分析”的算法,上述問題如今已被解決。“鏈接分析”算法的原理聽起來像是一條似是而非的禪理:網(wǎng)絡(luò)搜索應(yīng)該反饋?zhàn)罴丫W(wǎng)頁。那么,什么樣的網(wǎng)頁是最佳網(wǎng)頁呢?最佳網(wǎng)頁是那些鏈接著其他最佳網(wǎng)頁的網(wǎng)頁。
這聽起來有點(diǎn)兒循環(huán)論證的意味。事實(shí)上,這就是一個(gè)循環(huán)論證,而且這個(gè)理念的深刻之處就在于它的循環(huán)論證性。“鏈接分析”征服了這個(gè)循環(huán)論證,把劣勢(shì)變成了優(yōu)勢(shì),最終,一種柔術(shù)般的網(wǎng)絡(luò)搜索方法橫空出世了。
這種算法的數(shù)學(xué)基礎(chǔ)是線性代數(shù)。線性代數(shù)是處理向量和矩陣的一種數(shù)學(xué)工具,當(dāng)你想從大量數(shù)據(jù)中發(fā)現(xiàn)規(guī)律,或者進(jìn)行含有數(shù)百萬個(gè)變量的超大型計(jì)算的時(shí)候,你就需要用到線性代數(shù)。線性代數(shù)除了可以幫谷歌公司設(shè)計(jì)出“網(wǎng)頁排序號(hào)”的搜索算法,還可用于人臉識(shí)別技術(shù)、分析高等法院的判決規(guī)律、贏得網(wǎng)飛(Netflix)公司的百萬美元大獎(jiǎng)等。
為了解釋線性代數(shù)的工作原理,我們以谷歌的網(wǎng)頁鏈接搜索技術(shù)為實(shí)例進(jìn)行說明。當(dāng)然,現(xiàn)實(shí)中這個(gè)技術(shù)是非常復(fù)雜的,但此處我們只看一個(gè)極度簡(jiǎn)化的模型。假設(shè)有一個(gè)迷你網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)只含有3個(gè)頁面X、Y和Z,這3個(gè)頁面的鏈接方式如下圖所示。
上圖中的箭頭含義如下:頁面X含有頁面Y的鏈接,但是頁面Y卻不含有頁面X的鏈接。頁面Y含有頁面Z的鏈接。頁面X和Z互相鏈接。
下面,我們考慮這樣一個(gè)問題:在這個(gè)迷你網(wǎng)絡(luò)中,哪個(gè)網(wǎng)頁最重要,哪個(gè)網(wǎng)頁最不重要?你可能會(huì)說,信息不足回答不了這個(gè)問題,因?yàn)槲覀兺耆恢肋@3個(gè)網(wǎng)頁的內(nèi)容。抱歉,你的這種說法已經(jīng)過時(shí)了。事實(shí)證明,通過研究網(wǎng)頁的內(nèi)容來研究網(wǎng)絡(luò)搜索是行不通的,這種方法現(xiàn)在基本被淘汰了。計(jì)算機(jī)不大善于評(píng)判一個(gè)網(wǎng)頁的內(nèi)容,而我們也不可能人為地去做這件事情,畢竟每天都有成千上萬的新網(wǎng)絡(luò)頁面產(chǎn)生。