Файл: Сахарова Людмила Викторовна, Лукьянова Галина Викторовна Методы оптиизации для машинного обучения учебное пособие.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.12.2023
Просмотров: 939
Скачиваний: 18
СОДЕРЖАНИЕ
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ В ОПТИМИЗАЦИИ
1.1. ОПРЕДЕЛЕНИЕ ГРАНИЦ ОБЪЕКТА ОПТИМИЗАЦИИ
1.3. ОПРЕДЕЛЕНИЕ ОГРАНИЧЕНИЙ НА УПРАВЛЯЕМЫЕ ПЕРЕМЕННЫЕ
1.4. ВЫБОР ЧИСЛОВОГО КРИТЕРИЯ ОПТИМИЗАЦИИ
1.5. ФОРМУЛИРОВКА МАТЕМАТИЧЕСКОЙ ЗАДАЧИ ОПТИМИЗАЦИИ
ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧ ОДНОМЕРНОЙ ОПТИМИЗАЦИИ
МЕТОДЫ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ ФУНКЦИЙ МНОГИХ ПЕРЕМЕННЫХ
3.2. ВЫПУКЛЫЕ МНОЖЕСТВА И ВЫПУКЛЫЕ ФУНКЦИИ
3.3. ОБЩИЕ ПРИНЦИПЫ n–МЕРНОЙ МИНИМИЗАЦИИ
3.5. МЕТОДЫ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ, ИСПОЛЬЗУЮЩИЕ ПРОИЗВОДНЫЕ ФУНКЦИИ
;
б)
т.е.
.
Отсюда получаем, что
=
. Длина последнего отрезка равна 2(6 – а)/п, а точка xmявляется его серединой. Поэтому
.
Таким образом, чтобы обеспечить требуемую точность определения точки х*, число отрезков разбиения п необходимо выбрать из условия , т.е.
.
2. Пусть реализация метода перебора потребовала N вычислений функции f (х). Это означает, что отрезок [а; b] был разбит на n=N–1 частей и достигнутая точность определением x* составила
. Поэтому точность решения (N), которую обеспечивает метод перебора в результате N вычислений f (х),будет
. (2.10)
Пример 2.3. Метод перебора.
Решить задачу f (х)=x4+e–x min, x[0; 1] с точностью до = 0,1.
Функция f (х)унимодальна на отрезке [0; 1] (проверьте!). Найдем число n отрезков разбиения:
, т.е. можно взять n = 10. Вычислим значения f (xi),где xi=0,1i,i= 0, .., 10 и запишем их в табл. 2.1.
Таблица 2.1
| xi | 0,0 | 0,1 | 0,2 | 0,3 | 0,4 | 0,5 | 0,6 | 0,7 | 0,8 | 0,9 | 1,0 |
| f (xi) | 1.00 | 0,90 | 0,82 | 0.75 | 0,70 | 0,67 | 0.68 | 0,74 | 0,86 | 1,06 | 1,37 |
В этой таблице подчеркнуто минимальное из вычисленных значенийf (x). Таким образом, х* 0,5, f * 0,67.
2.2.2. МЕТОДЫ ИСКЛЮЧЕНИЯ ОТРЕЗКОВ
В методе перебора, рассмотренном выше, точки xi, в которых определяются значения f (x), выбирают заранее. Если же для выбора очередной точки вычисления (измерения) f (x) использовать информацию, содержащуюся в уже найденных значениях f (x), то поиск точки минимума можно сделать более эффективным, т.е. сократить число определяемых для этого значений f (x), как, например, в методе поразрядного поиска.На один из путей такого более эффективного поиска точки х* указывает свойство 3 унимодальных функций (см. формулу (2.3)).Пусть а < x1<х2<b. Сравнив значения f (x) в точках x1 и х2 (пробных точках), можно сократить отрезок поиска точки х *, перейдя к отрезку [а; х2], если или к отрезку m [x1; b] еслиа; b], т.е:, (2.11)где > 0 – малое число. При этом отношение длин нового и исходного отрезков близко к 1/2, этим и объясняется название метода.Отметим, что для любых точек x1 и х2 величина > 1/2, поэтому указанный выбор пробных точек объясняется стремлением обеспечить максимально возможное относительное уменьшение отрезка на каждой итерации поиска х*.В конце вычислений по методу дихотомии в качестве приближенного значения х* берут середину последнего из найденных отрезков [а; b], убедившись предварительно, что достигнуто неравенство .Опишем алгоритм метода деления отрезка пополам. Шаг 1. Определить x1 и х2 по формулам (2.11). Вычислить f (x1) и f (x2).Шаг 2. Сравнить f (x1) и f (x2). Если , то перейти к отрезку [а; x2], положив b = x2 , иначе – к отрезку [x1; b], положив а = x1 .Шаг 3. Найти достигнутую точность Если , то перейти к следующей итерации, вернувшись к шагу 1. Если , то завершить поиск х*, перейдя к шагу 4.Шаг 4. Положить
х* с точностью до , определяется неравенством . (2.12)Обозначим длину исходного отрезка [а; b] через 0. Длина отрезка, полученного после первой итерации, будет 1 =, после второй итерации , после третьей – , и т.д.Таким образом, в результате п итераций длина отрезка поиска точки х* станет .При этом будет достигнута точность определения точки минимума . Находя п из условия, (2.13)получаем неравенство (2.12).3. Величина может быть выбрана достаточно малой, поэтому, пренебрегая ею в (2.12), получаем: . На каждой итерации метода дихотомии вычисляют два значения f (x). Поэтому после N вычисленийf (x) производят n=N/2 итераций и достигают точность определения х* :. (2.14)Пример 2.5. Метод деления отрезка пополам.Решить задачу, приведенную в примерах 2.3 и 2.4: , , =0,1.Выберем =0,02. Итерация 1.Шаг 1.x1 = 0,49, x2 = 0,51. f (x) = 0,670, f (x2) = 0,688. Шаг 2.f (x1) > f (x2), поэтому полагаем a =x1 = 0,49. Шаг 3. (b–а)/2 = 0,255 > 0,1, т.е. переходим к следующей итерации. Результаты вычислений на остальных итерациях записаны в табл. 2.2.Таблица 2.2
| Номер итерации | а | b | b–a 2 | x1 | x2 | f (x1) | f (x2) | Сравнение f (x1) и f (x2) |
| 2 | 0,49 | 1 | 0,26 | 0,735 | 0,755 | 0,771 | 0,792 | f (x1) < f (x2) |
| 3 | 0,49 | 0,755 | 0,13 | 0,613 | 0,633 | 0,683 | 0,691 | f (x1) < f (x2) |
| 4 | 0.49 | 0,633 | 0,07 | 0,07 < 0,1 – точность достигнута | ||||
Таким образом, , f *f (0,56) 0,67 (сравните с результатами решения примеров 2.3 и 2.4). Метод золотого сечения. Рассмотрим такое симметричное расположение точек x1 и х2 на отрезке [а; b], при котором одна из них становится пробной точкой и на новом отрезке, полученном после исключения части исходного отрезка. Использование таких точек позволяет на каждой итерации метода исключения отрезков, кроме первой, ограничиться определением только одного значения f (x), так как другое значение уже найдено на одной из предыдущих итераций.Найдем точки x1 и х2 , обладающие указанным свойством.Рассмотрим сначала отрезок [0; 1] и для определенности предположим, что при его уменьшении исключается правая часть этого отрезка. Пусть х2 = , тогда симметрично расположенная точка х1 = 1– (рис. 2.7).Рис. 2.7. Определение пробных точек в методе золотого сеченияПробная точка х1 отрезка [0; 1] перейдет в пробную точку х2 = 1– нового отрезка [0; т]. Чтобы точки х2 = , и х2 = 1– делили отрезки [0; 1] и [0; ] в одном и том же отношении, должно выполняться равенство или , откуда находим положительное значение … Таким образом, х1 = 1– = , .Для произвольного отрезка [а; b] выражения для пробных точек примут вид ; . (2.15)Замечания:1. Точки x1 и х2 из (2.15) обладают следующим свойством: каждая из них делит отрезок [а; b] на две неравные части так, что отношение длины всего отрезка к длине его большей части равно отношению длин большей и меньшей частей отрезка. Точки с таким свойством называются