Middle+
Agar aniq formuladan foydalanmasdan chiziqli regressiya muammosini qanday hal qilamiz?
sobes.tech AI
AIdan javob
Agar lineer regressiya muammosini hal qilish uchun aniq formuladan foydalanilmasa (masalan, normal tenglama), odatda optimallashtirishning raqamli usullari, masalan, gradient pasayishi qo'llaniladi.
G'oya shundan iboratki, model parametrlarini (og'irliklarni) iterativ ravishda yangilab, yo'qotish funktsiyasini (masalan, o'rtacha kvadrat xato) minimallashtirish. Har bir bosqichda, yo'qotish funktsiyasining parametrlar bo'yicha gradienti hisoblanadi va parametrlar xatoni kamaytirish yo'nalishida sozlanadi.
Python'da gradient pasayishi bilan misol:
import numpy as np
# X - xususiyatlar matritsasi, y - maqsad o'zgaruvchi
# Mustaqil termin uchun birliklar ustunini qo'shamiz
X_b = np.c_[np.ones((len(X), 1)), X]
# Og'irliklarni boshlang'ich holatda tayyorlash
theta = np.random.randn(X_b.shape[1], 1)
learning_rate = 0.01
n_iterations = 1000
m = len(X_b)
for iteration in range(n_iterations):
gradients = 2/m * X_b.T.dot(X_b.dot(theta) - y)
theta = theta - learning_rate * gradients
print("Optimal parametrlar:", theta)
Shunday qilib, aniq formuladan foydalanmasdan, biz optimal parametrlarni yaqinlashtirish uchun iterativ yondashuvdan foydalanamiz.