Pull to refresh
0
0
Еркебулан Бердибеков @erko

Пользователь

Send message
Как в блоге DeepMind писали, только начинают работу. Вместе с Blizzard собираются сделать API для взаимодействия с Starcraft 2 и сделать открытым для всех.
Кстати, в данный проходит соревнование по ботам для http://sscaitournament.com/. Правда, тут первая версия игры. Но там имеется собранная база игр.
Roman_Kh,
Не вижу противоречии в своем утверждении. Да, излишнее было указывать МНК, но это не означает что в МНК в общем решении верно использвание ridge-регрессия.

В википедии: The standard approach is ordinary least squares linear regression. However, if no x satisfies the equation or more than one x does—that is the solution is not unique—the problem is said not to be well posed.
Вот в таком случае можно использовать ridge-regression.

В публикации: Biased Estimation for
Nonorthogonal Problems — само название говорит что решение будет пристрастным. Да в некоторых случаях вынуждены добавлять пристрастность, так как данные могут быть статистически не полными.
Иными словами (пусть и несколько некорректно) ..

Ну именно о данном утверждении yorko не согласен был.
Не за что!
«Смысл приминения в том что при переобучении нелинейных функции значения весов сильно увеличиваются.» — тут я вообще не вкурил.
Спасибо, что пояснили, что такое переобучение!

В же не были согласны с тем что при одном из вариантов переобучения веса будут увеличиваться.
Что вы имеете в виду под нелинейностью?
Ridge-регрессия — все еще линейная, и даже существующее у нее аналитическое решение линейно по ответам

Стоит добавить — в случае Метода Наименьших Квадратов.

Для линейных обычно есть аналитическое решение. В случае МНК, только в отдельных случаях является приемлимым вариант с ridge-regression.
«In a Bayesian context, this is equivalent to placing a zero-mean normally distributed prior on the parameter vector.».
Будет перекос в решении на нормальное распределение (с центром 0) в значении веса, что очевидно так как мы добавили квадрат этого веса.

О L2 регуляризации линейной функции наглядно:
image
Имеется линеяная функция y=Ax + b.
Если добавить L2 регуляризацию, то в решении будет браться коэффицент с меньшим весом (чем среднее отклонение) так как мы добавили в ошибку квадратичное значение. В нашей формуле из многих значении A — перекос будет в сторону меньших значении. Что неверно в общем случае.
Ведите себя профессионально, не нравится когда указывают на провалы в знании?
Не знаете как ведет себя сеть при переобучении? Однако, data scientist-ы.
Для чего тогда тут сделаны дискусии, если уходите от нормального обсуждения.
«Смысл приминения в том что при переобучении нелинейных функции значения весов сильно увеличиваются.» — тут я вообще не вкурил.

Извините, что я пишу не ясно.
При переобучении сеть начинается подгонятся под обучаемую выборку. В этом процессе, значении весов будут увеличиваться, функция сети (hypothesis function) будет все более и более сложной. Например от линейной к квадратичным, до десятой степени и т.п.
image
График слева: черная линия — функция сети, жирные точки — обучаемая выборка, x — тестовая выборка.
Для решения данной проблемы, ограничивают область возможных значении для весов от начала координат (origin).
Надеюсь, выразился яснее.
yorko, спасибо за комментарий. Теперь можно аргументировать в интернете :)
Как указал Роман, тут sqr — сокращенное от square. (sqrt — square root) Я предполагаю минус был именно за это…
Язык программирование тут не причем, я мог написать как сам пишу используя tensorflow в питоне:
  loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits, tf_train_labels))
        
  # L2 regularization for fully connected layer
  regularizers = (tf.nn.l2_loss(fc1_weights)
                        tf.nn.l2_loss(fc2_weights))
  loss += 5e-4 * regularizers

Но решил использовать нечто вроде псевдо кода.
loss = cross_entry(predictions, y) + lamda * sqr(w)


В общем смысл не меняется, можно в функцию ошибки, например кросентропии (log likelihood) либо среднего квадратичного отклонения (mean squared error) добавить нужную нам критерии регуляризации.
Написал комментарии 28-го — был на модерации. Автору Roman_Kh видимо не понравилось что я указал на неверное использование L2 регуляризации (для линейной функции) и не стал одобрять комментарий. Хабр только сегодня по запросу одобрил.
Не согласны/убеждены что я неверно описал? Можно вместе с минусом написать комментарии с чем не согласны…
L2 регуляризация — это дополнительный критерий в функции ошибки обучения:
loss = cross_entry(predictions, y) + lamda * sqr(w)

Цель оптимизации — минимизировать функцию ошибки, и тут играет роль сами значения весов. Чем больше веса, тем больше ошибка.
L2 регулярузацию используют в случае если имеются нелинейные функции. В данном случае автору незачем использовать L2. Смысл приминения в том что при переобучении нелинейных функции значения весов сильно увеличиваются.

L1 регуляризация — тоже дополнительный критерии в функции ошибки. Только в данном случае добавляется ошибка не квадратичные значения а абсолютное значения весов, и «подталкивает» функции иметь меньше значения и меньше не нулевых значении. Тем самым вызывает разреженность в матрице весов.
loss = cross_entropy(predictions, y) + lambda * abs(w)

Интересно, что и в КЗ есть нужда в машинном обучении.

По статье было бы интересно узнать детали:
(Я изучаю машинное обучение как хобби и не собираюсь вытянуть вашу коммерческую новизну)
— Каким инструментом пользуетесь (TF, Theano, или самописный)?
— Какой объем текста в датасете и какой результат в известных/открытых датасетах выдает модель нейросети вашей компаний?
— Как я понял в вашей модели не используете LSTM, а предыдущий вывод передаете во вход текущего выполнения. Не считаете ли, что тут в вашей системе кроется проблема в случае длинных предложений (не запоминает больше 7(?) слов)?
— Такая реализация как бы запоминает информацию внутри модели. Т.е. возможность запоминания зависит напрямую от размера сети. Так если ваша модель fullyconnected — то на сложных задачах просто не будет запоминать высокоуровневую информацию, либо потребуется очень много времения для обучения большой сети.
В твиттере SpaceX писали:
«Photographer unexpectedly captures Falcon 9 second stage burn and first stage entry»

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Date of birth
Registered
Activity