Нейросети на Питоне
По просьбам читателей :D.
Посмотрел на Найла Шеменауера. Это реализация класса многослойного перцептрона.
Конструктор NN(a1, а2, а3, а4,..., аn)принимает в качестве аргументов список n целых чисел (a1, а2, а3, а4...) и создает нейросеть из n слоев с числом нейронов на i-м слое равном аi. В качестве функции активации на всех слоях, кроме входного используется гиперболический тангенс. При создании веса устанавливаются случайными.
Функция имитации self.test(P) принимает в качестве аргумента список Р, состоящий, в свою очередь, из N списков, первый элемент (т.е. P[0]) каждого из которых берется как входной вектор (и, следовательно, должен представлять собой список действительных чисел размерностью а1), а остальные игнорируются. Из Р сеть имитирует все N списков по очереди. Возвращает значения выходов в виде списка из N списков размерностью аn (размерность выходного слоя).
Функция обучения self.train(P) принимает аргумент, структура которого описана выше. Первый элемент (т.е. P[0]) каждого из списка Р используется в качестве вектора входа, второй элемент (т.е. P[1]) каждого из списка Р используется в качестве целевого выхода размерностью аn, а остальные игнорируются. Обучение проводится по всему массиву из N пар типа вход-выход. Функция обучения по алгоритму обратного распространения ошибки реализована с минимизацией по методу Ньютона и ограничением по числу итераций (1000).
Преимущества: Простая и ясная реализация архитектуры, которая вполне может послужить основой для разработки других типов сетей.
Недостатки: Слабая функция обучения. Единственный тип функции активации (гиперболический тангенс).
Возможные улучшения: Добавить другие функции активации, добавить возможность определения функции активации для каждого слоя по отдельности, добавить алгоритмы обучения. Возможно, стоит сделать интерфейс, где произвольная функция активации может передаваться пользователем в виде аргумента конструктора (в стиле лямбда).
Пример:
pat = [
[[0,0], [0]],
[[0,1], [1]],
[[1,0], [1]],
[[1,1], [0]]
]
# create a network with two input, two hidden, and one output nodes
n = NN(2, 2, 1)
# train it with some patterns
n.train(pat)
# test it
n.test(pat)
Последние новости
Конструкции стен из кирпича
Стены, выложенные из кирпича, по сравнению с деревянными характеризуются значительно большей прочностью и устойчивостью. Помимо этого, в число их достоинств входят долговечность и способность сохранять первоначальные качества при длительном воздействии неблагоприятных внешних физико климатических факторов. Для сооружения жилых построек современная стро...Читать далее »
Ограждающие конструкции - современные решения
Для того чтобы правильно подобрать способ теплоизоляции жилой постройки и вид утеплителя, важно знать основные характеристики конструкционных элементов, составляющих здание, и материалов, используемых для их выполнения. Чтобы получить жилище, которое будет отвечать всем требованиям комфорта и безопасности, при проектировании особое внимание следует уделять ...Читать далее »
Пробковые утеплители
Одним из высокоэффективных современных утепляющих материалов считаются плиты, изготовленные из измельченной коры пробкового дуба. Среди их главных достоинств следует назвать небольшой вес, твердость, прочность и устойчивость к гниению и образованию плесени при воздействии влаги. Пробковые теплоизолирующие материалы не повреждаются грызунами и не разрушаются...Читать далее »
Выполнение теплоизоляции пола и перекрытий
Помимо повышения теплотехнических качеств стен, окон и кровли, для создания благоприятных микроклиматических условий в доме необходимо утеплять пол и потолочные перекрытия. Пол можно считать особой конструкцией в жилой постройке, поскольку человек пребывает почти в постоянном контакте с ним. Именно поэтому важно выбрать такую конструкцию и вид теплоизоляции, ...Читать далее »
Приложение
Утепление окна стекловолокном – обязательное условие, при котором значительно снизятся теплопотери. Теплоизоляция кирпичного дома плитами пенополистирола – надежный способ сделать жилище теплым и комфортным. Как сделать это правильно, показано на рис. 50. ...Читать далее »
Пенополистирольные утеплители
В последнее время на строительном рынке особенно высоким спросом пользуется теплоизолирующий материал URSA XPS. Его выпускают в форме жестких плит, размер которых составляет 1,25 × 0,6 м. Сырьем для производства данного материала является экструдированный пенополистирол, обладающий структурой с закрытыми ячейками. URSA XPS – это утеплитель, главными свойствами которого являются устойчивость к воздействию влаги и высока...Читать далее »
Теплоизоляция - важная составляющая архитектуры здания
О доме, отличающемся от других построек изысканной и оригинальной архитектурой, мечтает каждый. Сегодня реализовать это желание несложно: достаточно всего лишь подготовить смелый проект и необходимые строительные материалы. Современные загородные мини городки удивляют своими необычными строениями с характерными для них сложной конфигурацией, резкой разницей высоты составляющих частей, французскими окнами и т. ...Читать далее »
