Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 20.02.2017
Сообщений: 37

Градиентный спуск сделать параболу на графике

18.10.2018, 17:14. Показов 1716. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import numpy as np
import random
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt2
import matplotlib.pyplot as plt3
import scipy as sp 
from pylab import rcParams
x1=[6,18,13,12,1,7,21,21,20,5,14,12]
x2=[55,66,47,39,39,42,42,45,62,65,48,39]
x3=[9,27,8,16,10,10,19,28,32,31,18,16]
x4=[26,22,15,15,12,15,9,8,27,15,16,15]
y=[103,94,151,154,154,143,102,177,76,105,150,154]
 
 
w0=np.arange(12)
w1=np.arange(12)
w2=np.arange(12)
w3=np.arange(12)
w4=np.arange(12)
w0[0]=4
w1[0]=5
w2[0]=1
w3[0]=3
w4[0]=9
 
sw0=np.arange(12)
sw1=np.arange(12)
sw2=np.arange(12)
sw3=np.arange(12)
sw4=np.arange(12)
sw0[0]=4
sw1[0]=5
sw2[0]=1
sw3[0]=3
sw4[0]=9
i=-1
 
'''градиентный спуск'''
for i in range(11):
  if (abs(w0[i]-w0[i-1])):
   w0[i+1]=(2/len(y)*np.sum((w1[i] * x1[i]+w2[i] * x2[i]+w3[i] * x3[i]+w4[i] * x4[i] + w0[i-1] - y[i])))
  if (abs(w1[i]-w1[i-1])):
   w1[i+1]=(2/len(y)*np.sum(x1[i]* (w1[i] * x1[i]+w2[i] * x2[i]+w3[i] * x3[i]+w4[i] * x4[i] + w0[i] - y[i])))
  if (abs(w2[i]-w2[i-1])): 
   w2[i+1]=(2/len(y)*np.sum(x2[i]* (w1[i] * x1[i]+w2[i] * x2[i]+w3[i] * x3[i]+w4[i] * x4[i] + w0[i] - y[i])))
  if (abs(w3[i]-w3[i-1])):
    w3[i+1]=(2/len(y)*np.sum(x3[i]* (w1[i] * x1[i]+w2[i] * x2[i]+w3[i] * x3[i]+w4[i] * x4[i] + w0[i] - y[i])))
  if (abs(w4[i]-w4[i-1])): 
    w4[i+1]=(2/len(y)*np.sum(x4[i]* (w1[i] * x1[i]+w2[i] * x2[i]+w3[i] * x3[i]+w4[i] * x4[i] + w0[i] - y[i])))
RSS=[]   
for i in range(len(y)):
    RSS.append(2/len(y)*np.sum(w0[i]-y+w1[i]-y+w2[i]-y+w3[i]-y+w0[i]-y)**2)
'''стохатический градиентный спуск'''   
for i in range(11):
    if (abs(sw0[i]-sw0[i-1])):
     sw0[i+1]=(2/len(y)*(sw1[i] * x1[i] + sw2[i] * x1[i] + sw3[i] * x1[i] +sw4[i] * x1[i] + sw0[i] - y[i]))
    if (abs(sw1[i]-sw1[i-1])):
     sw1[i+1]=(2/len(y)*(x1[i]* (sw1[i] * x1[i]+sw2[i] * x1[i]+sw3[i] * x1[i]+sw4[i] * x1[i] + sw0[i-1] - y[i])))
    if (abs(sw2[i]-sw2[i-1])): 
     sw2[i+1]=(2/len(y)*(x2[i]* (sw1[i] * x1[i]+sw2[i] * x1[i]+sw3[i] * x1[i]+sw4[i] * x1[i] + sw0[i-1] - y[i])))
    if (abs(sw3[i]-sw3[i-1])):
     sw3[i+1]=(2/len(y)*(x3[i]* (sw1[i] * x1[i]+sw2[i] * x1[i]+sw3[i] * x1[i]+sw4[i] * x1[i] + sw0[i-1] - y[i])))
    if (abs(sw4[i]-sw4[i-1])): 
     sw4[i+1]=(2/len(y)*(x4[i]* (sw1[i] * x1[i]+sw2[i] * x1[i]+sw3[i] * x1[i]+sw4[i] * x1[i] + sw0[i-1] - y[i])))
 
RSS2=[]   
for i in range(len(y)):
    RSS2.append(2/len(y)*np.sum(sw0[i]-y+sw1[i]-y+sw2[i]-y+sw3[i]-y+sw4[i]-y)**2)
print ("w0", w0)
print ("w1", w1)
print ("w2", w2)
print ("w3", w3)
print ("w4", w4)
print ("RSS: ", RSS)
 
print ("sw0", sw0)
print ("sw1", sw1)
print ("sw2", sw2)
print ("sw3", sw3)
print ("sw4", sw4)
print ("SRSS: ", RSS2)
 
RSS.sort(reverse=1)
RSS2.sort(reverse=1)
y.sort(reverse=1)
plt.plot(RSS)
plt.show()
plt.plot(RSS2)  
plt.show()
w0 [ 4 42 31218 20202339 -344340790 100158626
295525987 -277746196 -224498806 -88197091 -330849086 -331692679]
w1 [ 5 247 562044 262697961 203220048 39401438
-276046963 -138089177 -278476640 -154794764 -109004903 -199090327]
w2 [ 1 2264 2060828 233926285 302551214 105000329
-224626017 -276178354 -85430026 92798535 14592015 33232474]
w3 [ 3 370 843066 161660284 270960064 -321813499
116952825 352280761 344525696 324990682 -246333674 -255973278]
w4 [ 9 1070 686942 303113032 -103888881 -243010622
-182484703 -59181076 302958165 5775432 -327014711 -227531802]
RSS: [9654553.5, 128482537.5, 262317568.16666666, -59236077.166666664, -220979045.16666666, 317794632.1666666, 251520897.5, -173591743.8333333, 66237434.83333333, -74200665.16666666, 208779696.16666666, -214835470.5]
sw0 [ 4 1 749 216224 35908611 -100278270
-184273421 355050482 205723469 -190563816 305883000 265759357]
sw1 [ 5 16 13500 2809300 -285355492 -106227001
300626512 -124063555 285075551 265619793 -287829243 -301056427]
sw2 [ 1 146 49500 10156700 -32620497 152114231
-343724571 -248127110 201831676 -250320464 -162640756 194940048]
sw3 [ 3 24 20250 1728800 -141864696 -346442134
-184100309 -146335020 -335727148 -290836213 76611183 -284811423]
sw4 [ 9 69 16500 3241500 -177737395 156931745
-276150464 -257692347 210861336 -178284191 -147659848 64980016]
SRSS: [9502933.5, 3749341.5, 183243510.8333333, 245145357.5, 357584097.5, -132876115.83333333, -345656243.8333333, -16499621.166666666, -60529191.83333333, -349160193.1666666, 62594546.83333333, 324921633.5]
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2018, 17:14
Ответы с готовыми решениями:

Градиентный спуск
Хотел написать код градиентного спуска для функции sin(x1)+sin(x2): import numpy as np import pandas as pd import scipy from...

Сделать для градиентного спуска остановку алгоритма при условии. На какой итерации остановится градиентный спуск?
Помогите, пожалуйста решить задачу: Сделайте для градиентного спуска остановку алгоритма, если максимальное из абсолютных значений...

Полиномиальная регрессия используя Градиентный Спуск и Матричный Способ
Здравствуйте! Мне нужно было применить линейную и полиномиальную регрессии (без использования Scikit-Learn и специальных функций, например...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.10.2018, 17:14
Помогаю со студенческими работами здесь

Градиентный спуск
Нужно найти приближенное решение системы уравнений. Методом Ньютона все получилось, а нужно еще методом градиентного спуска, а у меня не...

градиентный спуск
Найти экстремумы функции методом градиентного спуска ( заданы начальные значения х1, у1 и конечные х2,у2, мы делаем шаг h=... и этот шаг...

Наискорейший градиентный спуск
Не могу разобраться в коде. Скажите пожалуйста в какой среде его реализовать? program MNS; {$APPTYPE CONSOLE} uses ...

Ускоренный градиентный спуск
народ спасайте не могу понять почему не пашет и еще бы график сюда прикрутить чтоб видны были итеррации, ну как спуск происходит там...

Градиентный спуск с постоянным шагом
Добрый день, уважаемые пользователи форума! Не могли бы вы мне помощь с решение данной задачи,пожалуйста.. Задача: Решить: f(x) =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки на предмет заполнения реквизитов реализован с целью установки значения по умолчанию,. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru