MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
“TELERADIOESHITTIRISH” yo’nalishi
812_21 guruh talabasi
Qulmamatov Og’abekning
“SIGNALLAR VA TIZIMLAR” fanidan tayyorlagan
4-AMALIY ISHI
O’QITUVCHI: AZIMOV B
Toshkent – 2023
Arrasimon o‘zgartirish algoritmni o‘rganish
NAZARIY QISM:
"Arrasimon o‘zgartirish" yoki "gradiyent o‘zgartirish" (gradient descent) algoritmi, optimizatsiya masalalarini hal qilish uchun keng qo'llaniladigan algoritmlardan biridir. Bu algoritm, funksiyaning minimum yoki maksimum qiymatini topishda foydalaniladi. Algoritmda asosiy maqsad - funksiyaning o‘zgaruvchanlar (parametrlar) qanday o'zgarishlari bilan o'zgaruvchanli funksiyaning qiymatini minimalizatsiya qilishni aniqlashdir.
Gradiyent o‘zgartirish algoritmi quyidagi bosqichlardan iborat:
1. Boshlanish Nuqta (Initialization): Boshlang‘ich parametrlarni (o‘zgaruvchanlar) tanlash. Misol uchun, bir funksiya y = ax^2 + bx + c uchun a, b, va c ni boshlang‘ich qiymatlarini tanlash.
2. Gradiyentni Hisoblash: Har bir parametrga (o‘zgaruvchiga) mos keluvchi funksiyaning gradiyentini hisoblash. Gradiyent, funksiyaning o'zgaruvchanlar bo'yicha qanday tez o'zgarishga ega bo'lishini ko'rsatadi.
3. Gradiyentni O‘zgartirish: Gradiyentni o'zgaruvchanlar (parametrlar) bo'yicha ko'rsatilgan "o‘zgartirish miqdori" (learning rate) bilan ko'paytirish orqali yuksaltish.
4. Yangi Parametrlarni Hisoblash: Yangi gradiyentdan so'ng, parametrlarni yangilab olish uchun avvalgi qiymatlarni o‘zgartirish.
5. Qo‘shimcha Shartlar: Algoritmni to‘xtatish uchun qo‘shimcha shartlar qo‘llaniladi, masalan, belgilangan "tikuvchi" qiymatga yetilganda yoki belgilangan maksimal miqdorga yetilganda.
6. Natijani Baholash: Algoritmni yakunlashdan so‘ng, olishilgan natijani baholash va natijaga mos keluvchi parametrlarni aniqlash.
Bu algoritmda ahamiyatli parametrlar bor, masalan, "o‘zgartirish miqdori" (learning rate), u yangi parametrlarni qanday tez o'zgartirishni belgilaydi. Agar "o‘zgartirish miqdori" juda katta bo'lsa, algoritm tezroq yuksaladi, lekin uning konvergensiya qobiliyati kamayadi. Aks holda, agar miqdor juda kichik bo'lsa, algoritm konvergensiya qilib keladi, lekin bu borada optimallashtirish tezroq amalga oshmagan bo'lishi mumkin. Algoritmni qo'llash paytida bu parameterlarni to'g'ri tanlash, nazariy va amaliy ishlar juda muhimdir.
AMALIY QISM:
PYTONDAGI DASTUR KODI:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = x
y4 = x**2
y5 = np.sqrt(x)
y6 = np.log(x + 1)
plt.figure(figsize=(12, 8))
plt.subplot(3, 2, 1)
plt.plot(x, y1)
plt.title('Sin(x)')
plt.subplot(3, 2, 2)
plt.plot(x, y2)
plt.title('Cos(x)')
plt.subplot(3, 2, 3)
plt.plot(x, y3)
plt.title('Linear')
plt.subplot(3, 2, 4)
plt.plot(x, y4)
plt.title('Quadratic')
plt.subplot(3, 2, 5)
plt.plot(x, y5)
plt.title('Square Root')
plt.subplot(3, 2, 6)
plt.plot(x, y6)
plt.title('Logarithm')
plt.tight_layout()
plt.show()
PYTONDAGI DASTUR NATIJASI:
|