Введение в базы данных (1176852), страница 5
Текст из файла (страница 5)
Рассматриваемая здесь модель была впервые предложена Макком и Питтсом в 1943. При этом в модели использовались пороговые передаточные функции (см рис a)
1
1
0
0
Т
а) пороговая | б) сигмоидная |
Одна из наиболее распространенных передаточных функций является нелинейная функция называемой сигмоидной (или логистической) имеющая вид:
Одно из свойств этой функции - простое выражения для ее производной, которая используется в некоторых моделях, а особенно в методах обучения нейронных сетей с применением метода градиентного спуска.
Кроме того, сигмоидная функция усиливает слабые сигналы лучше, чем большие. За счет чего предотвращается насыщение от больших сигналов.
При уменьшении график становиться более пологим, в пределе при стремлении параметра к нулю вырождается в горизонтальную линию на уровне 1/2, а при увеличении
сигмоид приближается по внешнему виду к графику функции единичного скачка с порогом в точке 0.
Нейронная сеть
Нейронная сеть - это набор нейронов, определенным образом связанных между собой. По архитектуре связей Искусственные Нейронные Сети могут быть сгруппированы в два класса: сети прямого распространения, в которых нет петель, и рекуррентные сети, или сети с обратными связями. В сетях первого класса, которые называются многослойным персептроном, нейроны расположены слоями и имеют только однонаправленные связи между ними.
Необходимо отметить, что существующие сети распадаются на две группы, различающиеся по типам сигналов, которые передаются от нейрона к нейрону. Бинарные сети оперируют с двоичными сигналами, и выход каждого нейрона может быть только нулем (заторможенное состояние) или единицей (возбужденное состояние). К этому классу относятся персептроны с активационной функцией единичного скачка. В аналоговых сетях циркулируют сигналы, способные принимать непрерывные значения, что осуществляется за счет сигмовидной активаторной функции.
На рисунке представлен пример нейронной сети с тремя слоями, имеющей N входов, два выхода, и 3 нейрона в скрытом слое.
Слой 1
Слой 2
1
3
2
1
2
…
Первый слой отсекает область гиперплоскостями
Достоинства:
Параллельность
Недостатки:
-
Может переобучаться (слишком сильно запомнена выборка, на которой производилось обучение).
-
Очень неудобно строить скользящий контроль.
ai
a1
j
f1
f2
X
i
|
V
Найти главные компоненты
Сингулярное разложение
собственные значения из симметрии
Собственные значения в матрице совпадают (см. теорию в зеленых книжке).
Первый фактор показывает направление наибольшей вытянутости облака:
-
Структурные объекты в БД. Поиск на совпадение и поиск подструктур.
Структурные объекты в БД
Мультимедийные объекты
Химические структуры
Объекты CAD (Computer Aided Design)
Что можно делать с объектами?
-
хранить (расширенное поле) – отбор данных
-
поиск на совпадение, поиск по подструктуре (поиск по подобъекту)
Какой объект можно назвать структурным?
Структурный объект может быть разложен на подобъекты, каждый из которых является исходным объектом или подобъектом является «примитив описания».
В общем, виде, структурный объект – граф.
Структурные объекты
Изображения
Звуки
Видео
Объекты графы
Проблема:
Изображение граф. Но необходимо выбирать масштаб хранения
Один из возможных вариантов хранить в виде пирамиды NxN, N/2xN/2, N/4xN/4…
Контур – приближение ребер
Вершины – особые точки (изгибы, углы, пересечения)
Каждой вершине присваиваем метку из алфавита.
Поиск контуров
-
Изображение семейство изображений с уменьшением разрешения
-
По каждому изображению контур
-
Для контуров особые точки (и места разрывов контуров)
-
Окрестности особых точек – классифицируем в заданном алфавите.
Алфавит может быть создан автоматически при помощи кластер анализа (кластер буква)
C
A
D
E
C
A
2 вершины соединяем ребром, если их соединяет контур.
Другой вариант, считать, что у нас есть граф, но у каждой вершины есть свои координаты и еще добавим направление.
Хотим следующие операции:
-
Поиск на совпадение
-
Поиск по подструктуре
-
Надо сравнивать графы. Графы инварианты графа (не зависит от нумерации вершин)
По графу построим матрицу расстояний между вершинами. Считаем, что
глобальные инварианты
Поиск на совпадение (похожесть) в два этапа:
-
грубый поиск (удаляем все, у которых глобальные инварианты не совпадаю)
-
тонкий поиск (или явное сравнение графов, или сравнение вручную)
Поиск по подструктурам
…
-
Основы Java в БД в интернете.
В последнее время среди фирм, занимающихся разработкой баз данных, наметились следующие тенденции. Крупные фирмы, разрабатывающие БД стали покупать мелкие с технологиями доступа к базам из интернета.
БД Интернет
Н а практике использование конечным пользователем БД выглядит следующим образом:
То, что получает пользователь в результате подобного взаимодействия, является динамической страницей, которая собирается налету, и содержит запрашиваемую им информацию.
Она из передовых технологий используемая для формирования динамических страниц и для доступа к БД – Java.
Java
Java – это язык программирования, разработанный фирмой Sun, и появившийся на свет в 94-95 годах. Изначально задумывался как язык написания программ для небольших устройств, которые имеют доступ к интернету, но так получилось, что на самом деле Sun разработала язык, завоевавший на текущих день очень большую часть рынка разработчиков программного обеспечения, и не только имеющих дело с БД и интернетом.
На Java был написан Браузер Hot Java, который поддерживал выполнение программ написанных на Java, что для «неподготовленных» людей оказалось просто непостижимым.
Видя завоевывавшую все большую популярность нового языка фирмы Sun, Netscape тоже захотела, чтобы ее браузер поддерживал эту технологию. И понеслась…
Компиляция и исполнение Java программ
-
На первом этапе программа компилируется в так называемый байт-код (который представляет из себя платформенно независимые инструкции для JVM).
-
JVM (Java Virtual Machine) интерпретирует байт-код.
Следует отметить, что JVM – должна быть написана специально для той платформы, на которой необходимо выполнение Java программы, но зато уже откомпилированный байт-код может быть исполнен на любой платформе, на которой существует JVM.
На текущий момент браузеры принято делить на поддерживающие Java и соответственно не поддерживающие.
Программы на Java делятся на следующие виды:
-
Обычная Java программа
-
Java апплет – выполнятся только в среде браузера (и имеет некоторые ограничения для обеспечения безопасности).
Java имеет синтаксис С++, но не имеет ряд отличий. В Java нет указателей, нет структур (но они и не нужны, поскольку их роль исполняют классы). Поддерживаются классы и объекты. Нет множественного наследования, но есть интерфейсы. В стандарте языка нет препроцессора. Есть автоматическая сборка мусора, а, следовательно, нет деструкторов.
Ведущие производители БД:
Oracle
Informix
Sybase
IBM (DB2)
Oracle раньше использовал специальный язык PL/SQL. Сейчас же что на ряду с PL/SQL он используют Java, исполняющийся на сервере.
Практически все современные базы дынных поддерживают работу со структурными объектами. Доступ к структурным часто осуществляется с использованием интерфейсов.
CACHE
http://www.intersystem.ru/
SQL Fortran Mumps M язык (основа этой БД)
Эта система легко переносима. Внутри для хранения данных используются деревья.
-
Тестирование БД.
Прежде всего, тестируют код программы. Перед тем как собирать отдельные компоненты вместе необходимо удостовериться, что в них нет явных ошибок. Решать часть проблем возникающих при тестировании разработчикам помогают программные средства разработанные Rational:
Purify - Данный продукт направлен на разрешение всех проблем, связанных с утечками памяти и Run-time ошибками. Не секрет, что многие программные продукты ведут себя "не слишком скромно", замыкая на себя во время работы все системные ресурсы без большой на то необходимости. А это и есть путь, который приведет готовую систему к краху в самый ответственный момент. Возникновение подобного рода ошибок достаточно трудно отследить стандартными средствами, имеющимися в арсенале разработчика. И дело тут не только в том, что разработчик может где-то недосмотреть, где-то пересмотреть, а в том, что в подавляющем большинстве случаев проектные сроки вынуждают смотреть "сквозь пальцы" на неточности.