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)
Бул ыкма ачык формуласыз, оптималдуу параметрлерге жакындашуу үчүн итеративдүү ыкманы колдонобуз.