Нейронную


Набор рукописных цифр MNIST



Download 43,46 Mb.
Pdf ko'rish
bet133/134
Sana27.03.2022
Hajmi43,46 Mb.
#512313
1   ...   126   127   128   129   130   131   132   133   134
Bog'liq
Создаем нейронную сеть ( PDFDrive )

Набор рукописных цифр MNIST 
207


нами нейронной сетью — используйте другое количество скрытых 
узлов, задавайте другие коэффициенты масштабирования или даже 
задействуйте другую функцию активации и анализируйте, что при 
этом происходит.
Окончательный вариант кода
Для удобства читателей ниже приведен окончательный вариант 
кода, также доступный на сайте GitHub.
# Блокнот Python для книги "Создаем нейронную сеть".
# Код для создания 3-слойной нейронной сети вместе с
# кодом для ее обучения с помощью набора данных MNIST.
# (с) Tariq Rashid, 2016
# лицензия GPLv2
import numpy
# библиотека scipy.special содержит сигмоиду expit () 
import scipy.special
# библиотека для графического отображения массивов 
import matplotlib.pyplot
# гарантировать размещение графики в данном блокноте,
# а не в отдельном окне 
%matplotlib inline
# определение класса нейронной сети 
class neuralNetwork:
# инициализировать нейронную сеть
def __init__(self, inputnodes, hiddennodes, outputnodes,
^learningrate):
# задать количество узлов во входном, скрытом и выходном слое 
self.inodes = inputnodes
self.hnodes = hiddennodes 
self.onodes = outputnodes
# Матрицы весовых коэффициентов связей wih (между входным
# и скрытым слоями)и who (между скрытым и выходным слоями).
# Весовые коэффициенты связей между узлом i и узлом j
# следующего слоя обозначены как w__i_j :
# wll w21
# wl2 w22 и т.д.
self.wih = numpy.random.normal(0.0, pow(self.hnodes, -0.5), 
(self.hnodes, self.inodes))
self.who = numpy.random.normal(0.0, pow(self.onodes, -0.5),
%
(self.onodes, self.hnodes))
208 
Глава 2. Создаем нейронную сеть на Python


# коэффициент обучения 
self.lr = learningrate
# использование сигмоиды в качестве функции активации 
self.activation_function = lambda x: scipy.special.expit(x)
pass
# тренировка нейронной сети
def train(self, inputs_list, targets_list):
# преобразование списка входных значений
# в двухмерный массив
inputs = numpy.array(inputs_list, ndmin=2).T 
targets = numpy.array(targets_list, ndmin=2).T
# рассчитать входящие сигналы для скрытого слоя 
hidden_inputs = numpy.dot(self.wih, inputs)
# рассчитать исходящие сигналы для скрытого слоя 
hidden_outputs = self.activation_function(hidden_inputs)
# рассчитать входящие сигналы для выходного слоя 
final_inputs = numpy.dot(self.who, hidden_outputs)
# рассчитать исходящие сигналы для выходного слоя 
final_outputs = self.activation_function(final__inputs)
# ошибки выходного слоя =
# (целевое значение - фактическое значение) 
output_errors = targets - final_outputs
# ошибки скрытого слоя - это ошибки output_errors,
# распределенные пропорционально весовым коэффициентам связей
# и рекомбинированные на скрытых узлах 
hidden_errors = numpy.dot(self.who.T, output_errors)
# обновить веса для связей между скрытым и выходным слоями 
self, who += self.lr * numpy .dot ((output__errors *
^>final_outputs * (1.0 - final_outputs)),
^>numpy.transpose(hidden_outputs))
# обновить весовые коэффициенты для связей между
# входным и скрытым слоями
self.wih += self.lr * numpy.dot((hidden__errors * 
^>hidden_outputs * (1.0 - hidden_outputs
) ),
numpy.transpose(inputs))
pass
# опрос нейронной сети
def query(self, inputs_list):
# преобразовать список входных значений

Download 43,46 Mb.

Do'stlaringiz bilan baham:
1   ...   126   127   128   129   130   131   132   133   134




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish