Я начинающий с глубоким обучением. Я написал свой первый код в блокноте Jupyter. У меня проблемы с потерей, весом и уклонами. структура кода выглядит так: у меня есть три квартиры. У них разные квадраты и разная цена. здесь квадратная посадка - это мой вклад, а цена - моя цель. так что не так в этом коде:
from numpy import *
obzervations = 3
inputs = array([[1120], [1045], [1240]])
tergets = array([[64000],[61000],[68000]])
initial = 0.1
weights = random.uniform(-initial,initial,size=(1,1))
bias = random.uniform(-initial,initial,size=1)
learning_rate = 0.1
for i in range(37):
output = dot(inputs,weights)+bias
dalta = tergets - output
loss = sum(dalta**2) / 2 / obzervations
print(loss)
dalta_scale = dalta / obzervations
weights =weights - learning_rate*dot(inputs.T,dalta_scale)
bias = bias - learning_rate*sum(dalta_scale)
print(weights)
print(bias)
, но наступает потеря:
2080629244.1216753
3.48518090132325e+19
5.84190144148729e+29
9.792264280770922e+39
1.6413909187767792e+50
2.751318868643496e+60
4.6117932238804953e+70
7.730342339532711e+80
1.2957691246202446e+91
2.17198353006008e+101
3.6407044783034335e+111
6.102591900396239e+121
1.0229236710840195e+132
1.714636754255297e+142
2.874094404255565e+152
4.8175910285795934e+162
8.075303053471588e+172
1.3535918474307294e+183
2.26890666182895e+193
3.8031681779578944e+203
6.374915475003354e+213
1.0685708707012419e+224
1.791151130063587e+234
3.00234870582116e+244
5.032572405560212e+254
8.435657379870889e+264
1.4139948657658477e+275
2.370154915470003e+285
3.9728816980420863e+295
6.659391284348955e+305
inf
inf
inf
inf
inf
inf
inf
C:\ProgramData\Anaconda3\lib\site-packages\ipykernel_launcher.py:5: RuntimeWarning: overflow
encountered in square
"""
Я много раз менял скорость обучения. Но это не имеет каких-либо существенных изменений в этом выводе. пожалуйста, найдите меня неправильным из этого кода. А также простите за любую ошибку в этом квестоне. Спасибо