27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Multi-Objective Optimization of<br />

Fuzzy Neural Networks for Software Modeling<br />

Kuwen Li, Marek Z. Reformat, Witold Pedrycz<br />

Electrical and Computer Engineering<br />

University of Alberta<br />

Edmonton, AB, Canada<br />

{kuwen, reformat, wpedrycz}@ualberta.ca<br />

Jinfeng Yu<br />

College of Computer Science and Technology<br />

Harbin, Heilongjiang Province<br />

China, 150001<br />

Abstract—Software modeling is used to provide better<br />

understanding of features and attributes describing software<br />

artifacts. This knowledge is applied to improve practices<br />

leading to development of software that is easier to maintain<br />

and reuse.<br />

In the paper we use Fuzzy Neural Networks (FNNs) for<br />

modeling purposes. This type of models allow for extracting<br />

knowledge in the form of if-then rules. The process of<br />

constructing FNN models involves structural as well as<br />

parametric optimization. Additionally, software data<br />

representing different classes of artifacts is often unbalanced<br />

creating difficulties in building models that “cover” all classes<br />

evenly.<br />

We propose an application of Multi-Objective Evolutionary<br />

Computing as a tool for constructing FNN models. We use<br />

combinations of different measures to represent quality of<br />

developed models from the point of view of their classification<br />

capabilities. We extract rules from the constructed models, and<br />

prune them to obtain clear and simple representations of<br />

software artifacts.<br />

I. INTRODUCTION<br />

Development of models of different objects and artifacts<br />

is one of the most popular approaches that allow us to gain<br />

knowledge about these objects and artifacts , and provide us<br />

with tractable approxim ations to reality. T here is an<br />

abundance of definitions of the w ord ‘model’. A common<br />

definition, expressed in the wo rds of Neelamkavil [1], is<br />

very illustrative: “A model is a sim plified representation of<br />

a system intended to enhance our ability to understand,<br />

predict and possibly control the behavior of the system.”<br />

Among all different m odels the ones that are of special<br />

interest are white-box models. These models allow us to<br />

“look inside” and find relations that exists between<br />

attributes and features descri bing considered objects and<br />

artifacts. Such an approach is used in software engineering<br />

where software objects are m odeled in order to gain<br />

knowledge about relations between software metrics<br />

describing these objects and their quality attributes.<br />

Development of software object models is challenging due<br />

to imbalance of software data , i.e., uneven distribution of<br />

different classes of software objects. This means that<br />

developed models are not able to model classes of objects<br />

that are poorly represented in the available data. This also<br />

affects extraction of knowledge, i.e., the knowledge about<br />

these classes is incomplete and unreliable.<br />

In this paper we address the problem of building<br />

software models based on imbalanced data via combining a<br />

number of methods and approaches: Fuzzy Neural Networks<br />

(FNNs) as data models w ith abstraction and knowledge<br />

extraction capabilities, Evolutionary Computing (EC) as an<br />

optimization tool w ith easiness of introduction of different<br />

objectives, Pareto approach as a m ulti-objective<br />

optimization method with the ab ility to “generate” a set of<br />

results satisfying different objectives, and different<br />

measures as representations of m odel quality: accuracy,<br />

specificity, sensitivity(recall), and precision.<br />

II. FUZZY NEURAL NETWORK MODEL<br />

The fuzzy OR/AND neurons [2] are the fundamental<br />

parts of our Fuzzy Neur al Network model. The OR/ AND<br />

neuron arranges AND and OR neurons in the way illustrated<br />

in Figure 1.<br />

x<br />

w<br />

u<br />

AND<br />

OR<br />

z1<br />

z2<br />

v<br />

OR/AND<br />

Figure 1. Architecture of OR/AND neuron<br />

In essence, the outputs of two “input neurons” are<br />

aggregated (weighted) using the OR neuron located in the<br />

output layer:<br />

z 1 = AND(x; w); z 2 = OR(x; u); y = OR(z; v).<br />

The evident advantage of the OR/AND neurons resides<br />

with their significant interpreta bility capabilities. N ote that<br />

if v 1 = 1 and v 2 = 0 we end up with a “pure” and-wise<br />

aggregation. The combination of v 1 = 0 and v 2 = 1 leads to<br />

the “pure” or-wise aggregation of the inputs. A whole<br />

spectrum of situations in-between the pure and and or<br />

OR<br />

y<br />

106

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!