660 likes | 801 Views
Chapter 4. 人工智慧演算法. Case-based Reasoning ( 案例式推論 ). 案例式推論解決問題的流程 : 確認問題的狀態 由過去案例中找尋相似的案例 由相似的案例獲取經驗以解決目前的問題 將目前的問題及解決的方法加入案例中. 案例式推論解題的關鍵因素. 案例特徵 ( 參數 ) 之訂定 案例特徵 ( 參數 ) 權重之訂定 案例特徵 ( 參數 ) 比對演算法之訂定. 案例知識庫. 案例式推論運作流程. 新案例. 重複案例. 案例建制. 結果. 需求. 案例擷取. 調整參數. 查詢模式. 適合的 案例. 案例調整.
E N D
Chapter 4 人工智慧演算法 人工智慧與專家系統
Case-based Reasoning(案例式推論) • 案例式推論解決問題的流程: • 確認問題的狀態 • 由過去案例中找尋相似的案例 • 由相似的案例獲取經驗以解決目前的問題 • 將目前的問題及解決的方法加入案例中 人工智慧與專家系統
案例式推論解題的關鍵因素 • 案例特徵(參數)之訂定 • 案例特徵(參數)權重之訂定 • 案例特徵(參數)比對演算法之訂定 人工智慧與專家系統
案例知識庫 案例式推論運作流程 新案例 重複案例 案例建制 結果 需求 案例擷取 調整參數 查詢模式 適合的 案例 案例調整 查詢 使用者 人工智慧與專家系統
案例式推論實例:自動化郵件回覆客戶服務系統案例式推論實例:自動化郵件回覆客戶服務系統 • 以郵件進行客戶服務己成趨勢 • 現有的郵件客服有下列缺點 • 郵件回覆為人工進行 • 需要浪費人力回答重覆問題 • 無法保證即時回覆 • 目標: • 將傳統郵件回覆自動化 • 縮短客戶等待時間 • 提高客戶的滿意度 • 節省客服中心的人力應用 人工智慧與專家系統
自動化郵件客服系統功能 • 自動辨識郵件目的及問題 • 搜尋最適合客戶的解決方案 • 即時產生回覆郵件 • 調查客戶滿意度 • 從雙方面調整資料庫 人工智慧與專家系統
詞庫 問題分析機制 客服人員介面 Q&A儲存機制 Q&A 資料庫 Mail Server 客戶 資料庫 自動化郵件客服系統架構 網 際 網 路 使用者 解答機制 自我學習 機制 客服人員 人工智慧與專家系統
客服系統權重演算法 • 權重調整: • 一名詞在所有集合中出現的頻率愈多,代表此詞為一冗詞 • 一名詞在所屬集合中出現的頻率愈多,其他集合中出現的頻率愈少,即有可能就是關鍵詞 人工智慧與專家系統
客服系統權重演算法(cont.) Wij=(pij –nij)/N wij關鍵字i對在文章j的權重 N 取樣總篇數 pij關鍵字i在文章j出現的次數 nij 關鍵字i在文章j之外出現的次數 人工智慧與專家系統
客服系統關鍵詞比對演算法 • FAQ關鍵詞比對: • 比對客戶詢問問題與資料庫中的資料相似程度 • 給予一個問題與資料庫中各筆資料介於0至1的分數,並找出分數最高的資料 人工智慧與專家系統
模糊邏輯(Fuzzy Logic) • 1965年由加州大學柏克萊分校的L. A. Zadeh教授提出 • 目前廣泛使用於控制、預測、分析、決策等領域 人工智慧與專家系統
Definition 1 • 若A為X的一個模糊子集,對每個x∈X都指定一個數μA(x) ∈[0,1],用它表示x對A的歸屬度,而μA(x)被稱做A的成員函數: • μA:X→[0,1],x→ μA(x) , x∈X • 分別以100、85、65、54、0分為一個測驗是否理想的集合,則模糊子集為{100/1, 85/0.8, 65/0.6, 54/0.4, 0/0} 人工智慧與專家系統
Definition 2 • 假設有兩個模糊集合F與M,其相似程度S(F,M)可以下面公式求得: • S(F,M)= F·M / max(F·F, M·M)其中F = < μF(x1) , μF(x2) , μF(x3) ,…>M = < μM(x1) , μM(x2) , μM(x3) ,…>X = {x1, x2, x3,…} • S(F,M)的值將在[0,1]之間,若為1則代表兩個模糊集合集合完全一樣 人工智慧與專家系統
Fuzzy Logic example 1 • F={0/0, 0/20, 0.8/40, 0.9/60, 1/80, 1/100}M={0/0, 0/20, 0.6/40, 0.8/60, 0.2/80, 0/100} • 則F·F=0.64+0.81+1+1=3.45M·M=0.36+0.64+0.04=1.04F·M=0.48+0.72+0.2=1.4S(F,M)= 1.4/max(3.45, 1.04) = 1.4 / 3.45 = 0.41 人工智慧與專家系統
Fuzzy Logic example 2 • 集合A={0, 20, 40, 60, 80, 100} • 五個評核等級(優秀的→不滿意的): • E = {0, 0, 0.8, 0.9, 1, 1} • V = {0, 0, 0.8, 0.9, 0.9, 0} • G = {0, 0.1, 0.8, 0.9, 0.4, 0.2} • S = {0.4, 0.4, 0.9, 0.6, 0.2, 0} • U = {1, 1, 0.4, 0.2, 0, 0} 人工智慧與專家系統
Neural Networks (類神經網路) • 1943McCulloch 與 Pitts首度提出正式的類神經計算單元。 • 1949Donald Hebb提出第一個學習法則---Hebbian learning rule。 • 1954Minsky 首度建造類神經電腦並測試。 • 1958Frank Rosenblatt 發明感知機 (Perceptron)﹐可調整連接值。 • 1960Bernard Widrow 與 Marcian Hoff 提出 Widrow-Hoff 學習法則 • 1965Nils Nilsson 綜合當代研究並提出學習機所受的限制。 • 1972Sun-Ichi Amari 提出有關臨界值的數學理論。 • 1982Kohonen 研究非監督模式網路﹐建立陣列式神經元。 • 1982Stephen Grossberg 與 Gail Carpenter研究調適性迴響網路。 • 1986James McClelland 與 David Rumelhart加入平行分散式計算技巧。 人工智慧與專家系統
類神經網路的優缺點 • Advantages • prediction accuracy is generally high • robust, works when training examples contain errors • output may be discrete, real-valued, or a vector of several discrete or real-valued attributes • fast evaluation of the learned target function • Criticism • long training time • difficult to understand the learned function (weights) • not easy to incorporate domain knowledge 人工智慧與專家系統
- mk x0 w0 x1 w1 f å output y xn wn Input vector x weight vector w weighted sum Activation function A Neuron • The n-dimensional input vector x is mapped into variable y by means of the scalar product and a nonlinear function mapping 人工智慧與專家系統
Training a Neural Network • To obtain a set of weights that makes almost all the tuples in the training data classified correctly • Steps • Initialize weights with random values • Feed the input tuples into the network one by one • For each unit • Compute the net input to the unit as a linear combination of all the inputs to the unit • Compute the output value using the activation function • Compute the error • Update the weights and the bias 人工智慧與專家系統
範例-圖形辨識 A A 001011101 010010101 >0 >0 B <0 人工智慧與專家系統
倒傳遞類神經網路演算法 Step 1: 以最小化能量函數的結果為目標,計算訓練資料輸入向量與目標輸出向量之間的平均平方差(Mean square error)。 Step 2: 以下列公式調整修正權重值: 其中 且 為學習率(Learning rate)。 Step 3: 以類似的方式調整修正門檻值。 Step 4: 重複Step 1到Step 3,計算所有的訓練資料輸入向量。 Step 5: 利用測試資料測試以上訓練的網路,假如收斂,則停止;否則跳到Step 1。 人工智慧與專家系統
抽血檢驗 表面抗原(HBsAg)陽性者為 帶原者 表面抗原(HBsAg)陰性者為 非帶原者 範例- B型肝炎檢驗分類 (劉威良提供) 人工智慧與專家系統
成人B型肝炎病毒感染 5%~10%慢性帶原者 50%~60%無病狀感染 30%~40%有病狀急性肝炎 慢性肝炎 健康帶原者 恢復 1%~3%猛爆性肝炎 恢復 慢性活動性肝炎 慢性持續性肝炎 肝硬化 恢復 肝癌 研究問題(B型肝炎感染後的演變 ) 人工智慧與專家系統
研究問題(1/2) • 轉態的意思並非B型肝炎好了,而是指感染情況有改善(肝臟的發炎情況有改善),此時必需停藥 • 抗藥性當B型肝炎一但轉態而繼續使用藥物則會使藥物漸漸失去效用 人工智慧與專家系統
研究問題(2/2) 轉態 不轉態 轉態 不轉態 預測轉態 用藥 不用藥 預測不轉態 病毒不轉態必需用藥控制,轉態則必需停止用藥以免產生抗藥性預測轉態失誤將對人體造成嚴重後果 人工智慧與專家系統
特徵擷取 • 依照醫師診斷重要參數,再加以推廣 • 醫師診斷重要參數 • anti-HBs (B型肝炎表面抗體) • anti-HBe (B型肝炎e抗體) • anti-HBc (B型肝炎核心抗體) • HBsAg (B型肝炎表面抗原) • HBeAg (B型肝炎e抗原) • HBcAg (B型肝炎核心抗原) • HBV DNA (B型肝炎病毒DNA) 人工智慧與專家系統
以倒傳遞網路預測B型肝炎檢驗分類的主要建置步驟以倒傳遞網路預測B型肝炎檢驗分類的主要建置步驟 • 步驟一:輸入抽血樣本資料(訓練範例) • 步驟二:將抽血資料予以正規化 • 步驟三:依照資料屬性相關程度分為若干類 • 步驟四:計算類神經網路節點數 • 步驟五:分別給予各類別之個別目標值 • 步驟六:設定輸入值與輸出值並且開始訓練 • 步驟七:進行測試,觀察是否符合理想的預測率 人工智慧與專家系統
正規化 • (Berry and Linoff, 1997) 人工智慧與專家系統
正規化範例 • 以ALT(肝發炎指數)為例 正常值Range :5.00 - 55.00 調整後Range :4.95 - 55.05 • 正規化 ALT=5 ( 正常) ALT=60 ( 不正常) ALT=4.5 ( 不正常) 人工智慧與專家系統
取二個參數為範例(設定初始值) • X1=1 • X2=1 • w13=0.5 • w14=0.9 • w23=0.4 • w24=1.0 • w35=-1.2 • w45=1.1, • θ3=0.8 • θ4=-0.1 • θ5=0.3, 1 2 人工智慧與專家系統
計算隱藏層 3 4 人工智慧與專家系統
計算輸出層 5 人工智慧與專家系統
計算輸出層輸出值誤差和誤差梯度及調整隱藏層-輸出層權重值計算輸出層輸出值誤差和誤差梯度及調整隱藏層-輸出層權重值 人工智慧與專家系統
計算輸出層輸出值誤差和誤差梯度及調整隱藏層-輸出層權重值(公式)計算輸出層輸出值誤差和誤差梯度及調整隱藏層-輸出層權重值(公式) 人工智慧與專家系統
計算隱藏層輸出值誤差和誤差梯度及調整隱藏層-輸出層權重值計算隱藏層輸出值誤差和誤差梯度及調整隱藏層-輸出層權重值 人工智慧與專家系統
計算隱藏層輸出值誤差和誤差梯度及調整隱藏層-輸出層權重值(公式)計算隱藏層輸出值誤差和誤差梯度及調整隱藏層-輸出層權重值(公式) 人工智慧與專家系統
更新所有權重及門檻值並進行下一個樣本(公式)更新所有權重及門檻值並進行下一個樣本(公式) 人工智慧與專家系統
完成權重調整 進行下一個樣本參數 人工智慧與專家系統
停止條件 • 每一組樣本數皆計算錯誤(Error)值,當所有樣本測試完,則計算平方誤差總和SSE(Sum of Squared Errors) ,直到SSE < 0.001為止 人工智慧與專家系統
Genetic Algorithm(基因演算法) • 源自於John Holland在1975 年出版的著作Adaptation in Nature and Artificial Systems • 仿效自然界生物進化過程 • 透過基因的選擇(selection)交換(crossover)及突變(mutation)產生更好的下一代 • 選擇(selection)過程 • 較高合適值(fitness value)就有較大機會獲得保留 • 較低合適值的解答,可能會遭到淘汰 • 較不易陷入local optimal 人工智慧與專家系統
Genetic Algorithm(基因演算法) • Population (族體): • Encoding (編碼): • Crossover (交配): • Mutation (突變): • Selection (適者生存): • Fitness Function (適合度公式): 人工智慧與專家系統
Crossover randomly selects one-cut-point and exchanges the right parts of two parents to generate offspring. 基因演算法交配運算 Mutation alters one or more genes with a probability equal to the mutation rate. 基因演算法突變運算 基因演算法流程圖 人工智慧與專家系統
多目標最佳化配題機制 • 從大量試題中,選取符合出題方向和條件的試題,進行配置,組成最佳鑑別度試卷 • 指定測驗時間範圍的試題配置問題模型(Dedicated Range of Assessment Time Problem-DRAT) • 符合期望測驗時間最高界限和最低界限的多目標配題機制。 • 固定題數的試題配置問題模型(Fixed Number of Test Items Problem – FNTI) • 符合固定試卷試題數量的多目標配題機制。 人工智慧與專家系統
指定測驗時間範圍的試題配置問題 (DRAT) x1 x2 x3 x4 x98 x99 x100 … 0 1 1 0 0 1 0 • DRAT目標函式: Maximize Z = • DRAT限制式: Xi = 0 or 1, i = 1, 2, …, n 人工智慧與專家系統
DRAT的試題配置基因演算法 (1/5) • 概念程度下限先決基因演算法(Concept Lower-bound First Genetic approach – CLFG) • CLFG的進行步驟 1.建立母體(Encoding) • X 為染色體,包含有 n 個基因 • X = [x1 , x2 , …, xn]X = [0, 0, 1, …, 0] • 第i個試題被選取時,xi為1;否則,為0; 人工智慧與專家系統
DRAT的試題配置基因演算法 (2/5) 2.適配等級(Fitness ranking) • R = dc ipt • dc = • = w dtl ipt_l • w = ( indi xi) / average(u, l) • dtl = • 適配函數 v(Sk) = • = w dtu ipt_u • dtu = 人工智慧與專家系統
DRAT的試題配置基因演算法 (3/5) 3.物競天擇(Selection) • 計算各染色體的適配值v(Sk),k = 1,2, … , pop_size + offspring_size • 加總所有染色體Sk的適配值和選取機率 Pk = v(Sk) / V • 計算各染色體Sk的累積選取機率 人工智慧與專家系統
DRAT的試題配置基因演算法 (4/5) Cut point 4.交配(Crossover) A[1110011001] A’[1110011011] B[0100100011] B’[0100100001] Procedure: crossover Begin k = 0 while (k ≤ c / 2) do flag = 0 while flag = 0 do Generate random numbers R1 and R2 from discrete interval [1,K]. If R1 ≠ R2 then flag=1 end while crossover function(R1,R2) end while End 人工智慧與專家系統
DRAT的試題配置基因演算法 (5/5) 5.突變(Mutation) A[1110011001] A’[1110011011] P = ( 1 / n ) Procedure: mutation Begin for(i=1, i ≤ nk, i++){ Generate random number yi from discrete interval [0, 1]. Mutation function(P, yi) } End 重覆2~5步驟,直到連續10代解無進步或已產生了1500代 人工智慧與專家系統