# Project "Fuzzy Support Vector Machine"

## Introduction

As mentioned in the other sections, this project is my first in the field of Machine Learning. Basically, this program is an implementation of the papers  and . The considered papers contributed to the task of rule extraction from Support Vector Machines (SVM). Therefore,  creates SVFI (Support Vector Fuzzy Inference) rules based on support vectors of a given SVM by creating one rule per support vector. A rule consists of n clauses, where n is the number of dimensions. Each clause in a rule establishes a relationship between the dimension specific value of the vector and an input x. The class of the support vector is added after listing the clauses by the word “THEN” followed by the class and a coefficient which expresses the importance of that rule.

The following rule base has been learned from a simple two-dimensional data set with ten support vectors.

Rule 0: IF x0 isCloseTo 0.056 AND x1 isCloseTo 0.652 THEN 1.0 with 69.82
Rule 1: IF x0 isCloseTo 0.186 AND x1 isCloseTo 0.642 THEN 1.0 with 120.0
Rule 2: IF x0 isCloseTo 0.58 AND x1 isCloseTo 0.53 THEN 1.0 with 58.72
Rule 3: IF x0 isCloseTo 0.88 AND x1 isCloseTo 0.314 THEN 1.0 with 66.23
Rule 4: IF x0 isCloseTo 0.944 AND x1 isCloseTo 0.22 THEN 1.0 with 120.0
Rule 5: IF x0 isCloseTo 0.136 AND x1 isCloseTo 0.578 THEN -1.0 with 120.0
Rule 6: IF x0 isCloseTo 0.352 AND x1 isCloseTo 0.51 THEN -1.0 with 48.57
Rule 7: IF x0 isCloseTo 0.968 AND x1 isCloseTo 0.06 THEN -1.0 with 26.21
Rule 8: IF x0 isCloseTo 0.874 AND x1 isCloseTo 0.196 THEN -1.0 with 120.0
Rule 9: IF x0 isCloseTo 0.49 AND x1 isCloseTo 0.478 THEN -1.0 with 120.0

Obviously the interpretation of these rules is difficult because there is one rule for every support vector and each rule has n fuzzy clauses where n is the number of dimensions. Even for relatively small problems this approach leads to huge number of rules.

 enhances this SVFI approach by pruning the constructed rules both in number and in length. Additionally, the interpretation of the rules is incremented by using fuzzy partitions to describe the input space. The example above can be converted to the following four rules:

IF x0 is middle THEN CLASS=1.0 WITH 0.79
IF x0 is big AND x1 is small THEN CLASS=1.0 WITH 0.63
IF x1 is middle THEN CLASS=-1.0 WITH 0.79
IF x0 is big THEN CLASS=-1.0 WITH 0.79

The used example is named example_01 and is part of the downloadable archive.

## Scope of operation

The scope of operation of the program is

• Creating a SVM from raw data by using ,
• Create Support Vector Fuzzy Inference Rules ,
• Create interpretable Fuzzy Rules by using predefined fuzzy partitions 

## GUI

The software provides an intuitive GUI to fulfill all tasks.  