Главная | Обратная связь
МегаЛекции

Принцип программного управления





Все вычисления, предусмотренные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов — команд. Каждая команда предписывает некоторую операцию из набора операций, реализуемых вычислительной машиной. Команды программы хранятся в последовательных ячейках памяти вычислительной машины и выполняются в естественной последовательности, то есть в порядке их положения в программе. При необходимости, с помощью специальных команд, эта последовательность может быть изменена. Решение об изменении порядка выполнения команд программы принимается либо на основании анализа результатов предшествующих вычислений, либо безусловно.

Принцип двоичного кодирования

Согласно этому принципу, вся информация, как данные, так и команды, кодируются двоичными цифрами 0 и 1. Каждый тип информации представляется двоичной последовательностью и имеет свой формат. Последовательность битов в формате, имеющая определенный смысл, называется полем. В числовой информации обычно выделяют поле знака и поле значащих разрядов. В формате команды в простейшем случае можно выделить два поля: поле кода операции и поле адресов.

 

11.

 

12.

 

13. В ML имеются два понятия, характеризующих необходимую меру, которую нужно выбрать для эффективного обучения. В переводе на русский получится что-то вроде переобучение и недообучение.

Общая идея

Допустим, у нас есть выборка из 5-ти элементов. И на основании их нужно построить интерполяцию, позволяющую предсказать значения в точках, отличных от известных. Например мы будем использовать нижеописанную выборку, и попробуем найти 3 функции (простая линейная, средней сложности парабола, и функция 4-й степени, проходящая через все 5 точек):

Первая функция линейная, — она простая, но имеет значительную погрешность.

Вторая функция на рассматриваемом участке легла хорошо, с малой погрешностью, и не через все точки.



Третья функция точно проходит через все точки, но ужасно работает вне рассматриваемых точек.

Получается, что сложность, которая нужна в поставленной задаче имеет какой-то наиболее эффективный участок. Линейная функция имеет малую точность, и недостаток этой сложности и есть Underfitting. Результат плохо работает по сравнению с большей сложностью.

Третья функция имеет слишком высокую сложность — Overfitting. Она слишком хорошо работает на обученных примерах и ужасно работает на примерах, которые находятся вне обучения.

Если рассмотреть то же самое явление на плоскости (что возможно более наглядно), то оно имеет вид:

Идея в понятиях

Если мы очень жестко определяем понятие, то рискуем нарваться на Overfitting. Если определение слишком слабое, то можем получить Underfitting.

Например, имеем множество положительных элементов выборки для понятия: лошадь, хорёк, кролик, кошка, собака, северный олень. Если мы построим простую функцию (например, животные), то мы рискуем в контексте получить слишком сильное обобщение (если сюда попадут например насекомые, которые не впишутся в решение). Если мы построим слишком сложную функцию (например, домашние млекопитающие), то рискуем попасть в Overfitting, так как например не все знают, что хорёк и олень одомашнены. Или в контексте могут рассматриваться дикие варианты оленей и хорьков. Хорошим решением будет «млекопитающие» — это решение удовлетворяет условиям выборки, и более вероятно будет работать в среднестатистическом контексте.

Поэтому если мы строим понятия на примерах, то важно не только учесть все актуальные моменты, но и определить понятие так, чтобы с ним можно было работать с каким-то запасом прочности.

Иногда въедливость вида «было названы примеры только A,B,C и D, а значит, никаких E, даже если оно очень похоже!» является результатом такого вот Overfitting'a. Или слишком сильное обобщение — результат Underfitting'a («мне разрешили есть сыр, а это молочный продукт, поэтому мне можно пить молоко, и даже есть молочный шоколад!»).

Если мы хотим уменьшить вероятность ошибки при выборе положительного результата, то мы можем взять понятие, которое имеет свойство большего Overfitting'a. Если хотим более наверняка захватывать все искомые понятия, то лучше взять более сильное по Underfitting. Например, если мы смотрим на неопознанный летающий объект, и при этом это может быть как свой, так и чужой, то в боевой обстановке может быть более рационально сбивать все, что более-менее похоже на врага, а если мирное время, то лучше сбивать только если это известно более утвердительно, так как лучше снизить риск сбить гражданский объект.

 

 

14. Радиально-базисные функции

Сеть радиальных базисных функций - нейронная сеть прямого распространения сигнала, которая содержит промежуточный (скрытый) слой радиально симметричных нейронов. Такой нейрон преобразовывает расстояние от данного входного вектора до соответствующего ему "центра" по некоторому нелинейному закону (обычно функция Гаусса)[1]. В данной статье мы рассмотрим применение этой нейронной сети к решению задачи классификации с помощью восстановления смесей распределений (частный случай ЕМ-алгоритма)

1. Единственный скрытый слой;

2. Только нейроны скрытого слоя имеют нелинейную активационную функцию;

3. Синаптические веса связей входного и скрытого слоев равны единице.

 

21. Метод обратного распространения ошибки (англ. backpropagation) — метод обучения многослойного перцептрона. Впервые метод был описан в 1974 г. А.И. Галушкиным[1], а также независимо и одновременно Полом Дж. Вербосом[2]. Далее существенно развит в 1986 г. Дэвидом И. Румельхартом, Дж. Е. Хинтоном и Рональдом Дж. Вильямсом[3] и независимо и одновременно С.И. Барцевым и В.А. Охониным (Красноярская группа)[4]. Это итеративный градиентный алгоритм, который используется с целью минимизации ошибки работы многослойного перцептрона и получения желаемого выхода.

Основная идея этого метода состоит в распространении сигналов ошибки от выходов сети к её входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы. Барцев и Охонин предложили сразу общий метод («принцип двойственности»), приложимый к более широкому классу систем, включая системы с запаздыванием, распределённые системы, и т. п.[5]

Для возможности применения метода обратного распространения ошибки передаточная функция нейронов должна быть дифференцируема. Метод является модификацией классического метода градиентного спуска.





Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:
©2015- 2018 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.