1. Learning • Machine learning is an area of AI concerned with the automatic learning of knowledge • some ways that machine learning can be used in expert systems 1. increase efficiency of inference engine and knowledge base processing 2. testing the knowledge base 3. use learning principles to acquire knowledge itself 4. ??? • Most learning techniques exploit heuristics: problem-specific information which makes the search for a solution more efficient • Without heuristics, typical learning problems either take too long to execute effectively, or produce results which are too large & general to be useful
2. Learning 1. Increase inference engine efficiency • 20-80 principle: 20% of rules in KB account for 80% of diagnoses • these 20% rules should take precedence in order to make execution faster • otherwise, roughly half of the KB needs to be looked at for every diagnosis, which is a waste of time for most (80%) problems • However, it is also possible that the set of rules most often used can vary according to who, where, and how the expert system is used • One way to fix this: keep a record of the number of times a high-level rule was successful in making a diagnosis eg. record(rule12, 102). record(rule6, 25). etc • Save this information in a file, and reload it every session. • Use these rule stats to determine the order in which diagnoses are to be executed
4. Learning • Another possibility is to ask some preliminary questions to determine general high-level information, and then order the high-level inference accordingly p.112-113 Schnupp
5. Learning 2. Knowledge acquisition (i) Learning rules from examples • user inputs typical examples ( decision table ) for a given rule domain; or, can process a database to automatically generate production rules • system constructs a rule or set of rules ( decision tree ) for this example set • can then generate production rules from this tree • trivial to make comprehensive tree but more involved to make a minimal one • inductive inference : learning technique which constructs a general rule from specific examples (compare with mathematical induction) • popular algorithm: Quinlan's ID3, used in shells such as VP-expert, ExpertEase, RuleMaster, and others
6. Learning • Decision table : table of attribute values, with one or more conclusions - each row is an example or true instance of attribute value - conclusion • Convenient for classification & identification problems • Could create production rules directly from table: one rule per row • induction : tries to generalize information in table, disregarding superfluous information, and yielding an efficient smaller decision tree - results in "smarter" system - good example of machine learning : computer tries to generalize and abstract from examples • Given a table, can look at conclusions, and see if particular attributes have any effect on them. If not, then disregard those attributes when deriving that conclusion. • There exist one or more "minimal" sets of tests for a table; however, finding this minimal set can be intractable in general
27. Learning comments • Inductive inference is a convenient way of obtaining productions automatically from databases or user examples. • Good for classification & diagnosis problems • Assumes that domain is deterministic: that particular premises lead to only one conclusion, not multiple ones • Need to have: good data, no noise, no clashes - assumes that the entire universe of interest is encapsulated in example set or database - clashes probably mean you need to identify more attributes • ID3 doesn't assure the minimal tree, but its entropy measure is a heuristic that often generates a small tree • Note that a minimal rule is not necessarily desireable: when you discard attributes, you discard information which might be relevant, especially later when the system is being upgraded • Not desireable to use this technique on huge tables with many attributes. Better approach is to modularise data hierarchically.