人工智慧 7.專家系統
7.1 專家系統的產生和發展 7.2 專家系統的概念 7.3 專家系統的工作原理 7.4 知識獲取的主要過程與模式 7.5 機器學習 7.6 知識發現與資料探勘 7.7 專家系統的建立 7.8 專家系統例項 7.9 專家系統的開發工具
特點:高度的專業化。 專門問題求解能力強。 結構、功能不完整。 移植性差。 缺乏解釋功能。
專家系統的定義:
1、具有專家水平的專業知識。 2、能進行有效的推理。 3、啟發性。 4、靈活性。 5、透明性。 6、互動性。
專家系統與傳統程式的比較:
1、程式設計思想
傳統程式 = 資料結構+演算法
專家系統 = 知識+推理
2、傳統程式關於問題求解的知識隱含於程式中。
專家系統知識單獨組成知識庫,與推理機分離。
3、處理物件
傳統程式數值計算和資料處理。
專家系統符號處理。
4、傳統程式不具有解釋功能。
專家系統具有解釋功能。
5、傳統程式產生正確的答案。
專家系統通常產生正確的答案,有時產生錯誤的答案。
6、系統的體系結構不同。
工作原理
抽取知識、知識的轉換、知識的輸入、知識的檢測 。
知識獲取的模式:非自動知識獲取、自動知識獲取、半自動知識獲取。
機器學習
機器學習Machine learning、使計算機能模擬人的學習行為,自動地通過學習來獲取知識和技能,不斷改善效能,實現自我完善。
一個學習系統一般應該有環境、學習、知識庫、執行與評價(à學習)等四個基本部分組成。
“示例空間”是所有可對系統進行訓練的示例集合。
“搜尋”的作用是從示例空間中查詢所需的示例。
“解釋”是從搜尋到的示例中抽象出所需的有關資訊形成知識。
“形成知識”是把解釋得到的資訊綜合、歸納形成一般性的知識。
“驗證”的作用是檢驗所形成的知識的正確性。
知識發現與資料探勘
31 知識發現和資料探勘的目的:從資料集中抽取和精化一般規律或模式。
知識發現過程分為資料準備、資料探勘以及結果的解釋評估等三步。
- 資料準備資料選、資料預處理和資料變換。
資料選取就是根據使用者的需要從原始資料庫中抽取的一組資料。
資料預處理一般可能包括消除噪聲、推導計算缺值資料、消除重複記錄、完成資料型別轉換等。
資料變換是從初始特徵中找出真正有用的特徵以減少資料開採時要考慮的特徵或變數個數
- 資料探勘
資料探勘階段首先要確定挖掘的任務或目的是什麼,如資料總結、分類、聚類、關聯規則或序列模式等。
確定了挖掘任務後,就要決定使用什麼樣的挖掘演算法。同樣的任務可以用不同的演算法來實現。
選擇實現演算法有兩個考慮因素:
一是不同的資料有不同的特點,因此需要用與之相關的演算法來挖掘
二是使用者或實際執行系統的要求,有的使用者可能希望獲取描述型的、容易理解的知識,而有的使用者系統的目的是獲取預測準確度儘可能高的預測型知識。
- 結果解釋和評價
資料探勘階段發現的知識模式中可能存在冗餘或無關的模式,所以還要經過使用者或機器的評價。
若發現所得模式不滿足使用者要求,則需要退回到發現階段之前,如重新選取資料,採用新的資料變換方法,設定新的資料探勘引數值,甚至換一種挖掘演算法。
由於KDD最終是面向人的,因此可能要對發現的模式進行視覺化,或者把結果轉換為使用者易懂的另一種表示,如把分類決策樹轉換為“if-then…”規則。
知識發現的任務:
資料總結:對資料進行濃縮,給出它的緊湊描述。
概念描述:從學習任務相關的資料中提取總體特徵。
分類:提出一個分類函式或分類模型 也常常稱作分類器,該模型能把資料庫中的資料項對映到給定類別中的一個。
聚類:根據資料的不同特徵,將其劃分為不同的類。包括統計方法、機器學習方法、神經網路方法和麵向資料庫的聚類方法等。 (聚類-無監督學習)
相關性分析:發現特徵之間或資料之間的相互依賴關係。
偏差分析:尋找觀察結果與參照量之間的有意義的差別。
建模:通過資料探勘,構造出能描述一種活動、狀態或現象的數學模型。
知識發現的主要方法: 1.統計方法:從事物的外在數量上的表現去推斷事物可能的規律性。常見的有迴歸分析、判別分析、聚類分析以及探索分析等。 2.粗糙集:粗糙集是具有三值隸屬函式的模糊集,即是、不是、也許。常與規則歸納、分類和聚類方法結合起來使用。 3.視覺化:把資料、資訊和知識轉化為圖形等,使抽象的資料資訊形象化。資訊視覺化也是知識發現的一個有用的手段。 4.傳統機器學習方法:包括符號學習和連線學習。
知識發現的物件 1.資料庫當前研究比較多的是關係資料庫的知識發現。 2.資料倉庫資料探勘為資料倉庫提供深層次資料分析的手段,資料倉庫為資料探勘提供經過良好預處理的資料來源。 3. Web資訊Web知識發現主要分內容發現和結構發現。內容發現是指從Web文件的內容中提取知識;結構發現是指從Web文件的結構資訊中推導知識。 4. 影象和視訊資料影象和視訊資料中也存在有用的資訊。比如,地球資源衛星每天都要拍攝大量的影象或錄影。
專家系統的建立
什麼情況下開發專家系統是可能的
1,主要依靠經驗性知識,不需運用大量常識性知識就可解決的任務。 2,存在真正的領域專家。 3,有明確的開發目標且任務不太難實現。
什麼情況下開發專家系統是合理的
1,具有較高的經濟效益。 2,人類專家奇缺但在許多地方又十分需要。 3,人類專家經驗不斷丟失。 4,危險場合需要專業知識 。
什麼情況下開發專家系統是合適的
1,本質問題能通過符號操作和符號結構進行求解且需使用啟發式知識、經驗規則才能得到答案。 2,複雜性。 3,範圍所選任務的大小可駕馭、 任務有實用價值。
專家系統的設計原則與開發步驟
專家系統的評價
1. 正確性 1,系統設計的正確性: 系統設計思想的正確性。 系統設計方法的正確性。 設計開發工具的正確性。 2,系統測試的正確性: 測試目的、方法、條件的正確性。 測試結果、資料、記錄的正確性。3系統執行的正確性 推理結論、求解結果、諮詢建議的正確性。 推理解釋及可信度估算的正確性。 知識庫知識的正確性。
2. 有用性
專家系統例項
專家系統的開發工具
骨架型工具
骨架型工具是從被實踐證明了有實用價值的專家系統中,抽出了實際領域的知識背景,並保留了系統中推理機的結構所形成的一類工具。EMYCIN、EXPERT和PC等均屬於此型別。EMYCIN疾病診斷專家系統MYCIN的基礎上,抽去了醫療專業知識,修改了不精確推理,增強了知識獲取和推理解釋功能之後構造而成的世上最早的專家系統工具之一。EXPERT是從石油勘探和計算機故障診斷專家系統中抽象並構造出來的,適用於開發診斷解釋型專家系統。
通用型知識表達語言OPS5
專家系統開發環境:AGEattempt to generalize)一種典型的模組組合式開發工具。
專家系統程式設計語言
- 符號處理語言(面向 AI 的語言或 AI 語言
PROLOG語言 LISP語言
2. 面向問題的語言C語言、 C++語言。