Middle+
Ինչպե՞ս ենք լուծում գծային ռեգրեսիայի խնդիր, եթե բացահայտ ֆորմուլա չենք օգտագործում։
sobes.tech AI
Պատասխան AI-ից
Եթե բացահայտ բանաձև չեք օգտագործում գծային ռեգրեսիայի խնդիրը լուծելու համար (օրինակ, նորմալ հավասարումը), ապա սովորաբար կիրառվում են թվային օպտիմալացման մեթոդներ, ինչպիսիք են գրադիենտային իջեցումը:
Իդեան այն է, որ մոդելի պարամետրերը (շարժականները) վերանայվում են հերթականաբար՝ նվազեցնելով կորուստի ֆունկցիան (օրինակ, միջին քառակուսային սխալը): Յուրաքանչյուր քայլում հաշվարկվում է կորուստի ֆունկցիայի գրադիենտը պարամետրերի նկատմամբ, և պարամետրերը կարգավորվում են սխալը նվազեցնելու ուղղությամբ:
Python-ում օրինակ՝ գրադիենտային իջեցմամբ:
import numpy as np
# X - հատկանիշների մատրից, y - նպատակային փոփոխական
# Ավելացնում ենք միավորների սյունակ ազատ անդամի համար
X_b = np.c_[np.ones((len(X), 1)), X]
# Շարժականների սկզբնական արժեքներ
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("Լավագույն պարամետրեր՝", theta)
Այս կերպ՝ առանց բացահայտ բանաձևի, մենք օգտագործում ենք հերթական մոտեցում՝ մոտեցնելու համար օպտիմալ պարամետրերին: