2022年1月22日星期六

知識之源

我們的生活和電腦息息相關,由早上起床開始,我們的一舉一動,其實也會有電腦在記錄,例如我們出門口乘撘升降機的時間,利用八達通使用交通工具,到商店以信用卡或以八達通來付款,我們無論身處何方,我們口袋裡的手提電話便會跟最近的發射站接上,變相是把我們的手機(亦即是我們)的位置留在電訊商的紀錄裡。這次我不是想討論私隱問題,而是想談談當一些機構記錄了我們的行為之後,他們可以做些什麼?

在計算機科學裡,有一門學問便是去從眾多客戶的數據之中,推算出有用的資料,為的是將來能作出更適合客戶的服務。這門學問名為數據發掘(Data mining),近年亦流行了另一個字眼,大數據(Big Data),這門學問便是要在海量的數據量找出知識,所以又有另一個相關的用語,機械學習(Machine Learning)。

數據發掘中的關聯規則(Association rule)便是用以找出數據中的事項的關係,例如著名的星期五買啤酒尿片現象:超級市場利用數據發掘技術,研究客戶購物的習慣,他們發現在星期五當天,很多人同時購買啤酒和尿片,因此,超級市場便可以把售賣啤酒和尿片的位置放在附近。

關聯規則定義了兩個數量,confidence和support。confidence的定義是在所有事項裡,甲事項和乙事項同時出現的次數,在所有事項裡甲事項出現的次數的比例(或百份率)。而support的定義是甲事項和乙事項同時出現,在所有事項中的比例(或百份率),當這兩個數值都是高於某預先設計的值,我們便宣稱甲事項和乙事項為有關。

以下是一個例子,在一千次事項之多,甲出現次數為十次,而甲事項和乙事項同時出現為八次,那麼confidence是80%(八次甲和乙一齊出現,除以甲出現了十次),而support則是0.8%(八次甲和乙一起出現,除以所有事項一千次)。

有沒有想過我們生活之中,其實有時也用了這關聯規則來認知我們身處的世界?例如有一位女性,他的男朋友是一位保險經紀,所以他每天午飯都是和不同的客戶進餐,例如一年之中,便和二百個客戶進午餐,而當中便有一百個女性客戶,另外,當年便和某女性客戶進了兩次午餐,如果以甲事項為男朋友和女性客戶進午餐,而乙事項為男朋友和某女性客戶進午餐,根據以上定義,confidence是2%而support是1%,由此可見,這位女性不用擔心其男朋友和那女性客戶有什麼「關聯」。

但是如果換上另外一些數字,例如那女性的男朋友是一位於辦公室工作的職員,他每天都和同事外出進午餐,一年裡的二百五十個工作天,便有一百五十個工作天只和一位同事進午餐,而當中和同一位女同事進午餐的日子便有一百個工作天,如果用相同甲乙事項定義,男朋友和這位女同事共進午餐的confidence和support分別是66.7%和40%。如此,這女性真的要擔心她男朋友和這女同事是否有什麼關聯。

舉另一個例子,例如某兩個頑皮學生會在課室內搗亂,某學年裡AB兩個學生上了一百堂,都是搗亂了十次,學生A在所有十個科目都會搗亂,而學生B則只在某一科目搗亂,如果以甲事項為學生搗亂,而乙事項為當時為某一科,學生A在某一科搗亂的confidence和support為1%和1%,而學生B在他會搗亂的科目的confidence和support為100%和10%。由此可見,學生A搗亂和上那一科目無關,而學生B搗亂和上那一科目較明顯有相關,至於學生B為什麼會在那某一科目搗亂,則要老師繼續跟進了。

我們的心目中不會真的去計算confidence和support,但是卻會去主觀性以所見所聞去改變confidence和support,到了confidence和support到達某一點時,便會作出某一推論,跟著便會嘗試找出原因。數據發掘便是以方程式量化了我們心中主觀的學習識知模式,相當有趣。

說了那麼多,其實只是一句,數據發掘告訴我們,如果某兩件事偶一出現,只是個別事件,不能代表這兩件事有關,但是如果這兩件事一同出現的次數越來越多,這兩件事定必有其關聯,慢慢我們可以這關聯作為一新知識,至於其背後原因是什麼,則須要當事人去思考了。

沒有留言:

發佈留言

千言萬語

 電腦這個詞語,給我們的感覺是一件像我們人類腦袋的東西,擁有記憶,懂得思考,但是在英文原字Computer,其實只指是一部懂得運算的設備而已,能令一部只懂得運算的設備變成一部像我們人類般思考,懂得完成無數的工作,是隨著電腦發展而被研發出來的程式語言。到了今天,已經有數以千計的程式...