MACHINE LEARNING
271
not specified by the user; it is determined automatically, by
the CC algorithm. The network begins the training phase
with no hidden-layer nodes. Hidden-layer nodes are then
added, one-by-one, until a given performance criterion is
met.
GAS TURBINE ENGINE DIAGNOSIS
This section compares contextual normalization
(strategy 1) with other popular forms of normalization.
Strategies 2 to 5 are not examined in this section. The
application is fault diagnosis of an aircraft gas turbine
engine. The feature space consists of about 100 continuous
primary features (engine performance parameters, such as
thrust, fuel flow, and temperature) and 5 continuous con-
textual features (ambient weather conditions, such as
external air temperature, barometric pressure, and
humidity). The observations fall in eight classes: seven
classes of deliberately implanted faults and a healthy class
[7].
The amount of thrust produced by an engine is a
primary feature for diagnosing faults in the engine. The
exterior air temperature is a contextual feature, since the
engine’s performance is sensitive to the exterior air tem-
perature. Exterior air temperature is not a primary feature,
since knowing the exterior air temperature, by itself, does
not help us to make a diagnosis. The experimental design
ensures this, since the faults were deliberately implanted.
This background knowledge lets us distinguish primary
and contextual features, without having to determine the
probability distribution.
The data consist of 242 observations, divided into two
sets of roughly the same size. One set of observations was
collected during warmer weather and the second set was
collected during cooler weather. One set was used as the
training set and the other as the testing set, then the sets
were swapped and the process was repeated. Thus the
sample size for testing purposes is 242.
The data were analyzed using two classification algo-
rithms, IBL and MLR. IBL and MLR were also used to
preprocess the data by contextual normalization [7].
The following methods for normalization were exper-
imentally evaluated:
1. no normalization (use raw feature data)
2. normalization without context, using
a. normalization by minimum and maximum value
in the training set (the minimum is normalized to
0 and the maximum is normalized to 1)
b. normalization by average and standard deviation
in the training set (subtract the average and divide
by the standard deviation)
c. normalization by percentile in the training set (if
10% of the values of a feature are below a certain
level, then that level is normalized to 0.1)
d. normalization by average and standard deviation
in a set of healthy baseline observations (chosen
to span a range of ambient conditions)
3. contextual normalization (strategy 1), using
a. IBL (trained with healthy baseline observations)
b. MLR (trained with healthy baseline observations)
Of the five strategies for exploiting context, discussed
above, only one was applied to the gas turbine engine data:
Contextual normalization: Let x be a vector of primary
features and let c be a vector of contextual features. Con-
textual normalization transforms x to a vector v of nor-
malized features, using the context c. The following
formula was used for contextual normalization:
v1
χl - μ i (c)
σ l (c)
(11)
In (11), μ i(c) is the expected value of xi and σ l(c) is the
expected variation of xi, as a function of the context c.
The values of μ i(c) and σ i(c) were estimated using IBL
and MLR, trained with healthy observations (spanning a
range of ambient conditions) [7].
Table 2 (derived from Table 5 in [7]) shows the results
of this experiment. For IBL, the average score without
contextual normalization is 42% and the average score
with contextual normalization is 55%, an improvement of
13%. For MLR, the average score without contextual nor-
malization is 39% and the average score with contextual
normalization is 46%, an improvement of 7%. According
to the Student t-test, contextual normalization is signifi-
Table 2: A comparison of various methods of normalization.
classifier |
normalization |
no. correct |
percent |
IBL |
none |
≡ |
42 |
IBL |
min/max train |
101 |
42 |
IBL |
avg/dev train |
97 |
40 |
IBL |
percentile train |
92 |
38 |
IBL |
avg/dev baseline |
111 |
46 |
IBL |
IBL |
139 |
57 |
IBL |
MLR |
128 |
53 |
MLR |
none |
100 |
41 |
MLR |
min/max train |
100 |
41 |
MLR |
avg/dev train |
100 |
41 |
MLR |
percentile train |
74 |
31 |
MLR |
avg/dev baseline |
100 |
41 |
MLR |
IBL |
103 |
43 |
MLR |
MLR |
119 |
49 |