Пусть также вероятности каждой из гипотез в голом виде мы знаем, потому что мы их априорно (до опыта) предположили.
Справедливо, что только априорное знание вероятностей гипотез нас не устраивает (иначе можно было бы жонглировать вероятностями, как мячами или мандаринами и жить в мире, который подчинен воле предположений), и мы хотим знать вероятность апостериорную:
какова вероятность того, что при исполнении именно гипотезы Hj (уж очень она нам понравилась, в шляпке), А произойдет?
Ответом на этот вопрос занялся Томас Байес, и теперь, благодаря ему, мы можем сколь угодно ближе к реальности вычислять апостериорные вероятности через априорные.
Разбираемся как:
Поскольку определенные выше гипотезы Hi связаны с А, то есть образовывают его, то полная вероятность события А, на самом деле это вероятность наступления одного из множества-событий “гипотеза с H номером i и само А”. На языке теории вероятностей это есть правило сложения:
А = Р(АН1) + Р(АН2) + Р(АН3) + ….. +Р(АНn) =1
где P(АНi) — обозначение вероятности события “гипотеза с номером i и само А”. Единица справа потому что само А точно происходит.
Выделим, с событием А, интересующую нас гипотезу Hj, то есть слагаемое Р(АНj). По, так сказать, факту нас интересует вероятность того, что все другие гипотезы не произошли, или:
Р(АНj) = 1 - (неР(АН1) + неР(АН2) ….. +неР(АНn)).
Теперь вспомним наше чудесное правило умножения и посчитаем-таки, как выглядит событие Р(АНj). Не ошибемся, что так:
Р(АНj) = P(A)*P(Hj|A) =Р(Hj)*P(A|Hj)
Немножко перевода с математического.
P(Hj|A)
Вероятность исполнения гипотезы Hj при условии, что А произошло, то есть апостериорная вероятность.
P(A|Hj)
Вероятность исполнения события А при условии, что гипотеза Нj верна.
Сделав пару нехитрых математических приемов мы берем интересующую нас вероятность и получаем заключения на картинке:
Справедливо, что только априорное знание вероятностей гипотез нас не устраивает (иначе можно было бы жонглировать вероятностями, как мячами или мандаринами и жить в мире, который подчинен воле предположений), и мы хотим знать вероятность апостериорную:
какова вероятность того, что при исполнении именно гипотезы Hj (уж очень она нам понравилась, в шляпке), А произойдет?
Ответом на этот вопрос занялся Томас Байес, и теперь, благодаря ему, мы можем сколь угодно ближе к реальности вычислять апостериорные вероятности через априорные.
Разбираемся как:
Поскольку определенные выше гипотезы Hi связаны с А, то есть образовывают его, то полная вероятность события А, на самом деле это вероятность наступления одного из множества-событий “гипотеза с H номером i и само А”. На языке теории вероятностей это есть правило сложения:
А = Р(АН1) + Р(АН2) + Р(АН3) + ….. +Р(АНn) =1
где P(АНi) — обозначение вероятности события “гипотеза с номером i и само А”. Единица справа потому что само А точно происходит.
Выделим, с событием А, интересующую нас гипотезу Hj, то есть слагаемое Р(АНj). По, так сказать, факту нас интересует вероятность того, что все другие гипотезы не произошли, или:
Р(АНj) = 1 - (неР(АН1) + неР(АН2) ….. +неР(АНn)).
Теперь вспомним наше чудесное правило умножения и посчитаем-таки, как выглядит событие Р(АНj). Не ошибемся, что так:
Р(АНj) = P(A)*P(Hj|A) =Р(Hj)*P(A|Hj)
Немножко перевода с математического.
P(Hj|A)
Вероятность исполнения гипотезы Hj при условии, что А произошло, то есть апостериорная вероятность.
P(A|Hj)
Вероятность исполнения события А при условии, что гипотеза Нj верна.
Сделав пару нехитрых математических приемов мы берем интересующую нас вероятность и получаем заключения на картинке:
👍2
Всё кажется супер-простым. И это так : ) А теперь…
Байес в машинном обучении. Наивный Байесовский классификатор.
Если вы чуть устали к этому моменту — не переживайте. Буквально 5 минут и совсем знакомые вам вещи.
На чём основан наивный Байес?
Пусть у нас есть целевая переменная С, и вектор признаков Fi. Дружной гурьбой они образовывают одно большое событие (CF1F2F3…Fn).
Какова вероятность С, при условии, что вектор признаков F1F2F3…Fn определился определенным образом?) (надеюсь здесь вы улыбаетесь)
Байес в машинном обучении. Наивный Байесовский классификатор.
Если вы чуть устали к этому моменту — не переживайте. Буквально 5 минут и совсем знакомые вам вещи.
На чём основан наивный Байес?
Пусть у нас есть целевая переменная С, и вектор признаков Fi. Дружной гурьбой они образовывают одно большое событие (CF1F2F3…Fn).
Какова вероятность С, при условии, что вектор признаков F1F2F3…Fn определился определенным образом?) (надеюсь здесь вы улыбаетесь)
В чём наивность наивного Байеса?
В предположении о независимости, не влиянии друг на друга признаков. Это в свою очередь, не учитывает вероятность каждой фичи, при условии, что другие выглядят каким-то образом и предполагает зависимости Fi для любой i только от класса С.
Так ли работают Байесовские модели?
Нет. Они в том числе, как минимум, учитывают и влияние признаков друг на друга, как максимум — иные параметры. Отсюда мы получаем приближения поразительно близкие к реальным.
А вот какие — как только буду компетентна, напишу обязательно!
Такой воскресный дата-пост, друзья! С опозданием, зато большущий и богатый на информацию (надеюсь)!
Точных вам классификаций,
Ваш дата-автор! : )
В предположении о независимости, не влиянии друг на друга признаков. Это в свою очередь, не учитывает вероятность каждой фичи, при условии, что другие выглядят каким-то образом и предполагает зависимости Fi для любой i только от класса С.
Так ли работают Байесовские модели?
Нет. Они в том числе, как минимум, учитывают и влияние признаков друг на друга, как максимум — иные параметры. Отсюда мы получаем приближения поразительно близкие к реальным.
А вот какие — как только буду компетентна, напишу обязательно!
Такой воскресный дата-пост, друзья! С опозданием, зато большущий и богатый на информацию (надеюсь)!
Точных вам классификаций,
Ваш дата-автор! : )
🔥6
Привет, друзья!
Поговорим о матрицах?
и я завела тэг #Математика
Задумавшись, с чем ассоциировать матрицы я почему-то вспомнила не фильм, а свою бабушку, которая в поезда часто берет судоку.
Что интересно, потом меня чуть-чуть унесло в википедию, и я обнаружила, что игра судоку вдохновлена структурой, внесенной математиком Леонард Эйлером. Называлась эта структура латинский квадрат.
И улыбнул меня не просто факт привязанности судоку, таблицы чисел, к миру математиков. История матриц гласит, что по некоторым данным, первые из них упоминались ещё в древнем Китае и назывались квадратом волшебным.
Вот так. Латинский и волшебный квадраты.
Похоже история структуры, которую мы называем матрицей, началась с тяги людей к идеально-ровной фигуре, с идеальным рядом чисел, а сейчас, в 21 веке, матрица, совершенно не ровная, с численно-хаотичным заполнением, и даже далеко не квадратная, не менее прекрасна и волшебна, чем древний магический квадрат.
Матрицей А размерности m строк на n столбцов называется таблица, в которой на пересечении каждой строки и каждого столбца стоят в частном случае числа, а в общем случае элементы (смотрите картинку 1).
Это определение никогда не приводило меня в восторг. Хоть и формально всё в нём верно, оно как будто обижает матрицы. Поэтому я сходу предлагаю вам другое. Как обезумевший математик, залетевший в аудиторию с ноги и со стопкой листов А4.
Линейным отображением векторного пространства V над полем чисел в векторное пространство W над тем же полем чисел называется отображение, f: V -> W.
Запись действия линейного отображения на объект векторного пространства W выражается матрицей линейного отображения (смотрите картинку 2).
Много линейности, правда? Но я-то знаю, что мы с вами хороши и мощны, ведь с одним из героев этого определения мы уже знакомы. Это вектор. И значат все эти “слова на математическом” ровно то, что:
1. У нас есть два векторных пространства;
2. Мы переходим из одного в другое или исследуем как это сделать;
На картинке это выглядит так (картинка 3).
Поговорим о матрицах?
и я завела тэг #Математика
Задумавшись, с чем ассоциировать матрицы я почему-то вспомнила не фильм, а свою бабушку, которая в поезда часто берет судоку.
Что интересно, потом меня чуть-чуть унесло в википедию, и я обнаружила, что игра судоку вдохновлена структурой, внесенной математиком Леонард Эйлером. Называлась эта структура латинский квадрат.
И улыбнул меня не просто факт привязанности судоку, таблицы чисел, к миру математиков. История матриц гласит, что по некоторым данным, первые из них упоминались ещё в древнем Китае и назывались квадратом волшебным.
Вот так. Латинский и волшебный квадраты.
Похоже история структуры, которую мы называем матрицей, началась с тяги людей к идеально-ровной фигуре, с идеальным рядом чисел, а сейчас, в 21 веке, матрица, совершенно не ровная, с численно-хаотичным заполнением, и даже далеко не квадратная, не менее прекрасна и волшебна, чем древний магический квадрат.
Матрицей А размерности m строк на n столбцов называется таблица, в которой на пересечении каждой строки и каждого столбца стоят в частном случае числа, а в общем случае элементы (смотрите картинку 1).
Это определение никогда не приводило меня в восторг. Хоть и формально всё в нём верно, оно как будто обижает матрицы. Поэтому я сходу предлагаю вам другое. Как обезумевший математик, залетевший в аудиторию с ноги и со стопкой листов А4.
Линейным отображением векторного пространства V над полем чисел в векторное пространство W над тем же полем чисел называется отображение, f: V -> W.
Запись действия линейного отображения на объект векторного пространства W выражается матрицей линейного отображения (смотрите картинку 2).
Много линейности, правда? Но я-то знаю, что мы с вами хороши и мощны, ведь с одним из героев этого определения мы уже знакомы. Это вектор. И значат все эти “слова на математическом” ровно то, что:
1. У нас есть два векторных пространства;
2. Мы переходим из одного в другое или исследуем как это сделать;
На картинке это выглядит так (картинка 3).
❤4
Что ж. Я обещала сделать дата-пост с привязкой с машинному обучению и слово держу. Перейдем от абстракции к делу и представим, что у нас есть набор данных из 6 наблюдений, по каждому из которых известны 2 параметра и целевой признак.
Поставщик данных (пусть он будет нашим китайским товарищем) убежден, что признаки связаны с целевой переменной как-то линейно, но как — он не знает и предлагает нам решить задачу.
Представим также, что доступ к sklearn нам заблокирован (не дай Боже), а задачу надо решить здесь и сейчас.
Вздохнем, возьмем бумажку и перепишем ситуацию (картинка).
Поставщик данных (пусть он будет нашим китайским товарищем) убежден, что признаки связаны с целевой переменной как-то линейно, но как — он не знает и предлагает нам решить задачу.
Представим также, что доступ к sklearn нам заблокирован (не дай Боже), а задачу надо решить здесь и сейчас.
Вздохнем, возьмем бумажку и перепишем ситуацию (картинка).
❤2
Обратите внимание в правый верхний угол картинки..: ) Систему уравнений, которую дал нам товарищ и задачу, которую он поставил, можно переформулировать так:
В результате действия линейного отображения А на каждый объект пространства X, измеренный по двум координатам, получаются значения из пространства Y.
Необходимо: найти правило, которое определяет действие линейного отображения.
Что также эквивалентно системе уравнений: X*x = y.
Во избежание дублирования, изменим обозначение x малое, на малое w. Получается такая задача:
X*w = y
где найти необходимо в точности вектор w.
Теперь перейдем к языку классического алгоритма машинного обучения — линейной регрессии и заметим, что задача обращается в
найти вектор весов w, который для каждого наблюдения X обеспечит его сопоставление с целевой координатой y.
Чувствуете? Только что, бодро и весело, мы перешли с вами к системе линейных уравнений в матричном виде.
Как её решить?
Ответ: Избавиться от X справа равным соотношением, иначе говоря, получить перед w единицу. Сделать это можно при помощи обратного элемента. Не пугайтесь, обратные ребята знакомы нам из школы, например обратный к 5 — это 1/5, обратный к 1/7 — 7. Иными словами, обратными друг к другу называются элементы, дающие в произведении единицу.
В случае матриц единицей считается матрица единичная — матрица, у которой на главной диагонали стоят единицы, а все остальные элементы равны 0.
И так, нам нужно найти такую матрицу, которая в произведении с исходной даст единицу, то есть матрицу, обратную к данной.
Обратные матрицы существуют только у квадратных матриц. Но это не проблема, поскольку при помощи операций умножения матриц и транспонирования мы можем преобразовать нашу матрицу к квадратной и уже к этой квадратной отыскать обратную. Тогда наше решение будет выглядеть так:
В результате действия линейного отображения А на каждый объект пространства X, измеренный по двум координатам, получаются значения из пространства Y.
Необходимо: найти правило, которое определяет действие линейного отображения.
Что также эквивалентно системе уравнений: X*x = y.
Во избежание дублирования, изменим обозначение x малое, на малое w. Получается такая задача:
X*w = y
где найти необходимо в точности вектор w.
Теперь перейдем к языку классического алгоритма машинного обучения — линейной регрессии и заметим, что задача обращается в
найти вектор весов w, который для каждого наблюдения X обеспечит его сопоставление с целевой координатой y.
Чувствуете? Только что, бодро и весело, мы перешли с вами к системе линейных уравнений в матричном виде.
Как её решить?
Ответ: Избавиться от X справа равным соотношением, иначе говоря, получить перед w единицу. Сделать это можно при помощи обратного элемента. Не пугайтесь, обратные ребята знакомы нам из школы, например обратный к 5 — это 1/5, обратный к 1/7 — 7. Иными словами, обратными друг к другу называются элементы, дающие в произведении единицу.
В случае матриц единицей считается матрица единичная — матрица, у которой на главной диагонали стоят единицы, а все остальные элементы равны 0.
И так, нам нужно найти такую матрицу, которая в произведении с исходной даст единицу, то есть матрицу, обратную к данной.
Обратные матрицы существуют только у квадратных матриц. Но это не проблема, поскольку при помощи операций умножения матриц и транспонирования мы можем преобразовать нашу матрицу к квадратной и уже к этой квадратной отыскать обратную. Тогда наше решение будет выглядеть так:
❤1
Решив всё численно найдем зависимость и, умножив всё это дело для новых точек, визуально получим следующее:
Привет, друзья!
В картинках — официальные результаты хакатона. Довольна — это моё первое личное участие🐒
Завтра по следам напишу пост и скину ссылку на решение и презентацию!
В картинках — официальные результаты хакатона. Довольна — это моё первое личное участие🐒
Завтра по следам напишу пост и скину ссылку на решение и презентацию!
🔥9❤5
По следам хакатона. Цифровой прорыв 2022.
Привет и доброго вам вечера, друзья!
Долго думала, как назвать формат сегодня. “Делюсь опытом” мне не нравилось, как не крутила, и я выбрала Делюсь соревновательными дата-наблюдениями.
Надеюсь, они будет вам полезны! Поехали!
Моя история с хакатонами начиналась и не заканчивалась даже загрузкой одного результата не один раз. Моими проблемами здесь были такие:
1. Командные нюансы. Здесь стоп-факторы:
- неравномерное распределение обязанностей внутри команды — когда коэффициенты нагрузки не равны даже приближенно. Да, иногда на хакатон важно просто добрать до заветного числа участников в команде, но здесь надо быть трезво готовым к самостоятельной (парной/тройной/etc) работе и оговорить, с теми, кто не участвует в решении, взятие дизайнерских или представительных обязанностей.
- недостаточно разнообразное множество навыков внутри команды;
По набитому — хорошо, когда в команде специалисты разных сфер, особенно если хакатон многоэтапный (частный чемпионат, полуфинал, финал). Иной раз после привычной задачи, например обучения модели и анализа данных, можно столкнуться с задачей непривычной — например, сделать веб-сервис, в котором она будет работать.
Что могу посоветовать:
Собирайте команду друзей, друзья! Разных, прекрасных в своём, друзей. Разговаривайте внутри команды, разделяйте задачи и подкрепляйте соревновательный дух друг друга.
2. Самооценка.
Здесь стоп-факторы в точности только поведенческие и связанные с личным самовосприятием. Они звучат, как “я одна всё равно не приведу качественного решения”, “а что если решение моё будет смешным”, “а я этого давно не делала”.
Кто читает меня в инстаграм, знают, что я работаю над собой и к текущей точке почти уже не слышу этих мыслей внутри. Хакатон — это прежде всего извлекаемый опыт. Это возможность погрузиться в новую историю, описанную цифрами, буквами и распределениями. Это шанс стать лучше и возможность провести время с тем, что любишь. И здесь мне очень нравятся строки из песни:
На табличке надпись - "весь мир — это репетиция"...
…
Пока я думал, что подумают они
Люди думали о том, что подумал я о них
От создания всей человеческой возни
Не было чистовика тут, бесконечный черновик…
Поэтому танцуй, не жалея ног
Счастье может быть мимо ритмов и нот
Слова любви никак не утратят надежду
Оттого, что нацарапаны коряво и небрежно
В этом соревновании я участвовала максимально так, как умею и писала решение так, как его ощущала. И я довольна — кроме хорошего места, у меня теперь есть важные наблюдения, и даже если место было бы ниже, я бы вряд ли расстроилась — ценность знаний и анализа ошибок выше, чем категория цифровой грамоты.
Привет и доброго вам вечера, друзья!
Долго думала, как назвать формат сегодня. “Делюсь опытом” мне не нравилось, как не крутила, и я выбрала Делюсь соревновательными дата-наблюдениями.
Надеюсь, они будет вам полезны! Поехали!
Моя история с хакатонами начиналась и не заканчивалась даже загрузкой одного результата не один раз. Моими проблемами здесь были такие:
1. Командные нюансы. Здесь стоп-факторы:
- неравномерное распределение обязанностей внутри команды — когда коэффициенты нагрузки не равны даже приближенно. Да, иногда на хакатон важно просто добрать до заветного числа участников в команде, но здесь надо быть трезво готовым к самостоятельной (парной/тройной/etc) работе и оговорить, с теми, кто не участвует в решении, взятие дизайнерских или представительных обязанностей.
- недостаточно разнообразное множество навыков внутри команды;
По набитому — хорошо, когда в команде специалисты разных сфер, особенно если хакатон многоэтапный (частный чемпионат, полуфинал, финал). Иной раз после привычной задачи, например обучения модели и анализа данных, можно столкнуться с задачей непривычной — например, сделать веб-сервис, в котором она будет работать.
Что могу посоветовать:
Собирайте команду друзей, друзья! Разных, прекрасных в своём, друзей. Разговаривайте внутри команды, разделяйте задачи и подкрепляйте соревновательный дух друг друга.
2. Самооценка.
Здесь стоп-факторы в точности только поведенческие и связанные с личным самовосприятием. Они звучат, как “я одна всё равно не приведу качественного решения”, “а что если решение моё будет смешным”, “а я этого давно не делала”.
Кто читает меня в инстаграм, знают, что я работаю над собой и к текущей точке почти уже не слышу этих мыслей внутри. Хакатон — это прежде всего извлекаемый опыт. Это возможность погрузиться в новую историю, описанную цифрами, буквами и распределениями. Это шанс стать лучше и возможность провести время с тем, что любишь. И здесь мне очень нравятся строки из песни:
На табличке надпись - "весь мир — это репетиция"...
…
Пока я думал, что подумают они
Люди думали о том, что подумал я о них
От создания всей человеческой возни
Не было чистовика тут, бесконечный черновик…
Поэтому танцуй, не жалея ног
Счастье может быть мимо ритмов и нот
Слова любви никак не утратят надежду
Оттого, что нацарапаны коряво и небрежно
В этом соревновании я участвовала максимально так, как умею и писала решение так, как его ощущала. И я довольна — кроме хорошего места, у меня теперь есть важные наблюдения, и даже если место было бы ниже, я бы вряд ли расстроилась — ценность знаний и анализа ошибок выше, чем категория цифровой грамоты.
👍3
Теперь к тем самым формальным и специфическим наблюдениям.
1. Лидерборд, финальный тестовый набор данных и лучшая модель.
Если лидерборд разделен на публичную и приватную части, вторая из названных открывается только после соревнования, не всегда стоит ориентироваться на метрику поданной загрузки.
Чтобы понять, как она может повести себя потом, при вычислении на всех данных, релевантно рассмотреть распределения признаков на всем обучающем+валидационном (1) и финальном тестовом (2) датасете.
Если в спроектированных вами признаках виден сильный distribution shift (несогласованность распределений), то нужно либо ресемплировать набор данных 1, либо продумать другие features.
Кроме того, лучшую модель релевантно выбирать таким образом, чтобы она была наиболее точной при кросс-валидации уже после коррекции согласия распределений в вашем личном ноутбуке.
Такая модель не обязательно будет отдавать лучшую метрику по лидерборду (потому что не понятно, каково разбиение финального тестового набора на public и private части), но она будет известно устойчива к полной части, отработав ближе к валидационным метрикам.
2. Личная эффективность.
Не стоит настраивать себя на участие за призом, предпосылка решить реальную задачу и получить реальный результат своего решения помогает быть продуктивнее и на пике возможностей.
Кроме того, отличным пунктом к повышению интереса может быть запуск baseline-модели. Всё-таки, когда вот, они перед тобой, и ты видишь одни цифры метрики, запал получить другие кратно растёт : )
Вот так, друзья! Сегодня почти что кратко.
Решение прилагаю, презентацию решения тоже, хотя по причине моего шаткого пункта 2 части поста 1, скрипя сердцем) Но! Во благо =)
Буду рада конструктивным оценкам или если решение вам что-то напомнит - на пункте лидерборда, лучшей модели и согласия распределения признаков, я, как вы можете там увидеть, точно попалась.
Будьте смелыми, друзья! Пробуйте и идите вперёд.
Со всем самым тёплым,
Ваш дата-автор.
1. Лидерборд, финальный тестовый набор данных и лучшая модель.
Если лидерборд разделен на публичную и приватную части, вторая из названных открывается только после соревнования, не всегда стоит ориентироваться на метрику поданной загрузки.
Чтобы понять, как она может повести себя потом, при вычислении на всех данных, релевантно рассмотреть распределения признаков на всем обучающем+валидационном (1) и финальном тестовом (2) датасете.
Если в спроектированных вами признаках виден сильный distribution shift (несогласованность распределений), то нужно либо ресемплировать набор данных 1, либо продумать другие features.
Кроме того, лучшую модель релевантно выбирать таким образом, чтобы она была наиболее точной при кросс-валидации уже после коррекции согласия распределений в вашем личном ноутбуке.
Такая модель не обязательно будет отдавать лучшую метрику по лидерборду (потому что не понятно, каково разбиение финального тестового набора на public и private части), но она будет известно устойчива к полной части, отработав ближе к валидационным метрикам.
2. Личная эффективность.
Не стоит настраивать себя на участие за призом, предпосылка решить реальную задачу и получить реальный результат своего решения помогает быть продуктивнее и на пике возможностей.
Кроме того, отличным пунктом к повышению интереса может быть запуск baseline-модели. Всё-таки, когда вот, они перед тобой, и ты видишь одни цифры метрики, запал получить другие кратно растёт : )
Вот так, друзья! Сегодня почти что кратко.
Решение прилагаю, презентацию решения тоже, хотя по причине моего шаткого пункта 2 части поста 1, скрипя сердцем) Но! Во благо =)
Буду рада конструктивным оценкам или если решение вам что-то напомнит - на пункте лидерборда, лучшей модели и согласия распределения признаков, я, как вы можете там увидеть, точно попалась.
Будьте смелыми, друзья! Пробуйте и идите вперёд.
Со всем самым тёплым,
Ваш дата-автор.
❤1