690 likes | 816 Views
Nearest Neighbor Approaches: Memory-Based Reasoning and Collaborative 記憶基礎推理. 報告大綱. 一、前言 二、 C ase Study :到底誰才是鄰居? 三、記憶基礎推理如何運作 ? 四、如何增進 MBR 作業效能 ? 五、 Case Study :新聞報導分類 六、反查與準度的範例 七、距離的測量 八、結論. 一、前言. 前言. 人們總是藉著過去的經驗做判斷,例如 : 當你聽到說話不捲舌 , 你會覺得她是台灣人,為什麼?
E N D
Nearest Neighbor Approaches:Memory-Based Reasoning and Collaborative記憶基礎推理
報告大綱 • 一、前言 • 二、Case Study:到底誰才是鄰居? • 三、記憶基礎推理如何運作? • 四、如何增進MBR作業效能? • 五、Case Study:新聞報導分類 • 六、反查與準度的範例 • 七、距離的測量 • 八、結論
前言 人們總是藉著過去的經驗做判斷,例如: • 當你聽到說話不捲舌,你會覺得她是台灣人,為什麼? • 當醫生要診斷一個病人時,會依據過去的經驗與眼前的症狀來做判斷及比對,為什麼?
MBR (Memory-Based reasoning) • 以上的敘述都是MBR的原理,只不過是換成了由人工智慧進行比對。根據現有的資料庫,“記憶基礎推理”先找出新資料的“鄰近資料”(Neighbor),然後根據鄰近資料,對新資料進行分析和預測。
關鍵運用(一) • MBR不在乎資料的格式 • 必備要項 • (1).距離函數(Distance Function) -負責判斷兩筆資料差異到底有多大 • (2).組合函數(Combination Function) -將若干相似資料的結果結合,以 產生答案。
關鍵運用(二) • MBR的相關應用例子 • (1).詐欺案件的判斷 • (2).顧客回應預測 • (3).最佳醫療措施選擇 • (4).顧客反應分類(顧客抱怨單)
MBR優點 • 相較於其他Data Mining技術時,MBR的簡易使用常讓人低估了他的強大能力. • 只要定義出距離函數與組合函數,MBR的可以分析任何形式的資料-例如:地理區位、影像、純文字等。 • 它能同時將新資料和舊資料結合,同時能從舊資料中分析出新的分類項和定義。
到底誰是鄰居? • Tuxedo與New York的租金 一般人的概念,地理上鄰近的城市,也就是其鄰居,租金應該都差不了多少。 但是妥善運用MBR後,我們將會重新認識並且定義什麼是“鄰居”。 MBR考慮的觀點較為客觀,而非單純是 地理上的相關,而是包含人口數、 房屋價值中位數…等。
到底誰才是真正的鄰居? • 作法: (1).從散佈圖中找出最鄰近於目標的點 (2).整合目標資訊 答案:Shelter Island & North Salem 是Tuxedo的鄰居
所以,租金是… • Average the most common rents of the two neighbors (use midpoint of the range) • (625+1250)/2,租金約是$938 • Or, pick the point midway between the two median rents: • (804+1150)/2, 租金約是$977
MBR操作 • MBR有兩個明顯的分析階段: (1)學習階段-產生歷史資料庫 (2)預測階段-將MBR運用在新資料上 • 運用MBR的三項前置準備工作: (1)選擇適當的訓練資料集。 (2)找出最具效率的方式表達歷史記錄 (3)設定距離函數、組合函數和鄰近資料集的數目
選擇一個歷史記錄的平衡資料集 定義:現有資料的子群組或是訓練資料集 (Training Set) 限制:訓練資料集必須能涵蓋大部分可能情況,如此新記錄的鄰近資料才能作為良好的預測基礎 作法:建立訓練資料集時,不同類的資料記錄的數目應該要平衡。 Tip:選擇資料組時,除確保約略相等的樣本數之外,每類最好有數十筆。
訓練資料的表示方法(一) • MBR在預測效率取決於訓練資料組如何表示。現今最常用的是關聯式資料庫。 • 需要比對每一筆資料和此筆紀錄的距離,然後才能產生出最接近的鄰近資料集。當訓練集資料集累積越多筆資料時,比對時間將急速上升。 • 在關聯式資料庫為一筆新紀錄找尋鄰近資料集,雖需要掃描整個資料庫,但還算不會耗時太久;可是如果同時為多筆新紀錄找尋他們的鄰近資料集時,需多次完整掃描整個資料庫,將會嚴重耗用電腦資源 • 解決之道1:縮減訓練資料集,不使用整個資料庫,見圖8.2
訓練資料的表示方法(二) SELECT distance ( ) ,rec. category FROM historical_records rec ORDER BY 1 ASCENDING; • Distance( )運算是可以帶進任何特定的距離機制,這個運算需要掃描整個資料庫。 • 此步驟非常耗時,因此,同時保存最相似的表格(解決之道2),視情況加入或刪除記錄,但是這些必須透過其他的程式語言,在SQL環境下無法執行。
增進MBR作業效率 • 減少歷史資料庫的紀錄數量,“前提”:訓練資料組的大小可以大幅的影響記憶基礎裡作業效率。 • 作法:找出含有不同分類項的群集,則各級群的中心可當成縮減的訓練資料集。 • 條件:不同的分類項要離的夠遠,若有重疊或界線不明時,將使MBR產生誤差。 • 找出“Support Records”。
新聞報導分類 • 採用哪些關鍵字作為分類編碼? 政府機關、工業、商業、產品、地區、主題 “幾乎所有的新聞稿件都有地區和主題編碼,有時甚至有三個編碼”
MBR運用 依照以下四個步驟改善新聞的分類編碼作業 • 1.選擇訓練資料集 • 2.設定距離函數 • 3.設定鄰近資料集數量 • 4.設定組合函數
選擇測試資料組 • 測試資料組包含了49,652件新聞。這些資料是三個月的新聞稿與100個消息來源。每一則平均有2700字(words)和八個編碼。 • 1.沒有經過篩選,為反映真實散佈 2.若能採用具有更多罕見編碼的 訓練資料組會更好
設定距離函數 • 利用“相關回饋”(Relevance Feedback)的測試標準,由任何兩則新聞稿的文字內容比對他們的相似度。 • 採用最相似的新聞稿當成MBR所需要的鄰近資料
利用相關回饋建立距離函數(一) • 相關回饋是一種能夠讓使用者在比對相似資料庫,用以進行精細分析的強大技術。 • 作法:1.去除沒有附載有價值意義的單字 ex: it、of 2.將前20%最常出現的詞彙去除 3.剩下的字最轉存到一個可搜尋術語 的字庫中,每個字給予加權值(-log2fi) 4.複合語詞的納入 ex: United States、New York 5.計算兩篇報導之間的相關回饋分數 score(A,B) 為A與B各自的字的權值的加總
利用相關回饋建立距離函數(二) • 相關回饋是利用現有函數的修正用來取代真正的距離函數。 • 公式: • 利用上面的公式將相關回饋分析轉換成一般的距離公式。
設定組合函數(一) • 組合函數採用加權總值技術(Weighted Summation Technique):每一筆鄰近資料都有一個距離倒數成正比的權值,所以越相近的資料組就有越高的加權值。 • 表8.3為未分類新聞找出相似者
設定組合函數(二) • 表8.4為未分類新聞評分 若將門檻值設為1,則此篇文章可以指派的code為 R/CA, R/FE, and R/JA
設定鄰近資料集數量 • 此案例嘗試使用1~11個鄰近資料集數目,發現使用越多鄰近資料集數目,結果越好 • 此例,因每則新聞會得到的分類項不只一個。 • 較典型的問題是配置在單一編碼或分類項,此情況則較少的鄰近資料集數目,反而較好。
結果(一) • 為了測試MBR在編碼上的有效程度,我們將200則由人工(專家)及MBR編碼的新聞稿混合結果,交由一群編輯進行複審,只有過半數同意才能被當成“合格”。 • 結果:人工編碼正確的數目比上“合格”編碼數目為88%(recall, 回想);然而,人工編碼正確的數目比上人工編碼全部為83%(precision, 精確),即不正確比例為17%。
圖8.4 利用人工作業及MBR將新聞進行分類的比較
結果(二) • MBR表現並不好:由MBR分配編碼的recall為80%;而precision僅為72%。 • 問題與原因: Q:為什麼MBR表現不好? A:因為資料數不足,無法讓MBR使用全由 資深編輯分類的訓練組資料 可能是因為原資料處理者的專業程度不足 結論:MBR比其他技術能夠處理困難的問題。
回想與準度 • 回想(RECALL) 記憶基礎推理究竟提供了多少個正確碼。假如MBR所提供的編碼包含了每ㄧ個正確的編碼,其反查值就是100%,假如提供的編碼中沒有一個正確的,回想值就是0% • 準度(PRECISION) 在記憶基礎推理所提供的編碼中,有多少是正確的?準度100代表著預測的編碼百發百中,若是提供的沒一個正確,那準度就是0
利用編碼類別測量回想與準度 個人編輯對新聞編碼,回想83%準度88% 記憶基礎推理,回想80%準度72%
測量距離 • 假設你要到一個小鎮旅行,而你想知道那裡的天氣狀況如何,但是卻沒有管道獲得資訊,因為天氣預報都只報導大城市。如果你在當地沒有朋友,則通常的作法就是查詢附近大城市的天氣狀況,就以那個城市的天氣當成判斷標準,或者綜合附近三個大城市的天氣狀況。以上所描繪的正是利用記憶基礎推理找出天氣狀況的例子,而這裡的距離函數是兩個地點的距離。
距離函數的特性(一) • 妥適定義(Well-defined): • 兩點之間的距離永遠是可以找出來的,且大於零 • 同位(Identity): • 從一點到它本身的距離一定是0 • 交換性(Commutatively): • 距離沒有方向性,所以A到B的距離就是B到A的距離 • 三角不等式(Triangle Inequality) • A與C的距離小於或等於A與B的距離加B與C的距離
距離函數的特性(二) • 妥適定義確保每ㄧ筆資料都一定有鄰近資料的存在,記憶基礎推理便是需要這些鄰近資料才能進行分析 • 同位確保每ㄧ筆資料最相似的資料就是它本身 • 交換性和三角不等式則將鄰近資料限定在特定區域中,增加一筆新的資料進資料庫,不會改變現有資料間的距離
資料差異性-圖8.5 • B的最鄰近資料是A,但A卻有與多筆比B還近的鄰近資料
一次建立一個單變數的距離函數 • 以幾何學的角度,距離很容易推理,但問題是,我們如何為多變數且不同資料型態的資料建立距離函數?答案是:ㄧ次建立單一變數的距離函數,再組合起來。
表8.7 • 行銷資料庫中的五個顧客資料
圖8.6 三維分佈圖中展示五筆紀錄的分佈
距離矩陣 • 表8.8 顧客年齡變數的距離矩陣
常見的距離加總方式 • 加總: • dsum (A,B)=dgender (A,B)+dage(A,B)+dsalary(A,B) • 標準化加總(Normalized Summation): • dnorm(A,B)= dsum(A,B)/max (dsum) • 歐幾里得距離: • dEuclid (A,B)=sqrt(dgender (A,B)2+dage (A,B)2+dsalary (A,B)2)
表8.9 • 三種距離函數的最近似者組合 • 此案例中,三種方式的結果完全ㄧ樣是個巧合
加入新的資料 • 表8.10 新顧客