Synopsis Part 2
Synopsis Part 2
The probability approach is one way of presenting uncertain information. One of the main concepts used is conditional
probability.
The conditional probability of the event dunder this s is the probability of the event d, provided that the event s has occurred, for
example, the probability of the patient suffering from d if he has a symptom s.
In probability theory, the following formula is used to calculate the conditional probability of a dc event:
P (d ∧ s )
P(d∨s )= (7.1)
P (s)
Conditional probability is the ratio of the probability of the occurrence of events d and s. From (7.1) follows:
P(d ∧ s)=P (s∨d )P (d) .
If you divide both parts of the last expression into and substitute in (7.1), you get the Bayesaw rule in the simplest form: P(s)
P (s∨d )P (d )
P(d∨s )= (7.2)
P(s)
This rule determines the probability through a known conditional probability. In the resulting expression - a priori probability of occurrence
of the event d, a - a posterior probability, i.e. probability that the event d will occur if it is known that the event s2 has occurred. P(d∨s )
P(s∨d )P(d)P(d∨s )
Formula (7.2) is more practical than formula (7.1).
Suppose the patient has some symptom of the disease,
for example, chest pain, and you need to know what is the likelihood that this symptom
is a consequence of a certain disease, such as myocardial infarction. In order to calculate the probability P ( myocardial infarction | chest pain ) by formula
(7.1), you need to know (or estimate in any way), how many people in the world complain of chest pain and how many people are suffering from
myocardial infarction, and are suffering from chest pain. This information is generally not available. Thus formula (7.1) is not applicable in practice.
In probability theory, probability is defined as an objective frequency (frequency of occurrence of an event in sufficiently long
independent tests). However, in terms of practical applications, a subjective approach to the notion of probability is more applicable, allowing
one to deal with estimates of the frequency of occurrence of events rather than with actual frequency.
For example, a doctor may not know or not be able to determine how many patients complaining of chest pain suffer from myocardial infarction,
but based on his own experience, he can assess which part of his patients with this disease have experienced such a symptom. Therefore, he can estimate
the probability value of P ( chest pain|myocardial infarction ), i.e. probability , where smeans symptom and d means disease. Then by formula (7.2) the
probability can be calculated. Estimation of probability can be taken from published medical statistics, and the doctor can estimate the value on the basis
of his own observations. P(s∨d )P(d∨s )P(d)P(s)
Computation is easy when it comes to a single symptom. Suppose there are many Dí diseases and many S symptoms, and for
each element of Dí it is necessary to calculate the conditional probability that patients suffering from this disease have one definite S. If
the set of Dm elements, and in the set S - nelements, you need to calculate probability estimates. P(d∨s )mn + m+ n
But computation becomes much more complicated if more than one symptom is included in the diagnosis process.
In a more general form, the Bayes rule takes the form of:
P (s 1 ∧ .. .∧ s k ∨d ) P (d )
P(d∨s 1 ∧ .. .∧ s k )= (7.3)
P( s1 ∧. .. ∧ s k )
and requires the computation of probability estimates, because in general, the product of the ¿ P(s1 ∧. .. ∧ s k )
P(s1 ∨s 2 ∧. . .∧ s k ) P(s2∨s 3 ∧. . .∧ s k ). .. P(sk ).
However, assuming that some symptoms are independent of each other, the amount of computation is significantly reduced.
Независимость любой пары симптомов si и sj означает, что P(si )=P(s i ∨s j ), из чего следует соотношение
P(si ∧ s j)=P (s i )P( s j) .
If all symptoms are independent, the amount of computation will be the same as in the case of the diagnosis of a single symptom.
Conditional independence can be assumed in most cases. This means that the pair of symptoms si and sj is independent from any
additional evidence or fundamental knowledge of E. Thus. P(si ∨s j , E)=P(si ∨E)
For example, if the car has no fuel and no lighting, then based on knowledge of the car, these symptoms can be considered independent. But
if the car does not start and the lighting does not work, then claim that these symptoms are not independent, because they can be the result of the same
battery failure. The need to track this kind of connection greatly increases the amount of computation in general.
Thus, the use of the probability approach makes one of two choices:
or assume the independence of data and use less time-consuming methods of calculation, which will reduce the reliability of the results;
or track the relationship between the data used, quantify the relationship, i.e. make calculations more difficult, but obtain more
reliable results.
The probabilistic approach for reporting uncertainty has the following disadvantages:
Assigning probability to certain events requires information we do not have;
It is not clear how to quantify the qualitative characteristics and concepts often encountered in practice, such as «in most cases», «in
rare cases», «low», «high»;
Updating probability estimates requires a lot of computation.
These difficulties in using the probabilistic approach gave rise to a new formal apparatus for dealing with undefined information
called fuzzy logic (fuzzy logic). This machine is widely used in solving artificial intelligence problems.
Lecture. Fuzzy sets
When solving problems, the person in some cases operates qualitative characteristics of objects (many, few, strong, weak, etc.).
These characteristics are vague and cannot be unambiguously interpreted, but provide important information for decision-making.
In addition, imprecise knowledge is often used that cannot be considered entirely true or false. Their reliability is characterized
by an intermediate value (from 0 to 1). The fuzzy logic (fuzzy logic) device is designed for the formal presentation of such information.
This line of artificial intelligence was later called soft computing (soft computing).
The basic concept in fuzzy logic is that of a linguistic variable.
A linguistic variable (LP) is a variable whose values are determined by a set of verbal (verbal) characteristics of a certain
property. For example, LP «growth» is defined through a set of {dwarf, low, medium, high}.
Fuzzy set concept
The values of a linguistic variable are defined by the so-called fuzzy sets (HM), which in their turn are defined on some basic set
of values or a basic numerical scale of dimension. Each LP value is defined as a fuzzy set (e.g., HM «low growth»).
The fuzzy set is defined by some basic scale (universal set U) and the fuzzy set ownership function ( u ), u U, which takes values on the
interval [0, 1]: (x) [0,1]. The fuzzy set determines the subjective degree of certainty that the fuzzy set belongs to a particular value of the base
scale.
Consider the concept of «human growth». A valid interval [0 can be used as a universal set U; 300] covering any possible
human growth in cm. Let’s determine on this universal set the fuzzy sets of «low growth» and «high growth». People with low height
are those whose height is less than 150 cm, and people with height more than 180 cm are definitely tall. Between 150 cm and 180 cm, a
person’s height can be attributed to low or high with some degree of certainty. For example, the height of 170 cm can be attributed to a
high with some degree of membership 1, and to a low - with degree 2. While the height of 140 cm belongs to the fuzzy set of «high
growth» with degree 0, and the set of «low growth» with degree 1.
Thus, for the assignment of HM it is necessary to determine:
1. universal set U, which contains all the elements under consideration;
2. A set of Ufu degree values
set ([0.1]);
3. rule that defines the composition of the fuzzy set, i.e. the rule according to which each element from the set U1 corresponds to an
element from the interval [0,1].
For discrete universal sets, the fuzzy set represents
with the set of pairs {ui, ( ui)}, uiU , ( ui) [0.1], i = 1, 2, ... , n,
where n is the number of elements (power) of the set U.
For continuous universal sets, the rule is an analytically defined map: A: U [0,1].
So, the fuzzy set of the Auniversal set Uuus is called the map A: U [0,1] which corresponds to each element of udegree of its
belonging to the fuzzy set Ai called the accessory function of the clear set A: A( u), u u.
To define a fuzzy set, it is sufficient to specify its accessory function A( u). To emphasize the discrete or continuous character of
n
μ μ A (u)
the fuzzy set, use respectively the notation with the sign of sum or integral: ; . ∑ ui ∫ u
i=1 i U
The fuzzy set differs from the ordinary set by a set of possible values of the accessory function. If the membership function
accepts only two values for a normal set: 1 - if the element belongs to the set, 0 - otherwise, the fuzzy set ownership function takes values
in the interval [0.1]This means that an element may belong to a fuzzy set with some degree less than 1.
Besides the concept of fuzzy set in fuzzy logic are also defined
a few more concepts and terms.
The carrier (base) Anazyme is a subset of the universal set, such as 0. S A ⊂ U ∀ s ∈ S A : μ A ( s )
-the level of the fuzzy subset of the Uwnersal set Ucalled this subset , for which is true: . A α ⊂ U ∀ u ∈ Aα : μ A ( u ) ≥ α
Consider the base of the fuzzy set to be its zero level:. S A = A0
The height of the fuzzy set The upper bound of the values is analized
its accessories function: . If the height of fuzzy set sup μ A ( u )
u ∈U
μ A ( u)
is 1, then it is called normal if less than 1 is subnormal. Subnormal fuzzy set can be normalized:
sup μ A (u) .
u ∈U
Fig. 7.2 shows the fuzzy sets illustrating the human growth and the data above the definition.
μA ( u) Low growth
1
0 u
40 80 120 160 200 240 280 300
А0,5 - 0,5 уровень НМ
SA
Fig. 7.2 Examples of fuzzy sets
Both fuzzy sets have height 1, i.e. are normal. The basis of HM «high growth» is the interval [150; 300], а НМ «низкий рост» – [0; 180]
respectively. The latter also includes an example of a level.
For both fuzzy sets, the analytical expressions of their membership functions are as follows:
(u) (u)
WITH B=A AC
1 1
A
A(u) B(u) A(u) C(u)
C(u)
u 0 u
0 a) Subset and addition c) Union of fuzzy sets
fuzzy set
(u) AC (u) AC
1 1
A (u) C (u) A (u) C (u)
0 u 0 u
b) Fuzzy set difference r) Intersection of fuzzy sets
Fig. 7.3 Operations with fuzzy sets
α
The degree of the fuzzy set Anazyme fuzzy set with the function of belonging . D= A α μ D ( u )= ( μ A ( u ) ) ,u ∈ U
2
D=CON ( A )= A
By concentrating the fuzzy set the fuzzy set Anaciles the fuzzy set.
An expansion of the fuzzy set Anazyme fuzzy multiplier. D=DIL ( A ) =A 0 ,5
Concentration and expansion operations are widely used when working with linguistic variables.
The special operations with fuzzy sets listed are illustrated in Fig. 7.4.
u 0 u
0 a) Sum of fuzzy sets c) Fuzzy set concentration
(u) (u)
A (u)
D=AC
1 1
A (u) C (u) CON (A)
0 u 0 u
b) Inner product of fuzzy r) Fuzzy set expansion
sets
Lecture. Linguistic Variables
Linguistic variables (LP) are a way of describing complex systems, the parameters of which are considered as qualitative rather
than quantitative. At the same time, linguistic variables make it possible to bring some quantitative interpretation into conformity with
qualitative characteristics with a given degree of confidence, which allows the possibility of processing qualitative data on computers.
Another field of application of linguistic variables is the fuzzy logical inference, which differs from the usual one in that the truth of
logical statements is determined not by two values 0 and 1, but by a set of values in the interval [0, 1].
The concept of a linguistic variable is based on the concept of an odd variable.
A fuzzy variable is a set of three elements:
< X, U, µA(u) >,
where X is the name of the fuzzy variable; U- universal set; µA(u) is a fuzzy subset of the Auniversal set U. In other words, a fuzzy
variable is a named fuzzy set.
The linguistic variable consists of a set of five elements:
< L, T(X), U, G, M >,
where L is the name of the linguistic variable;
T(X) is a set of base thermos of a linguistic variable consisting of a set of names of meanings of linguistic variables {T1, T2, ... , Tn}, each of which
corresponds to a fuzzy Huniversal variable U;
U is a universal set on which a linguistic variable is defined;
G is a syntax rule that generates the Xvalues of a variable;
M is a semantic rule that matches each fuzzy Xher variable to M(X), i.e. a fuzzy subset of the universal set U.
К термам лингвистической переменной предъявляется требование упорядоченности: T1 < T2 < … < Tn.
The ownership functions of the fuzzy sets that make up the quantitative meaning of the base thermoses of a linguistic variable
must satisfy the following conditions:
1. μT 1(umin )=1 , μ T n (u max )=1;
μ(u) Medium
Low High
1
Fig. 7.6 Linguistic variable «Human growth»
As a syntactic rule, we define that the words «and», «or», «more or less», «not», «very», which can be combined with the base
terms «low», «medium», «high», and the following rules should be followed:
the symbols «and» and «or» can connect only two phrases or basic terms, and the remaining non-terminal symbols are unary, i.e.
can precede a phrase or basic term; for example, «not high», «very low», «low or medium»;
Simultaneous negation of two base thermons, for example, «not low and not high», is equivalent to the remaining base term, i.e.
«medium».
By applying these rules, you can construct many phrases and substitution rules. In the case that a syntactic rule cannot be
algorithmically defined, all possible phrases are simply listed.
As a semantic rule, define the correspondence between non-terminal characters and operations on fuzzy sets:
«Not» - supplement;
«and» - intersection;
«or» - association;
«very» - concentration;
«more or less» - extension.
Using the linguistic variable considered, you can estimate
We need to measure human growth without using accurate measurements.
Thus, linguistic variables can describe objects whose precise characterization is either extremely laborious or impossible.
The formation of a linguistic variable is usually carried out on the basis of a survey of experts - specialists in the field for which
the PL is built. Particular attention is paid to the formation of belonging functions of fuzzy sets, which are the basic terms of the
linguistic variable, because the definition of syntactic and semantic rules for most linguistic variables is standardized and in practice
reduced to listing all possible phrases and interpreting non-terminal characters, as shown above.
The process of forming a linguistic variable involves the following steps:
1. Determination and ordering of the set of thermoses of LP.
2. Construction of the numerical domain of the LP definition.
3. Ascertain the pattern of the expert survey and conduct the survey.
4. Construction of accessories functions for each term of LP.
Step 1 requires the expert to specify the number of PL thermos and the names of the fuzzy variables corresponding to them. The
number of thermos is selected from the range n= 7 2.
Step 2 describes a universal set U, which can be numeric and non-numeric. The type of universal set depends on the objects described and
determines the way of formation of functions of belonging of thermo PL.
Stage 3 is the key to the formation of PL. There are two types
Expert interviews: direct and indirect. Each of these methods can be individual or group. The simplest in terms of organization and
software implementation is an individual method of questioning experts.
All parameters of ownership functions are directly indicated in direct expert interviews. The disadvantage here is the
manifestation of subjectivity in judgments, as well as the need for the expert to know the bases of fuzzy logic. In indirect poll ownership
functions are formed on the basis of the expert’s answer to «suggestive» questions. This increases the objectivity of the assessment and
does not require knowledge of fuzzy logic, but increases the risk of inconsistency of expert judgment.
При групповых методах опроса результат формируется на основе объединения мнений нескольких экспертов. На
практике наиболее часто используется индивидуальный косвенный опрос.
Содержанием этапа 4 является обработка результатов опроса экспертов и построение функций принадлежности термов
ЛП.
0, u ∈¿ ∪ ¿
µA(u) =
1, u ∈[b ; c ],
L(u), u ∈(a ; b)
R(u) u ∈(c ; d)
,
где a< b ≤ c< d – параметры нечеткого числа; L(x), R(x) – некоторые функции.
Нечеткое параметрическое число обозначается (a, b, c, d)LR.
Таким образом, нечеткое число (L–R)–типа описывается шестью параметрами: четырьмя числами, обозначающими его
границы, и двумя функциями, определяющими форму его функции принадлежности.
μ(u)
1
L(u) R(u)
a b c d a b=c d u
Рис.7.8 Параметрические нечеткие числа
Нечеткое число называется унимодальным, если оно имеет только одну точку, в которой функция принадлежности равна
единице, т.е. его параметры b и c равны, в противном случае нечеткое число называется толерантным (см. рис. 7.8).
Унимодальные нечеткие числа обозначаются пятью параметрами (a, b, d)LR.
В качестве LR–функций наиболее часто используют линейные зависимости, задаваемые следующими соотношениями:
u −a u−d
L(u , a , b)= , R(u , c , d)= .
b−a c−d
LR – функции также могут задаваться квадратичными, экспоненциальными и другими зависимостями.
В случае использования линейных функций унимодальные и толерантные нечеткие числа называют соответственно
треугольными и трапециевидными и обозначают (a, b, d) и (a, b, c, d).
Для нечетких чисел особым образом определяется понятие знака и нулевого значения.
Нечеткое число А называется положительным, если его основание лежит в положительной действительной полуоси
+¿ ¿
SA ⊂ R или
∀ u ∈ R and. μ A (u)> 0: u>0
Нечеткое число А называется отрицательным, если его основание лежит в отрицательной действительной полуоси
−
SA ⊂ R или
∀ u ∈ R and. μ A (u)> 0: u<0
Для параметрических нечетких чисел знак определяется значениями параметров: положительное нечеткое число, если a
> 0; отрицательное, если d < 0; нечеткий ноль, если 0 ∈[b , c ].
Операции с нечеткими числами
Одной из важнейших операций с нечеткими числами является их сравнение. Результат сравнения очевиден лишь в том
случае, если основания сравниваемых нечетких чисел M и N не пересекаются, т.е S M ∩ S N =¿∅ . В этом случае большим
считается то число, чье основание на действительной оси расположено правее (рис. 7.9).
μ(u) M N>M
N
1
u
SM SN
H(M)
Рис. 7.10 Сравнение по максимуму функций u
H(N) принадлежности
Центр тяжести нечеткого числа M = ∫ μ M ¿¿ вычисляется по формуле:
[u , u ]
u
∫ u⋅ μ M (u) du
u
H (M )= u . (7.4)
∫ μ M (u)du
u
Физическим аналогом этой формулы является нахождение центра тяжести плоской фигуры, ограниченной осями
координат и графиком функции принадлежности нечеткого множества.
Сравнение нечетких чисел более предпочтительно выполнять на основе поиска центра тяжести.
Еще одной важной операцией с нечеткими множествами, в том числе нечеткими числами, является определение меры
сходства. Обычно данную операцию применяют для этого, чтобы определить какое из двух нечетких множеств больше похоже
на третье. Прикладное значение такой операции заключается в следующем. При задании параметров некоторой системы могут
использоваться лингвистические переменные, тогда значениями параметров являются нечеткие множества. Обработка и анализ
параметров требует выполнения над ними некоторых преобразований, в результате которых также получаются нечеткие
множества. Но представлять их в качестве результата нецелесообразно. Результат лучше представить с помощью
лингвистических переменных. Чтобы выяснить, на какой из термов лингвистической переменной больше похож результат, и
применяется процедура вычисления меры сходства. Терм, для которого она окажется максимальной, считается результатом.
Указанная процедура получила название лингвистической аппроксимации и служит средством обратного преобразования
количественных данных в качественные.
Мера сходства для совпадающих нечетких множеств должна быть равна 1, а для непересекающихся – 0.
Общая формула для вычисления меры сходства двух нечетких множеств M и N имеет следующий вид:
∫ min { μ M (u), μN (u) } du
SM ∩ SN
μS ( M , N )= ,
∫ max { μ M (u) , μ N (u) } du
SM∪SN
где μ M (u), μ N (u) – функции принадлежности нечетких множеств M и N;
S M , S N – основания нечетких множеств M и N.
Данное выражение интерпретируется как отношение площадей функций принадлежности пересечения и объединения
рассматриваемых нечетких множеств (рис. 7.11).
μ(u) M N μ(u) M N
1 1
M N M N
0 u 0 u
Рис. 7.11 Графическое представление меры сходства НМ
В случае n правил
μ
V (αi C i ( z)) .
n
∑ ❑(z )=C( z)=i=1
Выполняется приведение к четкости методом центра тяжести.
Интеллектуальные ИС
6 10
11
12 8
WITH 8 D
BCD
EFG HI
A
ABA 6
5
12 AD
AC 11 ADB
11 10 8
ABD ACB 10 8 ACD
ABC ADC 10
8 11 11 101
ABDC ABCD 8 ACBD ACDB ADCB ADBC
011
12 6 6 5 5 12
ABDCA ABCDA ACBDA ACDBA ADCBA ADBCA
36336 29 39 36 29 39
Рис. 8.3 Граф состояний задачи о выборе маршрута
Поиск решений имеет итеративный характер, причем число итераций и вершин, раскрытых до нахождения целевой вершины,
существенно зависит от порядка раскрытия вершин. Порядок раскрытия вершин называют стратегией поиска.
Выделяют два основных типа стратегий поиска: «слепой» перебор и упорядоченный перебор вершин – кандидатов на
раскрытие. Слепой перебор характеризуется тем, что расположение целевых вершин или их близость не влияют на порядок
раскрытия. Существует несколько алгоритмов слепого перебора. Рассмотрим три наиболее типичных: алгоритм полного
перебора, алгоритм равных цен, алгоритм перебора в глубину.
Алгоритм полного перебора
Вершины раскрываются в том порядке, в котором они были порождены. Первой раскрывается начальная вершина.
Проверяется среди порожденных вершин наличие целевой. Если есть, поиск заканчивается. Если нет, то раскрывается первая из
порожденных вершин и проверяется наличие целевых вершин. Затем раскрывается вторая из порожденных вершин и т.д.
Для записи алгоритмов поиска в пространстве состояний введем понятия списков открытых (ОТК) и закрытых (ЗКР)
вершин. Список закрытых вершин – это список, где размещаются идентификаторы раскрытых вершин и идентификатор
вершины, которую предстоит раскрыть в данный момент. Вершины из списка ЗКР, кроме последней, раскрывать нельзя.
Список открытых вершин – это список, где размещаются идентификаторы вершин, которые могут и должны быть раскрыты.
Стратегии поиска различаются правилами размещения вершин в списке ОТК и выбора очередной вершины для
раскрытия.
Алгоритм полного перебора включает следующие шаги.
1. Поместить начальную вершину в список ОТК.
2. Если список ОТК пуст, выдать сообщение о неудаче поиска, иначе перейти к следующему шагу.
3. Взять первую вершину из списка ОТК и перенести ее в список ЗКР, присвоить вершине идентификатор v .
4. Раскрыть вершину v . Поместить все дочерние неповторяющиеся (т.е. не встречающиеся в списке ЗКР) вершины в конец
списка ОТК и построить указатели, ведущие от них к вершине v . Если вершина v не имеет дочерних вершин, то перейти к
шагу 2.
5. Проверить, не является ли одна из дочерних вершин v целевой. Если является, то выдать решение, в ином случае перейти
к шагу 2.
В этом алгоритме предполагается, что начальная вершина не может быть
целевой. Алгоритм позволяет найти оптимальное (минимальное по числу дуг) решение. Например, использование этого
алгоритма для решения задачи о выборе маршрута (минимальной длины) сводится к построению графа состояний (см. рис. 8.3).
Имея этот граф и сравнивая длины различных маршрутов, ведущих к целевым состояниям, можно выбрать оптимальные
маршруты. Как следует из графа состояний, таких маршрутов два – маршруты, ведущие к целевым состояниям ABCDA и
ADCBA.
Алгоритм равных цен
Пусть каждой дуге поставлена в соответствие некоторая функция стоимости c ij . Требуется найти путь минимальной
стоимости. Раскрытие вершин осуществляется в порядке возрастания их стоимости. Обозначим g (v ) – стоимость некоторой
вершины v .
Алгоритм равных цен включает следующие шаги.
1. Поместить начальную вершину s0 в список ОТК.
2. Если список ОТК пуст, выдать сообщение о неудаче поиска, иначе перейти к шагу 3.
3. Взять из списка ОТК ту вершину, для которой величина g ( v ) имеет наименьшее значение, и поместить ее в список ЗКР.
Присвоить этой вершине идентификатор v .
4. Если v – целевая вершина, то выдать решающий путь, в противном случае перейти к шагу 5.
5. Раскрыть вершину v . Если v не имеет дочерних вершин, перейти к шагу 2. В противном случае для каждой дочерней
вершины vi вычислить стоимость g (vi ) по формуле g ( v i ) =g ( v ) +c ( v , v i ). Поместить эти вершины вместе с
соответствующими им g ( v i ) в список ОТК и построить указатели, ведущие от них к вершине v . Перейти к шагу 2.
Алгоритм равных цен является обобщением алгоритма полного перебора и сводится к нему при условии, что стоимости
раскрытия всех вершин равны. При применении этого алгоритма к задаче о выборе маршрута раскрывается меньшее число вершин.
Граф решения приведен на рис. 8.4, где на дугах указаны стоимости c (v , v i ), а на вершинах кроме обозначения состояния –
значение функции g ( v i ), а также (в скобках) номер, определяющий порядок раскрытия вершин.
A (1)
5 0 6
12
AB (2) AD (3)
5 AC (4) 12 8 11
11 10 10 8 6 ADB (8)
ABD (7) ABC (6) ACB(10) ACD (9) ADC (5) 17
16 15 10 14 10
8 22 20
8 11 11 ADCB ADBC
ABDC ABCD(11) ACBD ACDB 24
24 27
23 33 31
6
ABCDA
29
Рис. 8.4 Граф решения задачи о выборе маршрута при использовании алгоритма равных цен
Во всех рассмотренных алгоритмах перебора предполагается, что начальная вершина только одна. Если начальных
вершин несколько, то эти алгоритмы изменяются только на шаге 1: на шаге 1 в список ОТК помещаются все начальные
вершины.
Достоинством методов слепого перебора являются, во-первых, простота алгоритмической реализации, во-вторых,
обязательность получения решения, если оно существует. Недостатком этих методов является резкое возрастание числа
вершин, которые необходимо раскрыть в процессе поиска решения, с увеличением размерности задачи. Это существенно
сужает круг практических задач, которые могут быть решены методами слепого перебора.
Алгоритмы упорядоченного перебора
Для большинства практических задач удается сформулировать эмпирические правила, позволяющие уменьшить объем
перебора. Эти правила используют специфическую информацию о решаемой задаче, формируемую на основе опыта, интуиции
и здравого смысла исследователя. Информацию такого рода называют эвристической, а основанные на ней алгоритмы –
эвристическими.
Основная идея эвристических алгоритмов заключается в упорядочении списка открытых вершин в соответствии с
некоторой мерой, оценивающей «перспективность» вершины или пути, на котором находится данная вершина. Такую меру
называют оценочной функцией. Для очередного раскрытия из списка ОТК выбирается вершина, имеющая минимальное
значение оценочной функции. После каждого шага раскрытия производится переупорядочивание вершин в списке в
соответствии со значениями оценочной функции. Процедуру такого типа называются алгоритмом упорядоченного перебора.
Существуют различные идеологии построения оценочных функций. Рассмотрим наиболее распространенную.
Пусть g ( v ) – стоимость кратчайшего (оптимального) пути из любой начальной вершины s0 ∈ S 0 до некоторой
вершины v . Стоимость кратчайшего пути из вершины v до ближайшей целевой вершины g0 ∈G обозначим h ( v ). Функция
f (v )=g(v )+ h(v) выражает стоимость кратчайшего пути из начальной вершины в целевую при условии, что он проходит
через вершину v .
Введем следующие оценочные функции:
g ( v ) – оценка стоимости кратчайшего пути из начальной вершины в вершину v ;
h(v )– оценка стоимости кратчайшего пути из вершины v до ближайшей целевой.
Тогда функция
f ( v )=g ( v )+ h ( v ) (8.1)
является оценкой функции f ( v ), т.е. оценкой стоимости кратчайшего пути из начальной вершины в целевую при условии, что
он проходит через вершину v . В качестве значения функции g ( v ) естественно выбрать действительную стоимость пути из
начальной вершины в вершину v , найденного алгоритмом перебора к данному моменту. Заметим, что если граф состояний не
имеет структуру дерева, то значение g ( v ) может меняться в процессе раскрытия вершин. Поясним это на примере (рис. 8.6).
a) b) s0
s0
3 7 3 7
v1 3 v2
v1 v2
2 (v1) = 3
(v1) = 3 (v2) = 7 (v2) = 6
v3
(v3) = 5
Рис. 8.6 Граф состояний, не имеющий структуру дерева
Пусть на шаге 1 поиска раскрыта вершина s0 и порождены вершины v1 и v2 со значениями стоимостей g(v 1)=3 и
g(v 2)=7 (рис.8.6,а). На шаге 2 раскрывается вершина v1 и порождаются вершина v3 и снова вершина v2, причем из v1 в v2
ведет путь стоимостью 3 (рис. 8.6,б). Очевидно, стоимость кратчайшего пути из s0 в v2 равна g(v 2)=6.
Как следует из определения и приведенного примера, g ( v ) ≥ g ( v ). Оценочная функция g ( v ) вычисляется в процессе
работы алгоритма перебора.
При построении оценочной функции h(v ) опираются на любую эвристическую информацию о решаемой задаче,
поэтому h(v ) называют эвристической функцией. Если h ( v )=0 , то алгоритм перебора сводится к алгоритму равных цен, что
соответствует полному отсутствию эвристической информации.
Не существует общих рекомендаций к способам определения функции h(v ), поэтому рассмотрим ее смысл на примере.
Конкретизируем задачу о манипуляции предметами следующим образом. Три пронумерованных блока располагаются на трех
площадках. Робот может перемещать с одной площадки на другую по одному блоку. Блоки могут устанавливаться друг на
друга. Для перемещения можно брать только верхний блок. Заданы начальное и целевое расположение блоков. Задача
заключается в определении плана перемещения блоков, позволяющего за минимальное число шагов (шаг – одно перемещение
блока) перейти от начального расположения к целевому. На рис. 8.7 представлены целевое и начальное расположение блоков
на площадках.
1
3 2
2 1 3
Начальное состояние Целевое состояние
Рис. 8.7 Расположение блоков на площадках
В качестве эвристической функции h(v ) примем сумму числа блоков, расположенных не на своем месте, и общего
числа блоков, препятствующих установке каждого из них на свое место. Препятствующими считаются блоки, расположенные
сверху какого-либо блока, который надо переместить, и блоки, занимающие «чужие» места в целевой конфигурации, т.е. места,
в которые должны быть установлены блоки, расположенные не на своем месте.
Граф решения задачи с помощью алгоритма упорядоченного перебора при указанной эвристической функции приведен
на рис. 8.8. Для удобства вершины пронумерованы.
Эвристическая функция вершины 1 равна h (1) = 7, так как не на своем месте расположены два блока (2 и 3). Места,
которые они должны занять, заняты другими блоками и над блоком 2 расположены два блока, а над блоком 3 – один ( h (1) = 2 +
2 + 2 + 1 = 7). Поэтому оценочная функция f (1) = g(1) + h (1) = 8. Аналогично считаются значения оценочной функции на
других вершинах первого уровня.
Среди вершин первого уровня наименьшее значение функции f имеет вершина 3. Поэтому на шаге 2 раскрывается эта
вершина. При этом повторяющиеся
вершины не строятся и значения функции f таких вершин сохраняются, так как функция g с каждым шагом возрастает, а функция
h не изменяется. На шаге 3 возникает задача выбора вершины для раскрытия, поскольку три вершины (5, 6 и 4) имеют
минимальную оценку f =6 . Условимся, что при одинаковых значениях f предпочтение отдается тем вершинам, у которых
меньше h . Вершины 5 и 6 имеют одинаковые значения f и h . Граф на рис. 8.8 соответствует случаю, когда эти вершины
упорядочены так, что сначала раскрывается вершина 5.
Рассмотрим некоторые свойства алгоритмов упорядоченного перебора. Алгоритм называют гарантирующим или
допустимым, если для произвольного графа состояний он заканчивает работу построением оптимального пути.
Для сравнения эффективности алгоритмов перебора используется понятие эвристической силы. Пусть A1 и A2 –
произвольные гарантирующие алгоритмы перебора, а f 1 ( v )=g ( v ) +h 1 ( v ), f 2 ( v )=g ( v ) + h2 ( v ) – используемые ими
оценочные функции. Алгоритм A1 называют эвристически более сильным, чем алгоритм A2 , если на всех вершинах, кроме
целевой, выполняется неравенство h1 ( v ) h2 ( v ) . Эвристически более сильный алгоритм A1 раскрывает меньшее число
вершин при поиске минимального пути, чем алгоритм A2 . Обозначим B – множество гарантирующих алгоритмов, которые
❑
можно использовать для решения данной задачи. Алгоритм A ∈ B называют оптимальным, если он не раскрывает большее
число вершин, чем любой другой алгоритм A ∈ B .
Оптимальность в указанном смысле не является исчерпывающей характеристикой эффективности алгоритма, так как не
учитывает сложность вычисления эвристической функции h ( v ). В большинстве практических задач более объективной
характеристикой является оценка объема вычислений, необходимых для определения значений h(v) на всех шагах к целевой
вершине.
3
2 1 _
1 2 3 4
1
=1 3 3 3
2_ _ 2 1 _ 2 3 1 2 _ 1
=8 5 =7 6 7 =5 8 =6
=2 2 2 1 1
_ 3 1 _ 3 1 2 3 _ 2 3 _
9 = 6 100 =11
6 = 8 12 =7
1 3
=3 2 2 2 2
1 3 _ _ 3 _ 3 _ 1 _ _ 1
=8 =9 =13
6 =14
9
=4 2
3 _ 1 3 2 1
=5 =6
Рис. 8.8 Граф решения задачи о манипуляции предметами
Лекция. Генетические алгоритмы
Генетические алгоритмы – перспективное и динамично развивающееся направление интеллектуальной обработки
данных, связанное с решением задач поиска и оптимизации.
Область применения генетических алгоритмов достаточно обширна. Финансовые компании используют их для
прогнозирования развития финансовых рынков при управлении пакетами ценных бумаг. Генетические алгоритмы
применяются для решения комбинаторных задач, для оценки значений непрерывных параметров моделей большой
размерности, для оптимизации моделей, включающих одновременно непрерывные и дискретные параметры. Другая
область применения – использование в системах извлечения новых знаний из больших баз данных, обучение нейронных
сетей, оценка параметров в задачах многомерного статистического анализа.
Сейчас при решении очень сложных задач основной целью является поиск уже не оптимального, а более «хорошего»
решения по сравнению с решением, полученным ранее или заданным в качестве начального. Именно для этих целей и
применяются генетические алгоритмы. Они не гарантируют обнаружения глобального экстремума целевой функции (или
оптимального решения) за определенное время. Основное их преимущество в том, что они позволяют найти более “хорошие”
решения очень трудных задач за меньшее время, чем другие методы. Генетические алгоритмы оказались достаточно эффектив-
ными для решения ряда реальных задач инженерного проектирования, планирования, маршрутизации и размещения,
управления портфелями ценных бумаг, прогнозирования, а также во многих других областях.
Отрицательной чертой генетических алгоритмов является то, что они представляют собой скорее подход к решению задач
оптимизации, чем алгоритм. И вследствие этого требуют адаптации к каждому конкретному классу задач путем выбора
определенных характеристик и параметров.
Основные определения и свойства
Генетические алгоритмы имеют целью нахождение не оптимального, а лучшего решения по сравнению с имеющимся
решением задачи. Это связано с тем, что для сложной задачи часто требуется найти хоть какое-нибудь удовлетворительное
решение, а проблема достижения оптимума отходит на второй план. При этом другие методы, ориентированные на поиск
именно оптимального решения, вследствие чрезвычайной сложности задачи становятся вообще неприменимыми.
Основные отличия генетических алгоритмов от традиционных методов:
1. Генетические алгоритмы работают с кодами, в которых пред процессе работы манипуляции с кодами происходят
независимо от их интерпретации, код рассматривается просто как битовая строка.ставлен набор параметров, напрямую
зависящих от аргументов целевой функции. Причем интерпретация этих кодов происходит только перед началом работы
алгоритма и после завершения его работы для получения результата. В
2. Для поиска генетический алгоритм использует несколько то– опасность попадания в локальный экстречек поискового
пространства одновременно, а не переходит от точки к точке, как это делается в традиционных методах. Это позволяет преодо -
леть один из их недостатков мум целевой функции, если она не является унимодальной, т. е. имеет несколько таких
экстремумов.
3. Генетические алгоритмы в процессе работы не используют никакой дополнительной информации, что повышает
скорость работы. Единственной используемой информацией может быть область допустимых значений параметров и целевой
функции в произвольной точке.
4. Генетический алгоритм использует как вероятностные правила для порождения новых точек, так и детерминированные
правила для перехода от одних точек к другим. Одновременное использование элементов случайности и детерминированности
дает значительно больший эффект, чем раздельное.
Прежде чем рассматривать непосредственно работу генетического алгоритма, введем ряд терминов, которые широко
используются в данной области.
Выше было показано, что генетический алгоритм работает с кодами безотносительно их смысловой интерпретации.
Поэтому сам код и его структура описываются понятием генотип, а его интерпретация, с точки зрения решаемой задачи, –
понятием фенотип. Каждый код представляет, по сути, точку пространства поиска. С целью максимально приблизиться к
биологическим терминам, экземпляр кода называют хромосомой, особью или индивидуумом.
На каждом шаге работы генетический алгоритм использует несколько точек поиска одновременно. Совокупность этих
точек является набором особей, который называется популяцией. Количество особей в популяции называют размером популяции.
Размер популяции является фиксированным и представляет одну из характеристик генетического алгоритма. На каждом шаге
работы генетический алгоритм обновляет популяцию путем создания новых особей и уничтожения ненужных. Чтобы отличать
популяции на каждом из шагов и сами эти шаги, их называют поколениями и обычно идентифицируют по номеру. Например,
популяция, полученная из исходной популяции после первого шага работы алгоритма, является первым поколением, после
следующего шага – вторым и т. д.
В процессе работы алгоритма генерация новых особей происходит на основе моделирования процесса размножения. При
этом, естественно, порождающие особи называются родителями, а порожденные – потомками. Родительская пара порождает пару
потомков. Непосредственная генерация новых кодовых строк из двух выбранных происходит за счет работы оператора
скрещивания. При порождении новой популяции оператор скрещивания может применяться не ко всем парам родителей. Часть
этих пар может переходить в популяцию следующего поколения непосредственно. Насколько часто будет возникать такая
ситуация, зависит от значения вероятности применения оператора скрещивания, которая является одним из параметров
генетического алгоритма.
Моделирование процесса мутации новых особей осуществляется за счет работы оператора мутации. Основным
параметром оператора мутации также является вероятность мутации.
Поскольку размер популяции фиксирован, то порождение потомков должно сопровождаться уничтожением других
особей. Выбор пар родителей из популяции для порождения потомков производит оператор отбора, а выбор особей для
уничтожения – оператор редукции. Основным параметром их работы является качество особи, которое определяется значением
целевой функции в точке пространства поиска, описываемой этой особью.
Таким образом, можно перечислить основные понятия и термины, используемые в области генетических алгоритмов:
• генотип и фенотип;
• особь и качество особи;
• популяция и размер популяции;
• поколение;
• родители и потомки.
К характеристикам генетического алгоритма относятся:
• размер популяции;
• оператор скрещивания и вероятность его использования;
• оператор мутации и вероятность мутации;
• оператор отбора;
• оператор редукции;
• критерий останова.
Операторы отбора, скрещивания, мутации и редукции называют еще генетическими операторами.
Критерием останова работы генетического алгоритма может быть одно из трех событий:
1. Сформировано заданное пользователем число поколений.
2. Популяция достигла заданного пользователем качества (например, значение качества всех особей превысило
заданный порог).
3. Достигнут некоторый уровень сходимости, т. е. особи в популяции стали настолько подобными, что дальнейшее их
улучшение происходит чрезвычайно медленно.
Характеристики генетического алгоритма выбираются таким образом, чтобы обеспечить малое время работы, с одной
стороны, и поиск как можно лучшего решения, с другой.
Последовательность работы генетического алгоритма
Общая схема работы генетического алгоритма представлена на рис. 9.1.
Формирование исходной популяции происходит с использованием какого-либо случайного закона, на основе которого
выбирается нужное количество точек поискового пространства. Исходная популяция может также быть результатом работы
какого-либо другого алгоритма оптимизации.
В основе оператора отбора, который служит для выбора родительских пар и уничтожения особей, лежит принцип
“выживает сильнейший”. В качестве примера можно привести следующий оператор. Выбор особи для размножения
производится случайно. Вероятность участия особи в процессе размножения вычисляется по формуле:
n
Pi=f i / ∑ f j ,
j=1
где Рi – вероятность участия особи в процессе размножения, i – номер особи,
п – размер популяции, fi – значение целевой функции для i-ой особи. В данном случае целью поиска является
нахождение максимума целевой функции. Одна особь может быть задействована в нескольких родительских парах.
Аналогично может быть решен вопрос уничтожения особей. Только вероятность уничтожения, соответственно, должна
быть обратно пропорциональна качеству особей. Однако обычно просто уничтожают особей с наихудшим качеством. Таким
образом, выбирая для размножения наиболее качественные особи и уничтожая наиболее слабые, генетический алгоритм
постоянно улучшает популяцию, приводя к формированию лучших решений.
Оператор скрещивания призван моделировать природный процесс наследования, т. е. обеспечивать передачу свойств
родителей потомкам.
Рассмотрим простейший оператор скрещивания. Он выполняется в два этапа. Пусть особь представляет собой строку из
т элементов. На первом этапе равновероятно выбирается натуральное число k от 1 до m–1. Это число называется точкой
разбиения. В соответствии с ним обе исходные строки разбиваются на две подстроки. На втором этапе строки обмениваются
своими подстроками, лежащими после точки разбиения, то есть элементами с k+1-го по m-й. Так получаются две новые строки,
которые наследовали частично свойства обоих родителей. Этот процесс проиллюстрирован ниже.
Line 1 X1X2. . . . XkXk+1. . . . XmX1X2. . . . XkYk+1. . . . . . Ym
Таблица 9.1
№ строки Код Значение целевой функции Вероятность участия в процессе размножения
1 12345 29 32/122
2 21435 29 32/122
3 54312 32 29/122
4 43125 32 29/122
Таблица 9.2
Значение целевой функции
№ строки Родители Потомки
для потомков
1 1|234|5 5|431|2 32
1|23|54 28
3 5|431|2
мутация 13254
2 2|143|5 4|312|5 32
4 4|312|5 2|143|5 29
Пусть для потомка (12354) сработал оператор мутации, и обменялись местами числа 2 и 3. В данном случае строка (12354)
изменилась и приняла значение (13254). Популяция первого поколения после отсечения худших особей в результате работы
оператора редукции приняла вид, представленный в таблице 9.3.
Таблица 9.3
№ строки Код Значение целевой функции Вероятность участия в процессе размножения
1(1) 12345 29 28/115
2(2) 21435 29 28/115
3(n) 13254 28 29/115
4(n) 21435 29 28/115
Пусть для получения второго поколения были выбраны следующие пары строк: (1,4) и (2, 3). И в результате были
получены потомки, показанные в таблице 9.4.
Таблица 9.4
Родител Значение целевой функции
№ строки Потомки
и для потомков
1 |123|45 |214|35 29
4 |214|35 |123|45 29
2 |21|435 |13|452 32
3 |13|254 |21|354 29
Популяция второго поколения после отсечения худших особей приняла вид, показанный в таблице 9.5.
Таблица 9.5
№ строки Код Значение целевой функции Вероятность участия в процессе размножения
1(1) 12345 29 28/115
2(2) 21435 29 28/115
3(3) 13254 28 29/115
4(n) 21354 29 28/115
Таким образом, после двух итераций значение целевой функции для лучшего решения изменилось с 29 на 28, среднее
значение изменилось с 30,5 до 28,75, а общее качество с 122 до 115. Таким образом, имеем незначительное, но улучшение
популяции.
.
Сигнал NET далее преобразуется активационной функцией F и дает выходной сигнал нейрона OUT (см. рис.10.2).
x1 w1 F
w2 NET
x2 ∑
OUT f (NET )
wn Искусственный нейрон
xn
Рис. 10.2 Искусственный нейрон с активационной функцией
Активационная функция может быть линейной функцией
OUT=K (NET),
где K – постоянная; пороговой функцией
если NET >T ,
OUT={ 1 ,|
если NET ≤T ,
где T – некоторая постоянная пороговая величина.
В качестве активационной функции может также использоваться нелинейная функция, более точно моделирующая
нелинейную передаточную характеристику биологического нейрона.
Если активационная функция сужает диапазон изменения величины NET так, что при любых значениях NET значения
OUT принадлежат некоторому конечному интервалу, то F называется сжимающей функцией. В качестве сжимающей функции
часто используется логистическая или сигмоидальная (S –
−x
образная) функция F ( x)=1 /(¿ 1+e ) ¿, показанная на рис.10.3. Таким образом,
1
OUT= − NET .
OUT
1+ e
1
0,5
Рис. 10.3 Логистическая функция
NET
-1
Рис. 10.4 Функция гиперболического тангенса
… wm1 …
xt wmn Σ yp
wm1
… … …
wm2
xt wmn Σ knp Σ yp
{
y j= 1 , ∑ W ij x j>θ j
j |
Таким образом, при заданных значениях весов и порогов, нейрон имеет определенное значение выходной активности
для каждого возможного вектора входов. Множество входных векторов, при которых нейрон активен (y=1), отделено от
множества векторов, на которых нейрон пассивен (y=0) гиперплоскостью, уравнение которой имеет вид:
∑ W ij x j −θ j=0
j
Следовательно, нейрон способен отделить (иметь различный выход) только такие два множества векторов входов, для
которых имеется гиперплоскость, отсекающая одно множество от другого. Такие множества называют линейно разделимыми.
Проиллюстрируем это понятие на примере.
Пусть имеется нейрон, для которого входной вектор содержит только две булевые компоненты (x 1 , x 2) , определяющие
плоскость. На данной плоскости возможные значения векторов отвечают вершинам единичного квадрата. В каждой вершине
определено требуемое значение выхода нейрона 1 (на рис. 10.9 белая точка) или 0 (черная точка). Требуется определить,
существует ли такой набор весов и порогов нейрона, при котором этот нейрон сможет отделить точки разного цвета?
На рис 10.9 представлена одна из ситуаций, когда этого сделать нельзя вследствие линейной неразделимости множеств
белых и черных точек.
Рис. 10.9. Белые точки не могут быть отделены одной прямой от черных.
Требуемые выходы нейрона для этого рисунка определяются таблицей, которая задает
логическую функцию “исключающее или”:
X1 X2 Y
0 0 0
1 0 1
0 1 1
1 1 0
Линейная неразделимость множеств аргументов, отвечающих различным значениям функции означает, что функция
“исключающее или”, широко использующаяся в логических устройствах, не может быть представлена формальным нейроном.
Итак, однослойный персептрон крайне ограничен в своих возможностях точно представить наперед заданную
логическую функцию. Позднее, в начале 70-х годов, это ограничение было преодолено путем введения нескольких слоев
нейронов, однако критическое отношение к классическому персептрону сильно заморозило общий круг интереса и научных
исследований в области искусственных нейронных сетей.
Многослойный персептрон
Выше было показано, что существуют ограничения на возможности однослойных сетей, в частности требование
линейной разделимости классов. Особенности строения биологических сетей подталкивают исследователя к использованию
более сложных, и в частности, иерархических архитектур. Идея относительно проста – на низших уровнях иерархии классы
преобразуются таким образом, чтобы сформировать линейно разделимые множества, которые в свою очередь будут успешно
распознаваться нейронами на следующих (высших) уровнях иерархии.
Рассмотрим иерархическую сетевую структуру, в которой связанные между собой нейроны (узлы сети) объединены в
несколько слоев (рис. 10.10). Межнейронные связи сети устроены таким образом, что каждый нейрон на данном уровне
иерархии принимает и обрабатывает сигналы от каждого нейрона более низкого уровня. Таким образом, в данной сети имеется
выделенное направление распространения нейроимпульсов – от входного слоя через один (или несколько) скрытых слоев к
выходному слою нейронов. Нейросеть такой топологии будем называть многослойным персептроном или просто
персептроном.
Рис.10.10. Структура многослойного персептрона с пятью входами, тремя нейронами в скрытом слое, и одним нейроном
выходного слоя.
Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных
нейронов. На низшем уровне иерархии находится входной слой, задачей которого является только прием и распространение по
сети входной информации. Далее имеются один или несколько скрытых слоев. Каждый нейрон в скрытом слое имеет
несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входами x1,..., xn, и один
выход. Нейрон характеризуется уникальным вектором весовых коэффициентов w. Веса всех нейронов слоя формируют
матрицу, которую мы будем обозначать V или W. Функция нейрона состоит в вычислении взвешенной суммы его входов с
дальнейшим нелинейным преобразованием ее в выходной сигнал:
y=1 /(¿ 1+exp(−[ ∑ W i x i − θ])) ¿ (10.1)
i
Выходы нейронов последнего, выходного, слоя описывают результат классификации Y=Y(X). Особенности работы
персептрона состоят в следующем. Каждый нейрон суммирует поступающие к нему сигналы от нейронов предыдущего уровня
иерархии с определенными весами и формирует выходной сигнал (переходит в возбужденное состояние), если полученная
сумма выше порогового значения. Персептрон переводит входной образ, определяющий степени возбуждения нейронов самого
нижнего уровня иерахии, в выходной образ, определяемый нейронами самого верхнего уровня. Число последних, обычно,
сравнительно невелико. Выход нейрона на верхнем уровне говорит о принадлежности входного образа к той или иной
категории.
Легко заметить, что порог нейрона может быть сделан эквивалентным дополнительному весу, соединенному с
фиктивным входом, равным -1. Действительно, выбирая W0 = θ, x0 = -1 и начиная суммирование с нуля, можно рассматривать
нейрон с нулевым порогом и одним дополнительным входом:
n n n
y=f ( ∑ W i x i −θ)=f ( ∑ W i x i+(−1)⋅θ)=f (∑ W i x i+W 0 x 0 )=f ¿
i=1 i=1 i=1
Дополнительные входы нейронов, соответствующие порогам, изображены на рис. 10.10 темными квадратиками. С
учетом этого, все формулы суммирования по входам начинаются с нулевого индекса.
Традиционно используется аналоговая логика, при которой допустимые состояния связей определяются произвольными
действительными числами, а выходы нейронов – действительными числами между 0 и 1.
Опишем классический вариант многослойной сети с аналоговыми синапсами и сигмоидальной активационной функцией
нейронов, определяемой формулой (10.1).
Для обучения многослойной сети в 1986 г. был предложен алгоритм обратного распространения ошибок (error back
propagation). Многочисленные публикации о промышленных применениях многослойных сетей с этим алгоритмом обучения
подтвердили его принципиальную работоспособность на практике.
Для обучения многослойного персептрона нельзя применить уже известное δ - правило Розенблатта, т.к. для применения
метода Розенблатта необходимо знать не только текущие выходы нейронов y, но и требуемые правильные значения Y. В случае
многослойной сети эти правильные значения имеются только для нейронов выходного слоя. Требуемые значения выходов
для нейронов скрытых слоев неизвестны, что и ограничивает применение δ - правила.
Основная идея обратного распространения состоит в том, как получить
оценку ошибки для нейронов скрытых слоев. Заметим, что известные ошибки, делаемые нейронами выходного слоя,
возникают вследствие неизвестных ошибок нейронов скрытых слоев. Чем больше значение синаптической связи между
нейроном скрытого слоя и выходным нейроном, тем сильнее ошибка первого влияет на ошибку второго. Следовательно, оценку
ошибки элементов скрытых слоев можно получить, как взвешенную сумму ошибок последующих слоев. При обучении
информация распространяется от низших слоев иерархии к высшим, а оценки ошибок, делаемых сетью, – в обратном
направлении, что и отражено в названии метода.
Перейдем к подробному рассмотрению этого алгоритма. Для упрощения обозначений ограничимся ситуацией, когда
сеть имеет только один скрытый слой. Матрицу весовых коэффициентов от входов к скрытому слою обозначим W, а матрицу
весов, соединяющих скрытый и выходной слой – V. Для индексов примем следующие обозначения: входы будем нумеровать
только индексом i, элементы скрытого слоя – индексом j, а выходы, соответственно, – индексом k.
Пусть сеть обучается на выборке(X α , Y α ) , α =1 , .. . , p . Выходы нейронов будем обозначать малыми буквами y с
соответствующим индексом, а суммарные взвешенные входы нейронов – малыми буквами x.
Общая структура алгоритма имеет следующий вид.
Шаг 0. Начальные значения весов всех нейронов всех слоев V(t=0) и W(t=0) полагаются случайными числами.
Шаг 1.Сети предъявляется входной образ X α и формируется выходной образ y ≠Y α . При этом нейроны последовательно от
слоя к слою функционируют по следующим формулам:
скрытый слой
x j=∑ W ij X i ; y j=f (x j )
α
i
выходной слой
x k =∑ V jk y j ; y =f (x )
k k
j
Здесь f(x) - сигмоидальная функция, определяемая по формуле (10.1)
Шаг 2. Функционал квадратичной ошибки сети для данного входного образа имеет вид: E=1/2 ∑ ¿¿
k
Данный функционал подлежит минимизации. Классический градиентный метод оптимизации состоит в
итерационном уточнении аргумента согласно формуле:
∂E
V jk (t+ 1)=V jk (t )− h ⋅
∂ V jk
Функция ошибки в явном виде не содержит зависимости от веса Vjk, поэтому воспользуемся формулами неявного
дифференцирования сложной функции:
∂E α
=δ k =( y k −Y k )
∂ yk
∂ E ∂ E ∂ yk
= ⋅ =δ k ⋅ y k (1− y k )
∂ xk ∂ yk ∂ xk
∂E ∂ E ∂ yk ∂ xk
= ⋅ ⋅ =δ k ⋅ y k (1 − y k )⋅ y j
∂ V jk ∂ y k ∂ x k ∂ V jk
Здесь учтено полезное свойство сигмоидальной функции f(x): ее производная выражается только через само
значение функции, f ' =f (1− f ). Таким образом, все необходимые величины для подстройки весов выходного
слоя V получены.
Шаг 3. На этом шаге выполняется подстройка весов скрытого слоя. Градиентный метод дает:
∂E
W ij (t +1)=W ij (t)−h ⋅
∂ W ij
Вычисления производных выполняются по тем же формулам, за исключением некоторого усложнения формулы для
ошибки δ j :
∂ E ∂ E ∂ yk
= ⋅ =δ k ⋅ y k (1− y k )
∂ xk ∂ yk ∂ xk
∂E ∂ E ∂ xk
=δ j=∑ ⋅ =∑ δ k ⋅ y k (1 − y k )⋅V jk
∂ yj k ∂ xk ∂ y j k
∂E ∂E ∂ y j ∂x j
[ ]
=δ j ⋅ y j (1− y j )⋅ X i =¿ ∑ δ k ⋅ y k (1 − y k )⋅V jk ⋅ [ y j (1 − y j )⋅ X i ]
α α
= ⋅ ⋅
∂ W ij ∂ y j ∂ x j ∂W ij k
При вычислении δ j применен принцип обратного распространения ошибки: частные производные берутся только
по переменным последующего слоя. По полученным формулам модифицируются веса нейронов скрытого слоя. Если
в нейронной сети имеется несколько скрытых слоев, процедура обратного распространения применяется
последовательно для каждого из них, начиная со слоя, предшествующего выходному, и далее до слоя, следующего
за входным. При этом формулы сохраняют свой вид с заменой элементов выходного слоя на элементы
соответствующего скрытого слоя.
Шаг 4. Шаги 1-3 повторяются для всех обучающих векторов. Обучение завершается по достижении малой полной ошибки или
максимально допустимого числа итераций, как и в методе обучения Розенблатта.
Таким образом, обучение сводится к решению задачи оптимизации функционала ошибки градиентным методом. Суть
обратного распространения ошибки состоит в том, что для ее оценки для нейронов скрытых слоев можно принять взвешенную
сумму ошибок последующего слоя.
Параметр h имеет смысл темпа обучения и выбирается достаточно малым для сходимости метода. О сходимости
необходимо сделать несколько дополнительных замечаний. Во-первых, практика показывает, что сходимость метода обратного
распространения весьма медленная. Невысокий темп сходимости является “генетической болезнью” всех градиентных методов,
так как локальное направление градиента отнюдь не совпадает с направлением к минимуму. Во-вторых, подстройка весов
выполняется независимо для каждой пары образов обучающей выборки. При этом улучшение функционирования на некоторой
заданной паре может, вообще говоря, приводить к ухудшению работы на предыдущих образах. В этом смысле, нет
достоверных (кроме весьма обширной практики применения метода) гарантий сходимости.
Исследования показывают, что для представления произвольного функционального отображения, задаваемого
обучающей выборкой, достаточно всего два слоя нейронов. Однако на практике, в случае сложных функций, использование
более чем одного скрытого слоя может давать экономию полного числа нейронов.