• 3 qatlamli neyron tarmoq
  • Sun’iy intellekt va neyron tarmoqlari”fanidan sun’iy neyron tarmoqlari modeli




    Download 1,12 Mb.
    bet10/13
    Sana08.10.2024
    Hajmi1,12 Mb.
    #274151
    1   ...   5   6   7   8   9   10   11   12   13
    Bog'liq
    Mustaqil ish

    O'zgaruvchan

    Ta'rif

    X

    Har bir qator oʻquv namunasi boʻlgan maʼlumotlar toʻplami matritsasi kiritiladi

    Y

    Har bir satr oʻquv namunasi boʻlgan chiqish maʼlumotlar majmuasi matritsasi

    l0

    Tarmoqning birinchi qatlami, kirish ma'lumotlari bilan belgilanadi

    l1

    Tarmoqning ikkinchi qatlami, aks holda yashirin qatlam deb ataladi

    syn0

    Og'irliklarning birinchi qatlami, Synapse 0, l0 ni l1 bilan bog'laydi.

    *

    Elementlar bo'yicha ko'paytirish, shuning uchun teng o'lchamdagi ikkita vektor bir xil o'lchamdagi yakuniy vektorni yaratish uchun mos qiymatlarni 1 dan 1 gacha ko'paytiradi.

    -

    Elementlar bo'yicha ayirish, shuning uchun teng o'lchamdagi ikkita vektor bir xil o'lchamdagi yakuniy vektorni yaratish uchun 1 dan 1 gacha mos qiymatlarni ayiradi.

    x.nuqta(y)

    Agar x va y vektorlar bo'lsa, bu nuqta mahsulotidir. Agar ikkalasi ham matritsa bo'lsa, bu matritsa-matritsani ko'paytirish. Agar bitta matritsa bo'lsa, u vektor matritsani ko'paytirishdir.


    3 qatlamli neyron tarmoq:

    import numpy as np


    def nonlin(x,deriv=False):


    if(deriv==True):
    return x*(1-x)

    return 1/(1+np.exp(-x))


    X = np.array([[0,0,1],
    [0,1,1],
    [1,0,1],
    [1,1,1]])
    y = np.array([[0],
    [1],
    [1],
    [0]])

    np.random.seed(1)


    # randomly initialize our weights with mean 0


    syn0 = 2*np.random.random((3,4)) - 1
    syn1 = 2*np.random.random((4,1)) - 1

    for j in xrange(60000):


    # Feed forward through layers 0, 1, and 2


    l0 = X
    l1 = nonlin(np.dot(l0,syn0))
    l2 = nonlin(np.dot(l1,syn1))

    # how much did we miss the target value?


    l2_error = y - l2
    if (j% 10000) == 0:
    print "Error:" + str(np.mean(np.abs(l2_error)))
    # in what direction is the target value?
    # were we really sure? if so, don't change too much.
    l2_delta = l2_error*nonlin(l2,deriv=True)

    # how much did each l1 value contribute to the l2 error (according to the weights)?


    l1_error = l2_delta.dot(syn1.T)
    # in what direction is the target l1?
    # were we really sure? if so, don't change too much.
    l1_delta = l1_error * nonlin(l1,deriv=True)

    syn1 += l1.T.dot(l2_delta)


    syn0 += l0.T.dot(l1_delta)

    Xato: 0.496410031903


    Xato: 0.00858452565325
    Xato: 0.00578945986251
    Xato: 0.00462917677677
    Xato: 0.00395876528027
    Xato: 0.00351012256786



    Download 1,12 Mb.
    1   ...   5   6   7   8   9   10   11   12   13




    Download 1,12 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Sun’iy intellekt va neyron tarmoqlari”fanidan sun’iy neyron tarmoqlari modeli

    Download 1,12 Mb.