• 5-TOPSHIRIQ Mavzu
  • Dastur kodi va natijasi
  • Neyron tarmog‘i. Eng oddiy neyron tarmoq qurish texnologiyasi Ishdan maqsad




    Download 0,53 Mb.
    bet1/3
    Sana19.12.2023
    Hajmi0,53 Mb.
    #123948
      1   2   3
    Bog'liq
    anvar robo5


    O‘ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI
    TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI

    Kompyuter injiniringi fakulteti


    Sun’iy intellekt kafedrasi
    Robotatexnikada sun’iy intellekt
    texnologiyalari va vositasi
    fanidan
    5-TOPSHIRIQ
    Mavzu: Neyron tarmoqlar

    Bajardi: 221-21guruh talabasi


    Abdusattorov Anvar
    Tekshirdi: Umidjon Xasanov
    Baho:_____
    TOSHKENT 2023
    Topshiriq
    Neyron tarmog‘i. Eng oddiy neyron tarmoq qurish texnologiyasi
    Ishdan maqsad. Talabalar neyron tarmog‘i, ularning ishlash prinsiplari, ishlash texnologiyalarini o‘rganish ular asosida sodda neyron tarmog‘ini ishlab chiqish.
    Vazifalar:

    1. Neyron tarmoq tushunchasini o‘rganish

    2. Oddiy neyron tarmoq ishlab chiqish.

    Dastur kodi va natijasi:
    import numpy as np
    import matplotlib.pyplot as plt

    # Sigmoid aktivatsiya funksiyasi


    def sigmoid(x):
    return 1 / (1 + np.exp(-x))

    # Oson neyron tarmoq sinfi


    class neyrontarmoq:
    def init(self):
    # Boshlang'ich vaznlar va boshiq (weights and biases)
    self.weights = np.random.randn(1, 1) # Bitta kiritish uchun 1x1 vazn
    self.bias = np.zeros((1, 1))

    def forward(self, X):


    # Ovoz berish (feedforward)
    z = np.dot(X, self.weights) + self.bias
    a = sigmoid(z)
    return a

    def train(self, X, y, davrlar, learning_rate):


    # Modelni o'qitish
    for davr in range(davrlar):
    # Ovoz berish
    predictions = self.forward(X)

    # Xato (loss) hisoblash


    loss = -y * np.log(predictions) - (1 - y) * np.log(1 - predictions)
    loss = np.mean(loss)

    # Gradients hisoblash


    dz = predictions - y
    dw = np.dot(X.T, dz) / X.shape[0]
    db = np.sum(dz) / X.shape[0]

    # Vaznlar va boshiqni yangilash


    self.weights -= learning_rate * dw
    self.bias -= learning_rate * db

    # Har bir 100 chi bosqichda xato chiqarish


    if davr % 100 == 0:
    print(f'davr {davr}, Loss: {loss}')

    # Ma'lumotlar


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

    # Modelni yaratish


    model =neyrontarmoq()

    # Modelni o'qitish


    model.train(X, y, davrlar=1000, learning_rate=0.1)

    # Natijalarni chiqarish


    predictions = model.forward(X)
    print("Chipta:", X.flatten())
    print("Bashoratlar: ", predictions.flatten())

    # Natijalarni tasvirlash


    plt.scatter(X.flatten(), predictions.flatten(), c='red', marker='o')
    plt.xlabel('Kiritish')
    plt.ylabel('Bashoratlar')
    plt.show()







    Download 0,53 Mb.
      1   2   3




    Download 0,53 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Neyron tarmog‘i. Eng oddiy neyron tarmoq qurish texnologiyasi Ishdan maqsad

    Download 0,53 Mb.