2014 dxdy logo

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

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




На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18 ... 21  След.
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 13:34 
mihaild в сообщении #1708463 писал(а):
Если один из выходов неправильный, то другой тоже неправильный. И значит процесс обучения поменяет ведущие к ним веса, причем все поправки будут опять противоположными по знаку.
(может быть я неправильно понимаю Ваше описание, но если правильно, то для бинарного таргета позиционное кодирование ничего не дает; а т.к. мне его лень реализовывать, то, если можно, хотелось бы обойтись без него)


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

-- Пт ноя 07, 2025 14:36:20 --

mihaild в сообщении #1708463 писал(а):
Тем самым Вы сразу отказываетесь соревноваться с большинством моделей - почти все модели для бинарной классификации выдают вероятность.

не вижу причино-следственно связи.

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

mihaild в сообщении #1708463 писал(а):
Это внутреннее дело модели, как ей учиться.

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

-- Пт ноя 07, 2025 14:44:32 --

mihaild в сообщении #1708463 писал(а):
Хорошее определение переобучения - у Митчелла


ну так процитируйте что ли его

-- Пт ноя 07, 2025 14:46:49 --

waxtep в сообщении #1708464 писал(а):
Выкидывая что-то пост фактум, Вы отказываете сделанному утверждению в научности.

это что новенькое, все наблюдения делаются пост фактум, более того и принять решение нужно пост фактум

-- Пт ноя 07, 2025 14:55:51 --

mihaild в сообщении #1708463 писал(а):
вход - битовые строки длины 100, выход - последний бит md5 от этой строки


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

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 13:56 
Аватара пользователя
tac в сообщении #1708467 писал(а):
Не до конца вас понимаю, но каждый выход обучается отдельно и независимо, соответственно, если один верный, он останется, а второй если не верный поменяется обучением
tac в сообщении #1708391 писал(а):
Reaction r = GetError(index, NecessaryReactions[index]);
...
WeightAR[i][j] = WeightAR[i][j] + rError[j];
Вот если я правильно понимаю, то для случая бинарной классификации в варианте с позиционным кодированием (NecessaryReations[i] двухэлементный, всегда один элемент нулевой, другой единичный) всегда выполнено r.Error[0] == -r.Error[1] и WeightAR[i][0] == -WeightAR[i][1].
Если неправильно - то покажите, где это нарушается (иначе получается, что мы с Вами о разных моделях/процедурах обучения говорим).
tac в сообщении #1708467 писал(а):
не вижу причино-следственно связи
Как Вы будете сравнивать Вашу модель на задачи бинарной классификации с логистической регрессией, которая выдает вещественное число от $0$ до $1$ - вероятность принадлежности объекта к первому классу?
tac в сообщении #1708467 писал(а):
нет, это дело не модели, а чистоты постановки эксперимента. Иначе, если мы сравниваем две модели - одна подгоняет результаты, а вторая обучается честно
Что значит "подгоняет"?
Модель, в конечном итоге - это функция из обучающей выборки и гиперпараметров в классификатор. Обучение с перемешиванием и без - это две разные такие функции. Имеете права брать ту, которая Вам больше нравится.
Всё, что делается внутри функции fit (или как у Вас называется подбирающая веса функция) - это внутреннее дело модели.
tac в сообщении #1708467 писал(а):
ну так процитируйте что ли его
mihaild в сообщении #1708242 писал(а):
Например, в довольно древней (1997 год) книге Митчелла, хотя back propagation и есть, но понятие переобучения рассматривается, в первую очередь, для решающих деревьев.
Там, кстати, близкое к тому, что я написал по памяти, определение.
Цитата:
Given a hypothesis space $H$, a hypothesis $h \in H$ is said to overfit the training data if there exists some alternative hypothesis $h' \in H$, such that $h$ has smaller error than $h'$ over the training examples, but $h'$ has a smaller error than $h$ over the entire distribution of instances.
(гипотезами Митчелл называет обученные модели, а пространство гипотез - соответственно множество всех возможных обученных моделей)
tac в сообщении #1708467 писал(а):
более того и принять решение нужно пост фактум
Это еще почему? Когда я решаю запустиь или нет в продакшн новую модель, я не могу посмотреть, на каких данных она будет запускаться. Потому что я не знаю, что будут делать пользователи.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 14:03 
mihaild в сообщении #1708469 писал(а):
r.Error[0] == -r.Error[1] и WeightAR[i][0] == -WeightAR[i][1]


С чего вы взяли? Это вообще зависит от порядка показа, и такой жесткой зависимости конечно нет.

кстати, там в алгоритме не хватает обнуления вначале метода GetError
r.Error = new float[Error.Length];

-- Пт ноя 07, 2025 15:04:31 --

mihaild в сообщении #1708469 писал(а):
Как Вы будете сравнивать Вашу модель на задачи бинарной классификации с логистической регрессией


Мне это вообще не нужно, меня не интересуют другие модели, кроме нейросетей.

-- Пт ноя 07, 2025 15:11:22 --

mihaild в сообщении #1708469 писал(а):
Что значит "подгоняет"?
Модель, в конечном итоге - это функция из обучающей выборки и гиперпараметров в классификатор. Обучение с перемешиванием и без - это две разные такие функции. Имеете права брать ту, которая Вам больше нравится.
Всё, что делается внутри функции fit (или как у Вас называется подбирающая веса функция) - это внутреннее дело модели.


Подгоняет, это означает, что использует неявные знания экспериментатора, которые модели по определению не могут быть известны. Например, как случилось в вашем 3-ем датасете, первых пять примеров дают хорошие предсказание, а потом идут шумные и искаженные примеры. Вы на основании этого делаете искаженный вывод, мол что больше обучаться не нужно. Если вы правильно поставили бы эксперимент и устранили бы "предзнание" экспериментатора, то и вывод столь глупый не сделали бы.

Поэтому, это естественно не дело модели, а дело методологии постановки экспериментов.

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

-- Пт ноя 07, 2025 15:17:00 --

mihaild в сообщении #1708469 писал(а):
Когда я решаю запустиь или нет в продакшн новую модель, я не могу посмотреть, на каких данных она будет запускаться. Потому что я не знаю, что будут делать пользователи.

Это конечно, же не так.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 14:41 
Аватара пользователя
tac в сообщении #1708470 писал(а):
С чего вы взяли? Это вообще зависит от порядка показа
Вы показали один пример, обновили веса от всех А нейронов, активных на этом входе, ведущие к неправильный R выходам, потом пошли к следующему примеру. Или как-то иначе?
Если так - то вот процитирую Ваш код
код: [ скачать ] [ спрятать ]
Используется синтаксис C#
                    //Управляющий цикл обучения
               for (int i = 0; i < HCount; i++)
               {
                  int index = i;

                  SActivation(index);
                  RActivation(index);

                  // Узнаем ошибся перцептрон или нет, если ошибся отправляем на обучение
                  Reaction r = GetError(index, NecessaryReactions[index]);
                  if (r.E == true)
                  {
                     LearnedStimulAR(index, r.Error);
                     Error++; // Число ошибок, если в конце итерации =0, то выскакиваем из обучения.
                  }
               }
   
      private Reaction GetError(int argStimulNumber, sbyte[] need)
      {
         for (int i = 0; i < RCount; i++)
         {
            int output = (RField[i] > 0) ? 1 : -1;
            if (output != need[i])
            {
               r.E = true;
               r.Error[i] = need[i];
            }
         }
         return r;
      }

      void LearnedStimulAR(int argStimulNumber, float[] rError)
      {
          for (int j = 0; j < RCount; j++)
          {
             for (int i = 0; i < ACount; i++)
             {
               if (AField[i] > 0)
               {
                  WeightAR[i][j] = WeightAR[i][j] + rError[j];
               }
            }
         }
      }
 
В какой момент этот инвариант может нарушиться?
tac в сообщении #1708470 писал(а):
Мне это вообще не нужно, меня не интересуют другие модели, кроме нейросетей
Нейросети тоже выдают вероятности. Собственно логистическая регрессия - это однослойная нейросеть с сигмоидой в качестве активации.
tac в сообщении #1708470 писал(а):
Вы на основании этого делаете искаженный вывод, мол что больше обучаться не нужно
Если цель - получить минимальную ошибку на тесте, то что в этом выводе искаженного?
tac в сообщении #1708470 писал(а):
И если вы хотите сравнить с логистической регрессией, то это вам нужно правильно организовать эксперимент, а не показывать мне "подогнанные" результаты
Эксперимент с логистической регрессией организован очень сложно:
Используется синтаксис Python
import sklearn
model = sklearn.linear_model.LogisticRegression()
model.fit(X_train, y_train)
print((model.predict(X_test) == y_test).mean())

Где тут подгонка (я обещаю, что результат работы fit зависит только от аргументов, и не подсматривает в тестовую выборку в глобальных переменных)?
tac в сообщении #1708470 писал(а):
Поэтому, это естественно не дело модели
Остановиться в момент, зависящий от тестовой выборки, модель, естественно, права не имеет.
По сути мы имеем дело с пачкой разных моделей - получающихся остановкой в разные моменты времени. И получается, что модель, остановленная позже, переобучена по сравнению с моделью, остановленной раньше.
tac в сообщении #1708470 писал(а):
Это конечно, же не так
Это, конечно же, так. Я могу только надеяться, что их поведение в будущем будет похоже на их поведение в прошом в том смысле, в котором закономерности понимает выбранная модель.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 14:46 
mihaild в сообщении #1708474 писал(а):
Вы показали один пример, обновили веса от всех А нейронов, активных на этом входе, ведущие к неправильный R выходам, потом пошли к следующему примеру.

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

-- Пт ноя 07, 2025 15:49:51 --

mihaild в сообщении #1708474 писал(а):
логистическая регрессия - это однослойная нейросеть с сигмоидой в качестве активации.


таких не бывает :) вот вы придумали однослойные нейросети с ними и работайте, меня такие чудачества слабо интересуют. Только не распространяйте выводы полученные на этих недосетях и их аналогах на настоящие нейросети.

-- Пт ноя 07, 2025 15:51:40 --

mihaild в сообщении #1708474 писал(а):
Где тут подгонка

Вы совсем не следите за тем что я вам пишу? Подгонка в том, в каком порядке вы подаете примеры в данном случае. Перемешайте и выполните важное требование.
И второе, вам нужна мультиклассовая логистическая регрессия, ваша библиотека её в явном виде как я понимаю не реализует.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 15:41 
Аватара пользователя
tac в сообщении #1708475 писал(а):
на следующем примере, активными будут другие A нейроны, причем они будут пересекаться, один выход будет правильный и веса не изменятся, а второй не правильный и он будет подкорректирован
Вот это я не понимаю. Рассматриваем обработку одного примера. Я делаю следующие утверждения:
1. Если при вычислении ошибки веса удовлетворяют условию WeightAR[i][0] == -WeightAR[i][1] (1) (для всех i), то ошибка - результат GetError удовлетворяет условию rError[0] == -rError[j] (2).
2. Если веса удовлетворяют условию (1), а ошибка условию (2), то после вызова LearnedStimulAR веса продолжат удовлетворять условию (1).
3. Изначально веса удовлетворяют условию (1).
Из этих трех утверждений следует, что после обработки первого примера веса будут удовлетворять условию (1), после второго тоже, и т.д.
Какое из утверждений неверно?
Или, другими словами, как может возникнуть ситуация, что один выход правильный, а другой нет.
tac в сообщении #1708475 писал(а):
вот вы придумали однослойные нейросети
Их придумали задолго до меня. Просто подставьте в определение нейронной сети число слоев =1.
tac в сообщении #1708475 писал(а):
Подгонка в том, в каком порядке вы подаете примеры в данном случае. Перемешайте и выполните важное требование
И результат не изменится, поскольку примеры независимы и одинаково распределены.
tac в сообщении #1708475 писал(а):
И второе, вам нужна мультиклассовая логистическая регрессия, ваша библиотека её в явном виде как я понимаю не реализует
Реализует, но она мне не нужна. Потому что у нас задача бинарной классификации. Откуда Вы мне предлагаете брать метки кроме 0,1, чтобы учить мультиклассовую регрессию?

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 17:02 
mihaild в сообщении #1708479 писал(а):
Вот это я не понимаю. Рассматриваем обработку одного примера. Я делаю следующие утверждения:
1. Если при вычислении ошибки веса удовлетворяют условию WeightAR[i][0] == -WeightAR[i][1] (1) (для всех i), то ошибка - результат GetError удовлетворяет условию rError[0] == -rError[j] (2).
2. Если веса удовлетворяют условию (1), а ошибка условию (2), то после вызова LearnedStimulAR веса продолжат удовлетворять условию (1).
3. Изначально веса удовлетворяют условию (1).
Из этих трех утверждений следует, что после обработки первого примера веса будут удовлетворять условию (1), после второго тоже, и т.д.
Какое из утверждений неверно?
Или, другими словами, как может возникнуть ситуация, что один выход правильный, а другой нет.


У вас талант меня путать :? Вы изменяете только те веса Wij, А элементы которых активны. Никто вам не гарантирует, что для класса 0 будут активны совсем другие А элементы, чем для класса 1. Значит если на $R_0$ возникнет ошибка (а будет она или нет зависит от суммы активностей А элементов) коррекция будет, но при этом на $R_1$ ошибки не будет и коррекция будет равна 0.

еще раз приведу метод
Код:
      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;}
         }
      }


-- Пт ноя 07, 2025 18:10:52 --

mihaild в сообщении #1708479 писал(а):
И результат не изменится, поскольку примеры независимы и одинаково распределены.

изменится, утверждение "независимы и одинаково распределены" неверно, т.к. иначе бы перетасовка для перцептрона ничего бы не дала, а она дала буквально на противоположный результат. Было переобучение и сплыло.

-- Пт ноя 07, 2025 18:14:26 --

mihaild в сообщении #1708479 писал(а):
Просто подставьте в определение нейронной сети число слоев =1.

Какой бы вам пример придумать? Снимите задние колеса у машины и едьте?

-- Пт ноя 07, 2025 18:17:45 --

mihaild в сообщении #1708479 писал(а):
Откуда Вы мне предлагаете брать метки кроме 0,1

Вот поэтому и не реализует. Вам не метки надо брать, а выходы. Чтобы каждой метке соответствовал 1 выход. Вот у бинарных деревьев все хорошо два листа 0 и 1. А тут проблемка ... может вывернетесь, но это не моя проблема.

-- Пт ноя 07, 2025 18:29:34 --

mihaild в сообщении #1708479 писал(а):
Реализует, но она мне не нужна.


Если вы имеете введу Многоклассовая логистическая регрессия, то это не то что вам нужно. Там по прежнему один $y$, а их должно быть два $y_1$ и $y_2$, причем как я понимаю, связанные неким уравнением через веса.

-- Пт ноя 07, 2025 18:52:50 --

Вот какой вариант мне выдал Дипсик, если такое есть в жизни, то это будет эквивалентно нейросети о которой мы говорим.

Цитата:
1. Многозадачная логистическая регрессия (Multi-Task Logistic Regression)
Это наиболее прямой аналог обычной логистической регрессии для вашего случая.

Архитектура модели:

Общая часть: У модели есть общий набор весов W_shared и общий блок признаков, который обучается на основе всех данных.

Специфичные "головы" (Heads): После общего блока идут два независимых выходных слоя, каждый со своими весами.

Head для y1: Слой с 2 нейронами (т.к. 2 класса) и функцией активации softmax.

Head для y2: Слой с 2 нейронами (т.к. 2 класса) и функцией активации softmax.

Функция потерь (Loss Function):
Поскольку у нас две цели, функция потерь становится комбинированной. Чаще всего это взвешенная сумма двух отдельных функций потерь (например, Cross-Entropy).

Total_Loss = α * Loss(y1_true, y1_pred) + β * Loss(y2_true, y2_pred)

Здесь α и β — гиперпараметры, которые определяют, насколько важна каждая из задач при обучении. Если задачи равнозначны, можно взять α = β = 1.

Обучение:
Модель обучается одновременно предсказывать и y1, и y2. Градиенты от обеих функций потерь проходят через общую часть модели, что позволяет ей извлекать более универсальные и robust-признаки.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 17:56 
Аватара пользователя
tac в сообщении #1708487 писал(а):
Никто вам не гарантирует, что для класса 0 будут активны совсем другие А элементы, чем для класса 1.
Так, попробую в этой терминологии.
Мы рассматриваем один внутренний цикл обучения (изменение весов на основании одного примера; не помню, был ли для этого термин). Вот у нас есть вектор $\vec x$. Уже бинарный.
Вот у нас есть два А-элемента. Первый $a_1$ активируется, если $x_1 + x_3 - x_5 > 0$, второй $a_2$ если $x_2 - x_7 - x_8 - x_9 > 0$.
Они зависят только от признаков, не от класса. Что значит, что "А элемент активен для класса 0"?
tac в сообщении #1708487 писал(а):
int output = (RField[i] > 0) ? 1 : -1;
int n = (need[i] == 1) ? 1 : -1;

1. Я правильно понимаю, что по построению need[0] == 1 - need[1] (на всякий случай - у нас всё еще бинарная классификация)?
2. Если да, то, насколько я понимаю, у нас будет (пока соблюдено условие (1)) соблюдаться и RField[i] == 1 - RField[i - 1].
А значит и r.Error[0] == 1 - r.Error[1].
tac в сообщении #1708487 писал(а):
иначе бы перетасовка для перцептрона ничего бы не дала
Тут надо внимательно проверять, даёт ли она какое-то другое распределение. Но, в любом случае, это про происходящее внутри обучения.
Вы можете сказать, что я даю модели подсказку, передавая примеры в определенном порядке. Это не так - если я перемешаю примеры перед тем, как давать их модели, ничего не изменится. Поэтому все еще непонятно, в чем подгонка. Важно, чтобы при обучении модель не подглядывала в тестовую выборку. Остальное - её личное дело. В частности, я могу взять какой-нибудь неитеративный солвер, для которого "перемешивание после каждой эпохи" вообще смысла не имеет.
tac в сообщении #1708487 писал(а):
Какой бы вам пример придумать?
Основанный на определениях из стандартных учебников.
tac в сообщении #1708487 писал(а):
Вот поэтому и не реализует. Вам не метки надо брать, а выходы
Какие "выходы"? Мультиклассовая логистическая регрессия - модель, делающая из входного вектора распределение на классах.
Мы решаем задачу бинарной классификации. Классов у нас два. Модель и выдает распределение на классах.
Мультиклассовая логистическая регрессия работает так: у нас есть набор векторов $\vec v_i$, по одному для каждого класса. Выходная вероятность $i$-го класса $\frac{\exp((\vec x, \vec  v_i))}{\sum_j \exp((\vec x, \vec v_j))}$. Как несложно показать, если прибавить ко всем $\vec v_i$ один и тот же вектор, вероятности не изменятся, поэтому, не ограничивая общности, можно считать $\vec v_0 = 0$. Что даёт стандартную бинарную логистическую регрессию.

Вы тут, кажется, придумываете не просто модель, но вообще полностью свою методологию машинного обучения. В частности, отказываетесь решать задачу бинарной классификации, предлагая какую-то свою модификацию. Могу пожелать Вам удачи, но разбираться с этим будет смысл только когда продемонстрируете какие-то практические результаты. Пока что модели, приносящие пользу (рисующие котиков и подбирающие ролики в тиктоке) делаются по стандартной методологии.
tac в сообщении #1708487 писал(а):
Вот какой вариант мне выдал Дипсик
Это какая-то авторская разработка стохастического попугая.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 18:20 
mihaild в сообщении #1708491 писал(а):
Они зависят только от признаков, не от класса. Что значит, что "А элемент активен для класса 0"?


Имеется введу, для любого из примеров (набора значений признаков) , принадлежащего классу 0.

-- Пт ноя 07, 2025 19:23:35 --

mihaild в сообщении #1708491 писал(а):
Я правильно понимаю, что по построению need[0] == 1 - need[1] (на всякий случай - у нас всё еще бинарная классификация)?


да,
need[0] = 1 и need[1] = 0 для метки True
need[0] = 0 и need[1] = 1 для метки False

-- Пт ноя 07, 2025 19:28:39 --

mihaild в сообщении #1708491 писал(а):
Если да, то, насколько я понимаю, у нас будет (пока соблюдено условие (1)) соблюдаться и RField[i] == 1 - RField[i - 1].
А значит и r.Error[0] == 1 - r.Error[1].


Да, с чего вы это берете? RField[0] - это выход нейросети, он ни как не коррелирует со вторым выходом RField[1]. Они зависят ни от need, а от работы первого слоя и второго слоя нейросети.

-- Пт ноя 07, 2025 19:32:12 --

mihaild в сообщении #1708491 писал(а):
Вы можете сказать, что я даю модели подсказку, передавая примеры в определенном порядке. Это не так - если я перемешаю примеры перед тем, как давать их модели, ничего не изменится. Поэтому все еще непонятно, в чем подгонка.


Именно это я и говорю. Перемешивать нужно каждую итерацию, и тогда изменится.

-- Пт ноя 07, 2025 19:34:42 --

mihaild в сообщении #1708491 писал(а):
взять какой-нибудь неитеративный солвер, для которого "перемешивание после каждой эпохи" вообще смысла не имеет


я уже говорил, что не итеративные солверы нам не интересны, они не создают модели обобщения.

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 18:34 
Аватара пользователя
tac в сообщении #1708467 писал(а):
это что новенькое, все наблюдения делаются пост фактум, более того и принять решение нужно пост фактум
Но утверждение вида "методика прекрасно работает для всех данных, кроме тех, на которых она фактически не работает" имеет нулевую ценность и предсказательную силу

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 18:43 
mihaild в сообщении #1708491 писал(а):
Вы тут, кажется, придумываете не просто модель, но вообще полностью свою методологию машинного обучения. В частности, отказываетесь решать задачу бинарной классификации, предлагая какую-то свою модификацию.


Ровно наоборот, "вы" (в смысле тех, кто пришел из статистики и создал машинное обучение как науку в противовес науке, которая называлась "искусственный интеллект" - а это разные науки), обобщаете понятие логистической регрессии до нейронной сети с одним слоем. Но даже это у вас не получается. Т.к. у нейронной сети с одним слоем, по прежнему может быть 2 выхода. А в логистической регрессии как мы определились - их нет. А то, что LLM лучше "вас" (в том же смысле) обобщает логистическую регрессию на многозадачность (чтобы не путать с вероятностью многоклассовой, которую нейросети никогда и не решали в смысле вероятностей до машинного обучения), говорит о том, что у нас разные модели, которые вы по прежнему хотите называть одинаково.

-- Пт ноя 07, 2025 19:49:42 --

waxtep в сообщении #1708495 писал(а):
Но утверждение вида "методика прекрасно работает для всех данных, кроме тех, на которых она фактически не работает" имеет нулевую ценность и предсказательную силу


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

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 18:53 

(Оффтоп)

Я правильно понимаю, что тут реинкарнация спора о том, можно ли проводить прямую через две точки, или нужно минимум через три?

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 19:18 
Аватара пользователя
tac в сообщении #1708493 писал(а):
RField[0] - это выход нейросети, он ни как не коррелирует со вторым выходом RField[1]. Они зависят ни от need, а от работы первого слоя и второго слоя нейросети.
А как считается RField?
Я думал как Rfield[j] это сумма WeightAR[i][j] * AField[i] по i. Нет?
Если да, то, т.к. AField[i] не зависит от j, а WeightAR[i][0] = -WeightAR[i][1] по предположению (1), то RField[0] = -RField[1] (я выше написал неправильно, забыл, что RField считается до приведения к $\{0, 1\}$, перепутав его с output).
tac в сообщении #1708493 писал(а):
я уже говорил, что не итеративные солверы нам не интересны, они не создают модели обобщения
А что такое "модели обобщения", и зачем они нужны?
И каким образом почти один и тот же вектор коэффициентов (а для логистической регрессии можно доказать, что он получится почти одинаковым), полученный разными способами, в одном случае "создает модель обобщения", а в другом нет?
Если сильно хочется - могу предложить такой вариант. Я даже руками напишу градиентный спуск для логрега, и запущу в двух вариантах - с перемешиванием после каждой эпохи и без. И даже сразу откажусь от возможности сжульничать и поставлю batch_size=1 :-) Если при перемешивании результаты получатся сильно отличными от post1708435.html#p1708435 (ну например разрыв с монеткой на тесте сократится более чем вдвое) - я перевожу в благотворительную организацию по Вашему выбору 10 долларов. Если не получатся - соответственно десять долларов в благотворительную организацию по моему выбору переводите Вы.
(подберём что-нибудь, что не является запрещенным в соответствующей юрисдикции)
Подходит?
tac в сообщении #1708496 писал(а):
обобщаете понятие логистической регрессии до нейронной сети с одним слоем
Не обобщаю. Я говорю, что логистическая регрессия - это частный случай нейронки. Разумеется, сильно не любая нейронка - логистическая регрессия.
tac в сообщении #1708496 писал(а):
А то, что LLM лучше "вас" (в том же смысле) обобщает логистическую регрессию на многозадачность
Говорит о том, что она зачем-то придумала какую-то свою невнятную модель, которую обозвала логистической регрессией. Потому что в обычной логистической регрессии непонятно куда пихать "shared" веса.
tac в сообщении #1708496 писал(а):
говорит о том, что у нас разные модели, которые вы по прежнему хотите называть одинаково
Я как раз не хочу. Я хочу общепринятые названия использовать в общепринятом смысле, а всем желающим вводить новые сущности предлагаю сразу вводить для них и новые слова.
tac в сообщении #1708496 писал(а):
Проверка, которая показывает, что данный набор обучающей выборки с тестовой выборкой имеет предсказательную силу не больше подбрасывания монетки, имеет высокую практическую ценность, т.к. позволяет сказать что такое обучение не будет иметь никакой предсказательной силы
Понимаете ли Вы, что эта проверка зависит от используемой модели. И даёт разные результаты для вашего перцептрона и для логистической регрессии?

(Оффтоп)

realeugene в сообщении #1708500 писал(а):
Я правильно понимаю, что тут реинкарнация спора о том, можно ли проводить прямую через две точки, или нужно минимум через три?
Да вроде нет, никакой связи я не вижу.


-- 07.11.2025, 17:40 --

tac в сообщении #1708467 писал(а):
И собственно вы тоже подсовываете мне такие же задачи, и неправомерно вывод обобщаете на все датасеты
Не на все. На всех датасетах ни одна модель не лучше любой другой.
Я Вам подсовываю датасеты, удовлетворяющие заданным Вами же свойствам.
На всякий случай - какое в точности утверждение Вы хотите доказать?
Что "на связанных по Жаккарду датасетах перцептрон не переобучается"? Это неправда.
Что "на нравящихся tac датасетах перцептрон не переобучается"? Это, возможно, правда. Но остается вопрос, как нам, перед запуском модели в продакшн, проверить, что данные, которые будут приходить от пользователей Вам понравятся :)
(и еще - что делать с задачами, которые Вам не нравятся, но которые решать надо; ну и до кучи - а существуют ли полезные для практики задачи, которые Вам нравятся)

 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 19:57 
mihaild в сообщении #1708501 писал(а):
А как считается RField?
Я думал как Rfield[j] это сумма WeightAR[i][j] * AField[i] по i. Нет?


Если AField[i] у вас это уже 0 или 1, то да.

mihaild в сообщении #1708501 писал(а):
Если да, то, т.к. AField[i] не зависит от j


От j они не зависят, но когда сменится следующий пример, сменится всё AField, сумма будет другая, и я уже в третий раз пишу, что WeightAR[i][0] корректировать не нужно будет, а WeightAR[i][1] нужно, ничего синхронно там меняться не будет.

Но до реализуйте свою реализацию и посмотрите какие там веса.

Под руками реализация на С++, но думаю вы разберетесь
Код:

        for (; j < argRCount; j++)
        {
            float sum = 0.0f;
            float* weightsRow = argWeight + j * argACount;

            for (int i = 0; i < argACount; i++)
            {
                if (argAField[i] > threshold)
                {
                    sum += weightsRow[i];
                }
            }
            argRField[j] = sum;
        }


 
 
 
 Re: О перцептроне Розенблатта
Сообщение07.11.2025, 20:05 

(Оффтоп)

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

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


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