Machine Learning A Quick look Sources: Artificial Intelligence – Russell & Norvig Artifical Intelligence - Luger By: Héctor Muñoz-Avila
What Is Machine Learning? “Logic is not the end of wisdom, it is just the beginning” --- Spock System Knowledge Environment Action 1 time Knowledge Environment System changed same Action 2
Classification (According to the language representation) Symbolic Version Space Decision Trees Explanation-Based Learning … Sub-symbolic Connectionist Evolutionary
Version Space Idea: Learn a concept from a group of instances, some positive and some negative Example: target: obj(Size,Color,Shape) Size = {large, small} Color = {red, white, blue} Shape = {ball, brick, cube} Instances: +: obj(large,white,ball) obj(small,blue,ball) −: obj(small,red,brick) obj(large,blue,cube) Two extremes (temptative) solutions: obj(X,Y,Z) obj(large,white,ball) obj(small,blue,ball) … too general too specific obj(large,Y,ball)obj(small,Y,ball) obj(X,Y,ball) … concept space
How Version Space Works − − If we consider only positives If we consider positive and negatives − − What is the role of the negative instances? to help prevent over-generalizations
Explanation-Based learning A C B ABC AC B C B A B A C B A C BC A C A B A C B B C A AB C A B C A B C Can we avoid making this error again? ? ? ?
Explanation-Based learning (2) A C B ABC C B A A C B AB C ? ? ? Possible rule: If the initial state is this and the final state is this, don’t do that More sensible rule: don’t stack anything above a block, if the block has to be free in the final state
Evolutionary Approaches Idea: Biological analogy on how populations of species evolve over generations Step 1: start with a population (each member is a candidate solution) … Step 2: Create the next generation by considering evolutionary operations on the population from the previous generation (e.g., mutation) and a fitness function (only the more fit get to contribute to the next generation) … Continue the process until a certain condition is reached
The Genetic Algorithm t 0 Initialize the population P(t) While the termination condition is not met do { evaluate fitness of each member of P(t) select members of P(t) based on fitness produce the offspring of pairs of selected members using genetic operators replace, based on fitness, candidates of P(t) based on this offspring t t + 1 } Crossover Mutation Inversion exchange Non-selected members are not necessarily eliminated
Example: CNF-satisfaction A conjunctive normal form (CNF) is a Boolean expression consisting of one or more disjunctive formulas connected by an AND symbol ( ). A disjunctive formula is a collection of one or more (positive and negative) literals connected by an OR symbol ( ). Example: (a) (¬ a ¬b c d) (¬c ¬d) (¬d) Problem (CNF-satisfaction): Give an algorithm that receives as input a CNF form and returns Boolean assignments for each literal in form such that form is true Example (above): a true, b false, c true, d false
CNF as a Genetic Algorithm A potential solution is a true/false assignment to the 4 variables a, b, c, and d in the formula: 1010 means that a and c are true and b and d are false In particular, a solution for (a) (¬ a ¬b c d) (¬c ¬d) (¬d) is 1001 Nice: all 4 genetic operations applied on any potential solutions will result in a potential solutions (in other problems or other representations of this problem this may not be the case) Fitness: for 0101 and 1001: which is a more suitable solution? Fitness value? # of disjunctions in the formula that are made true
The Genetic Algorithm for CNF t 0 Initialize the population P(t) While the termination condition is not met do { evaluate fitness of each member of P(t) select members of P(t) based on fitness produce the offspring of pairs of selected members using genetic operators replace, based on fitness, candidates of P(t) based on this offspring t t + 1 } N randomly generated strings of 4 integers Solution has not been found # of disjunctions in the formula that are made true Select top 30% Select among the 4 operations randomly Top N candidates