|
|
|
Вопрос про простой перцептрон.
|
|||
|---|---|---|---|
|
#18+
Приветствую! Тема нейронных сетей давно интересовала, поэтому почитал, что по этому поводу пишут интернеты и вчера вечером навскидку запилил структуру простого перцептрона и прикрутил к нему обучение, если не путаю, по методу обратного распространения ошибки. Код: Код: java 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. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. В целом все ок, вылазит что-то вроде этого: value output: 0,001, prediction: 0, expected: 0 value output: 0,980, prediction: 1, expected: 1 value output: 0,023, prediction: 0, expected: 0 value output: 0,962, prediction: 1, expected: 1 value output: 0,026, prediction: 0, expected: 0 value output: 0,979, prediction: 1, expected: 1 value output: 0,976, prediction: 1, expected: 1 value output: 0,976, prediction: 1, expected: 1 value output: 0,210, prediction: 0, expected: 0 value output: 0,947, prediction: 1, expected: 1 То-есть: значение на выходе - преобразование в 1\0 - значение, которое ожидалось увидеть. Вопросов нет. Но бывает (редко!) вылазит вот такое: value output: 1,000, prediction: 1, expected: 1 value output: 1,000, prediction: 1, expected: 0 value output: 1,000, prediction: 1, expected: 1 value output: 1,000, prediction: 1, expected: 1 value output: 1,000, prediction: 1, expected: 1 value output: 1,000, prediction: 1, expected: 1 value output: 1,000, prediction: 1, expected: 0 value output: 1,000, prediction: 1, expected: 0 value output: 1,000, prediction: 1, expected: 1 value output: 1,000, prediction: 1, expected: 0 Не могу понять почему! Подскажите где ошибка, очень прошу! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 09:38 |
|
||
|
Вопрос про простой перцептрон.
|
|||
|---|---|---|---|
|
#18+
Ошибка в том, что вы стали программировать то, что не надо программировать. Перцептроны устарели. Сейчас применяются более общие модели обучающихся систем, частным случаем которых являются нейронные сети, неинтересным частным случаем которых является перцептрон. И всё уже запрограммировано до вас. Надо только ознакомиться с теорией (тема Deep Learning), найти подходящую библиотеки и документацию и пользоваться. Запрограммировать своё будет иметь смысл после ознакомления с тем, что есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 10:24 |
|
||
|
Вопрос про простой перцептрон.
|
|||
|---|---|---|---|
|
#18+
Хотел было отписать про локальный минимум, но вовремя заметил слишком вольное обращение с weightDelta в конце. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 17:28 |
|
||
|
Вопрос про простой перцептрон.
|
|||
|---|---|---|---|
|
#18+
Partisan MОшибка в том, что вы стали программировать то, что не надо программировать. Перцептроны устарели. Сейчас применяются более общие модели обучающихся систем, частным случаем которых являются нейронные сети, неинтересным частным случаем которых является перцептрон. И всё уже запрограммировано до вас. Надо только ознакомиться с теорией (тема Deep Learning), найти подходящую библиотеки и документацию и пользоваться. Запрограммировать своё будет иметь смысл после ознакомления с тем, что есть. С простым бы разобраться, прежде чем в дебри лезть :) wstХотел было отписать про локальный минимум, но вовремя заметил слишком вольное обращение с weightDelta в конце. Вы, простите, самоутвердиться в тему зашли что ли ? Вроде по-человечески спросил и ни на что не претендую. Тема новая для меня, да, поэтому ничего удивительного, что ерунду мог наговнокодить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 17:45 |
|
||
|
Вопрос про простой перцептрон.
|
|||
|---|---|---|---|
|
#18+
Где ошибка я написал. Тратить свое время на то чтобы расписывать подробности после такой реакции не собираюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 18:30 |
|
||
|
Вопрос про простой перцептрон.
|
|||
|---|---|---|---|
|
#18+
Partisan MОшибка в том, что вы стали программировать то, что не надо программировать. Перцептроны устарели. Сейчас применяются более общие модели обучающихся систем, частным случаем которых являются нейронные сети, неинтересным частным случаем которых является перцептрон. И всё уже запрограммировано до вас. Надо только ознакомиться с теорией (тема Deep Learning), найти подходящую библиотеки и документацию и пользоваться. Запрограммировать своё будет иметь смысл после ознакомления с тем, что есть. Есть два возможных направления этого топика. Первое. Мы изучаем вместе теорию. Читаем источники из которых вы написали этот исходних. И пытаемся восстановить вашу логику которой вы руководствовались при написании кода. Второе. Мы даем вам ссылку на коробочные библиотеки machine-learning, и говорим бери чел и не парься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2017, 22:25 |
|
||
|
Вопрос про простой перцептрон.
|
|||
|---|---|---|---|
|
#18+
wstГде ошибка я написал. Тратить свое время на то чтобы расписывать подробности после такой реакции не собираюсь. Ну да, действительно, чойэтоя. Перечитал ваше первое сообщение еще раз и сразу стало понятно, какую ошибку я совершил, спасибо!!!!111 А если серьезно, что б вам так же "подсказывали" ;) maytonЕсть два возможных направления этого топика. Первое. Мы изучаем вместе теорию. Читаем источники из которых вы написали этот исходних. И пытаемся восстановить вашу логику которой вы руководствовались при написании кода. Второе. Мы даем вам ссылку на коробочные библиотеки machine-learning, и говорим бери чел и не парься. Теорию читал, и читал в разных местах, а конкретно код запилил после просмотра вот этого видео. Вообще, у меня есть сомнения, правильно ли я понял, когда чел рассказывал о корректирующем расчете весов входного слоя, возможно в этих расчетах и скрыта ошибка. [spoiler] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2017, 07:06 |
|
||
|
Вопрос про простой перцептрон.
|
|||
|---|---|---|---|
|
#18+
bobo96, я не знаю где ошибка в твоем сорце. Но сделаю несколько ремарок. 1) Ты используешь random-генераторы и shuffle. Как они инстанциируется? В разных JDK можно получать разные или повторяющиеся стартовые последовательности. 2) Набор единичек которые ты получил на выходе сети надо продебажить в обратную сторону. Тоесть взять твой worst-case и понять почему на вход пороговой функции идёт ооочень большая величина которая после пороговой функции тождественно равна 1. Опять-же... у тебя есть консоль. Выведи промежуточные значения в фазе обучения для всех выходов. Лучше - графически в виде полосок или точек в Excel. Так легче искать тренды. 3) Выставлять жесткое требование по равенству для выхода нейро-сети - сложно. Это не модульный тест бизнес-логики. Это - тонкая наука. Обычно берут критерии попадания в диапазон точности. Или берут в контролной выборке 95-97% успешных кейсов и считают что ОК. По поводу ссылок. Таких не дам ибо не знаю. Я последний раз изучал предмет в 98 году и кажется пользовался книгой Саймона Хайкина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2017, 21:11 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2123038]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
80ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 417ms |

| 0 / 0 |
