2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1 ... 13, 14, 15, 16, 17, 18, 19 ... 21  След.
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 20:10 
Уже на показе второго примера того же класса, ваши WeightAR[i][0] = -WeightAR[i][1] перестанут соответствовать, т.к. суммы чтобы не изменять R0 хватит, а другой суммы не хватит, и они разойдутся, будет корректирована только WeightAR[i][1], без связи с WeightAR[i][0]

-- Пт ноя 07, 2025 21:14:39 --

realeugene в сообщении #1708504 писал(а):
Ваш оппонент кажется, утверждает, что придумал систему, в принципе не подверженную переобучению?


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

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 20:17 
Аватара пользователя
tac в сообщении #1708503 писал(а):
От j они не зависят, но когда сменится следующий пример, сменится всё AField, сумма будет другая
Это я уже понял.
tac в сообщении #1708503 писал(а):
WeightAR[i][0] корректировать не нужно будет, а WeightAR[i][1] нужно
А это я не понял.
Для нового примера будет всё так же. Если после предыдущего свойство (1) сохранилось, то на новом примере тоже будет выполнено RField[0] = -RField[1].
На всякий случай: я не утверждаю, что этот алгоритм обучения всегда меняет веса синхронно. Я утверждают только что если изначально веса симметричные (условие (1)), то в этом случае они меняются синхронно, и симметричность сохраняется.
tac в сообщении #1708503 писал(а):
Но до реализуйте свою реализацию и посмотрите какие там веса
Поведение такого кода я могу предсказать до его написания. Соответственно либо я не понимаю алгоритм, либо Вы не понимаете, что происходит при его работе. И пока мы это не выясним, писать реализацию бесполезно.
Вы можете сгенерировать какой-нибудь игрушечный пример для бинарной классификации, и показать, в какой момент нарушится равенство WeightAR[i][0] = -WeightAR[i][1]? А для начала - взять что-то из предыдущего, и проверить, что оно там правда нарушается?
tac в сообщении #1708505 писал(а):
т.к. суммы чтобы не изменять R0 хватит, а другой суммы не хватит
Не понимаю, как это возможно.
А. Если WeightAR[i][0] = -WeightAR[i][1], то RField[0] = -RField[1].
Б. Если RField[0] = -RField[1], то веса обновляем одинаково (с точностью до знака).
В. Если до обновления WeightAR[i][0] = -WeightAR[i][1], а обновление одинаковое, то после обновления тоже WeightAR[i][0] = -WeightAR[i][1].
Г. (следствие из предыдущих) Если до обновления WeightAR[i][0] = -WeightAR[i][1], то после обновления тоже WeightAR[i][0] = -WeightAR[i][1].
Что из этого неправда?
tac в сообщении #1708505 писал(а):
Я утверждаю, что такого понятия как переобучения не существует в принципе
Как же не существует, если я уже два раза цитировал его определение? Понятие точно существует.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 20:18 
mihaild в сообщении #1708501 писал(а):
логистическая регрессия - это частный случай нейронки


Ну, тогда уж - это однослойная сеть с одним выходом. Частный случай частного случая.

-- Пт ноя 07, 2025 21:48:47 --

mihaild в сообщении #1708507 писал(а):
Что из этого неправда?


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

Если это так, то что это по вашему меняет? Что обучение не будет ровным счетом отличаться?

Но будет отличаться число сделанных ошибок.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 20:52 
tac в сообщении #1708505 писал(а):
А на самом деле, есть лишь такая постановка эксперимента, которая допускает в работу модели случайность
Э... Так окружающий мир таков - шум измерения неизбежен. Сфера в вакууме - возможно, но и там тоже есть тепловое излучение.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 20:57 
Аватара пользователя
tac в сообщении #1708508 писал(а):
хз, может и правда, вы меня запутали, считать вручную и искать пример мне лень, как нибудь запущу тест на ваших выборках и посмотрю под дебагером по факту
Можно и не на моей. Просто посмотреть на финальные веса. Крайне маловероятно, что если Вы правы, то они получатся симметричными.
tac в сообщении #1708508 писал(а):
Если это так, то что это по вашему меняет? Что обучение не будет ровным счетом отличаться?
Да.
tac в сообщении #1708508 писал(а):
Но будет отличаться число сделанных ошибок
Постоянным множителем 2. Но всё же обычно для задачи бинарной классификации считают метрики вроде accuracy, которые принимают значения в $[0, 1]$. Так что всё равно нормировать, просто по Вашему определению - число ошибок надо делить не на число примеров, а на удвоенное число примеров.

-- 07.11.2025, 18:58 --

tac в сообщении #1708508 писал(а):
Частный случай частного случая
Оператор частного случая идемпотентен.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 20:59 
tac в сообщении #1708487 писал(а):
private void GetError(int argStimulNumber, sbyte[] need)
{
r.Clear();

for (int i = 0; i < RCount; i++)
{
int output = (RField[i] > 0) ? 1 : -1;
int n = (need[i] == 1) ? 1 : -1;
if (output != n)
{
r.IsErrorHard = true;
r.Error[i] = n;
} // более явно тут мог бы быть else {r.Error[i] = 0;}
}
}



Значит уточню, вы утверждаете, что я никогда не попаду в else?

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 21:01 
Аватара пользователя
tac в сообщении #1708511 писал(а):
Значит уточню, вы утверждаете, что я никогда не попаду в else?
Нет, я утверждаю, что Вы либо попадете в него на обих итерациях цикла, либо ни на одной.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 21:03 
mihaild в сообщении #1708512 писал(а):
Нет, я утверждаю, что Вы либо попадете в него на обих итерациях цикла, либо ни на одной.


ну, ок ... но посмотрю не сегодня.

-- Пт ноя 07, 2025 22:06:14 --

по факту попадаю (именно на одной) и часто, а вот разбираться почему отложим до завтра

-- Пт ноя 07, 2025 22:09:14 --

RField при этом например =3, = 56 т.е. оба 1, естественно, в одном случае корректируется, в другом нет

-- Пт ноя 07, 2025 22:16:58 --

а в прочем я кажется понял, первый же пример из-за нулевых весов будет давать на выходах = 00, и соответственно, первый нужно корректировать, а второй нет.

-- Пт ноя 07, 2025 22:25:41 --

realeugene в сообщении #1708509 писал(а):
Э... Так окружающий мир таков - шум измерения неизбежен. Сфера в вакууме - возможно, но и там тоже есть тепловое излучение.


Вы не понимаете суть дискуссии видимо. Прочитайте вот это

Цитата:
Строгое и неуверенное предсказание. Классически строгим является такой выход у нейронной сети, по которому однозначно точно мы можем решить к какому классу нейросеть отнесла предъявленный пример (образ). Это означает, что мы на выходе в идеальном случае ожидаем точную цифру N, которая однозначно сопоставляется с классом. Частично, это решается введением порога в решающем элементе. Например, в задаче четность, если выход >0, то это класс нечетный, иначе четный. Тогда получается, что совсем не обученная сеть уже дает 50% правильных ответов. Таким образом, понятие точности прогноза сильнейшим образом зависит от интерпретации выхода. Совсем другую ситуацию мы имеем, когда у нейросети два выхода out, и тогда, если out1>0, то это класс нечетный, а если out2>0, то это класс четный. Здесь если сеть не обучалась, то 0% правильных ответов. Но если, она будет просто случайно угадывать, то только 25% будет правильными, т.к. комбинации 00 и 11 будут однозначно не верны.


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

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 21:35 
Аватара пользователя
tac в сообщении #1708513 писал(а):
а в прочем я кажется понял, первый же пример из-за нулевых весов будет давать на выходах = 00, и соответственно, первый нужно корректировать, а второй нет
А, вот тут асимметрия, значит. Нарушается вот это
mihaild в сообщении #1708507 писал(а):
Б. Если RField[0] = -RField[1], то веса обновляем одинаково (с точностью до знака).

По итогу - ситуация эквивалентна тому, что учим сразу $k$ моделей, каждую на свой таргет, и предсказания засчитываем только если каждая дала правильное.
tac в сообщении #1708513 писал(а):
Так вот мы говорим сейчас не про физический шум, а про случайность которую создали сами своей интерпретацией выхода
Что это значит?

Так, с моделью вроде (опять) разобрались. В общем-то реализовать несложно, можно же учить независимо (только с одинаковыми $W_{sa}$).
Можете сформулировать, с учетом предыдущих обсуждений, какое утверждение сейчас отстаиваете?

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 22:32 
tac в сообщении #1708513 писал(а):
Так вот мы говорим сейчас не про физический шум, а про случайность которую создали сами своей интерпретацией выхода.

В смысле?

Выход задан решаемой задачей. Не важно что внутри: какая-то сетка или куча эвристик. В задаче классификации это небольшое число - номер класса. Можно, если хотите, добавить ещё один класс: фигня какая-то непонятная. Или каждому классу приписывать степень уверенности. Но в любом случае в задаче классификации не вы задаёте, какой выход требуется получить, чтобы вы могли его произвольно интерпретировать. Он задан исходно решаемой вами задачей.

-- 07.11.2025, 22:39 --

tac в сообщении #1706017 писал(а):
Измените целевую функцию и всё.

Вот от этой фразы тоже как-то перекорёжило.

Не вы выбираете целевую функцию. Перед вами как разработчиком стоит задача аппроксимировать некоторую сложную целевую функцию. Смещение априорно вам не известно. Когда оно параметр - по нему производится оптимизация наравне с остальными параметрами. Ваш алгоритм не может обучаться смещению - ну значит RIP.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение08.11.2025, 03:24 
mihaild в сообщении #1708516 писал(а):
По итогу - ситуация эквивалентна тому, что учим сразу $k$ моделей, каждую на свой таргет, и предсказания засчитываем только если каждая дала правильное.


Похоже еще не до конца разобрались. Нет ситуация не эквивалентна. Мы создаем зависимое решение, как в системе уравнений. (формально неравенств, ну это же вы должны знать? )

mihaild в сообщении #1708516 писал(а):
В общем-то реализовать несложно, можно же учить независимо (только с одинаковыми $W_{sa}$).


Вот эта поправка "только с одинаковыми $W_{sa}$" важна. Но если вы создадите два набора AR весов на один выход (для независимости как вы говорите), вы получите совсем другое решение, чем если это будет AR веса на два выхода, которые обучались вместе. Ок?

-- Сб ноя 08, 2025 04:31:19 --

mihaild в сообщении #1708516 писал(а):
Можете сформулировать, с учетом предыдущих обсуждений, какое утверждение сейчас отстаиваете?


С пробуксовкой у нас идет, но идет. Тогда я и вас спрошу, что именно вы не понимаете во фразе

Цитата:
Строгое и неуверенное предсказание. Классически строгим является такой выход у нейронной сети, по которому однозначно точно мы можем решить к какому классу нейросеть отнесла предъявленный пример (образ). Это означает, что мы на выходе в идеальном случае ожидаем точную цифру N, которая однозначно сопоставляется с классом. Частично, это решается введением порога в решающем элементе. Например, в задаче четность, если выход >0, то это класс нечетный, иначе четный. Тогда получается, что совсем не обученная сеть уже дает 50% правильных ответов. Таким образом, понятие точности прогноза сильнейшим образом зависит от интерпретации выхода. Совсем другую ситуацию мы имеем, когда у нейросети два выхода out, и тогда, если out1>0, то это класс нечетный, а если out2>0, то это класс четный. Здесь если сеть не обучалась, то 0% правильных ответов. Но если, она будет просто случайно угадывать, то только 25% будет правильными, т.к. комбинации 00 и 11 будут однозначно не верны.


(а судя по все не понимаете, как и realeugene, но я не могу понять чего)

-- Сб ноя 08, 2025 04:37:56 --

realeugene в сообщении #1708520 писал(а):
Выход задан решаемой задачей.


Конечно нет, все делает экспериментатор. Задача не субъектна, чтобы что-то задавать. Есть куча способов задать тоже самое. Вы просто привыкли к вероятностной постановке видимо, а существует и позиционная. (Термин перегружен, и если он встречается в связи с трансформерами, он означает немного другое. Если это будет не ясно, придется поискать более ранний источник этого понятия.).

Сейчас люди запутались от потока информации, вот правильные определения (из Розенблатта стр. 224)

Цитата:
Позиционное кодирование — способ кодирования реакции, при котором для любого стимула в состоянии «включено» может находиться только один вариант реакции. Код принимает форму двоичного числа, все разряды которого, за исключением одного, состоят из нулей. Положение ненулевого разряда указывает на класс идентифицируемого стимула.


Цитата:
Конфигурационное кодирование — способ кодирования реакции, при котором каждой реакции приписывается некоторое двоичное число. Поэтому полное число реакций, которое может быть закодировано таким образом с помощью N бит равно $2^N$. Такая реакция может служить для идентификации независимого признака или свойства стимула, такого, как местоположение на сетчатке (справа, слева), размер, вытянутость в горизонтальном или вертикальном направлении.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение08.11.2025, 05:46 
tac в сообщении #1708546 писал(а):
Вот эта поправка "только с одинаковыми $W_{sa}$" важна. Но если вы создадите два набора AR весов на один выход (для независимости как вы говорите), вы получите совсем другое решение, чем если это будет AR веса на два выхода, которые обучались вместе. Ок?


Это я все таки переборщил похоже ... кажется поправки "только с одинаковыми $W_{sa}$" достаточно, но и нужно показывать все примеры, независимо от того какому входу учим. Т.е. если у нас 10 чисел как в MNIST, выход который указывает что это 2 нужно показывать все образы от 0 до 9. Иначе, можно конечно научить различать 3 от 2, но тогда ты не будешь знать к какому из независимых перцептронов обратится за ответом.

-- Сб ноя 08, 2025 06:50:59 --

mihaild в сообщении #1708516 писал(а):
Можете сформулировать, с учетом предыдущих обсуждений, какое утверждение сейчас отстаиваете?


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

Что вам известно про то какое влияние оно оказывает на реальные примеры, а не в игры со случайностью?

-- Сб ноя 08, 2025 07:05:18 --

tac в сообщении #1708238 писал(а):
На вопрос, почему так происходит в перцептроне, я собственно никогда не задумывался, потому что как правило я не думал, что все так печально с другими алгоритмами. И несмотря на то, что вы говорите, что дело не в алгоритмах, а в частных случаях задач (обучающих выборках в связи с тестовой), я не готов с этим согласится. Очевидно, что если понятие "переобучения" появилось в связи с массовым применением бэкпропа и под него собственно и делалось, то причина его наличия наоборот в алгоритме бэкпропа - градиентном спуске.


Повторим вот эту мою фразу, на которую вы возражали, что в книге Митчела понятие "переобучения" связано с деревьями решений, я нашел эту книгу, странно, что вы не заметили там раздела про бэкпроп :)

-- Сб ноя 08, 2025 07:14:15 --

Там же он пишет

Цитата:
In fact, this is a poor strategy because BACKPROPAGATION is susceptible to overfitting the training examples at the cost of decreasing generalization
accuracy over other unseen examples.


Жирно выделяя, что переобучение свойственно алгоритму бэкпропагатион, и не делает каких то обобщающих заявлений на перцептрон. Поэтому увы, мне даже поспорить не с кем.

-- Сб ноя 08, 2025 07:36:06 --

А Вы хоть сами читали Митчела?

Цитата:

The second plot in Figure 4.9 shows that it is not always obvious when the lowest error on the validation set
has been reached. In this plot, the validation set error decreases, then increases,
then decreases again. Care must be taken to avoid the mistaken conclusion that
the network has reached its lowest validation set error at iteration 850.

In general, the issue of overfitting and how to overcome it is a subtle one.
The above cross-validation approach works best when extra data are available to
provide a validation set. Unfortunately, however, the problem of overfitting is most
severe for small training sets. In these cases, a k-fold cross-validation approach
is sometimes used, in which cross validation is performed k different times, each
time using a different partitioning of the data into training and validation sets,
and the results are then averaged. In one version of this approach, the m available
examples are partitioned into k disjoint subsets, each of size m/k. The crossvalidation procedure is then run k times, each time using a different one of these
subsets as the validation set and combining the other subsets for the training set.
Thus, each example is used in the validation set for one of the experiments and
in the training set for the other k - 1 experiments. On each experiment the above
cross-validation approach is used to determine the number of iterations i that yield
the best performance on the validation set. The mean i of these estimates for i
is then calculated, and a final run of BACKPROPAGATION is performed training on
all n examples for i iterations, with no validation set.


по сути он расписывается в том, что не знает что с этим делать. Вы же его привратно интерпретируете, что нужно останавливаться раньше, и можно не обучаться. Он там кстати, приводит еще один способ слямженный из $\gamma$ перцептронов, где идея сохранять общую сумму весов.
Но в итоге он предлагает ни один раз проводить обучение, а перетасовывать даже не только примеры в обучающей выборке (чем я ограничиваюсь, а вы даже против этого возражаете), но и постоянно между обучающей и тестовой и находить среднее. Против этого подхода я не имею ничего против. Но это означает, что вам нужно завершать обучение и не один раз. Поэтому я возражаю исключительно против фееричного упрощения - не обучаться дальше, скидывая что там возможно переобучение.

-- Сб ноя 08, 2025 07:38:30 --

Ну, и главное, вы не понимаете природу того, что называете переобучением, но это как говорится уже другая история.

-- Сб ноя 08, 2025 07:44:11 --

Ну, и еще он пишет

Цитата:
Notice the generalization accuracy measured over the validation examples first decreases, then increases, even as the error over the training examples continues to decrease. How can this occur? This occurs because the weights are being tuned to fit idiosyncrasies of the training examples that are not representative of the general distribution of examples.


Это собственно то, что я и говорю, что вы наблюдаете переобучение только в одном случае, когда обучающая выборка не репрезентативно представлена в тестовой, и наоборот. Вы наверняка мне создавали такие выборки которые отличались распределением признаков.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение08.11.2025, 06:50 
Итого: позиционное кодирование, перемешивание обучающей выборки каждую итерацию, перемешивание между обучающей и тестовой перед каждым экспериментом, обучение до нуля, усреднение ошибок между экспериментами и итерациями и "переобучение" испарится как явление.

И более того, я забираю свое заявление, что это относится исключительно к перцептрону, это в-первую очередь относится к правильной постановке эксперимента, а то, что эксперименты над перцептроном исторически всегда ставились правильно, в отличии от бэкпропа и прочих моделей, это просто частность.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение08.11.2025, 11:55 
tac в сообщении #1708548 писал(а):
перемешивание между обучающей и тестовой перед каждым экспериментом,
Разве понятие переобучения относится только к тестовой выборке, а не к генеральной совокупности? Тасуя тестовую и обучающую выборки вы превращаете тестовую выборку в обучающую, и только.

И так как вас, очевидно, не понимают, придумал простой пример для разбора и иллюстрации. Мы пишем предсказатель выпадения монетки. Нуль - орёл, единица - решка. Обучающая выборка состоит из результата одного броска монетки. Множество входов алгоритма - пустое, выход предсказателя - 1 бит. Я со своими почти сотней миллиардов нейронов в мозгу легко напишу эвристику, дающую нулевые потери на обучающей выборке. К вам же два вопросе:

1. Способен ли на такое ваш перцептрон? Не эвристику написать, конечно, а научиться выдавать 0 или 1 при пустом входе в зависимости от обучающей выборки.
2. Как быть с переобучением?

 
 
 
 Re: О перцептроне Розенблатта
Сообщение08.11.2025, 19:00 
realeugene в сообщении #1708559 писал(а):
Мы пишем предсказатель выпадения монетки.


Вы еще предсказатель рулетки напишите, глупости переставайте писать.

-- Сб ноя 08, 2025 20:09:37 --

realeugene в сообщении #1708559 писал(а):
Тасуя тестовую и обучающую выборки вы превращаете тестовую выборку в обучающую, и только.


Вы собственно против чего возражаете? Что в приведенной цитате Митчела вам не нравится? Или вы даже не удосужились её прочитать и понять?

 
 
 [ Сообщений: 301 ]  На страницу Пред.  1 ... 13, 14, 15, 16, 17, 18, 19 ... 21  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group