Доброй ночи, товарищи!
Я тут подумала, что многие из вас наверное не знают моей темы на диплом (ну либо я ее уже озвучила и забыла об этом🙃)
Так вот, я решила работать над «методом грубого позиционирования беспилотных аппаратов». Входными данными служит огромный снимок местности со спутника (предполагается, что только по этой территории будет летать б/а), параметры беспилотника (текущее значение компаса, высота полёта, наклон и тд), и каждый момент времени поступает снимок текущей местности, где находится б/а.
Звучит очень грандиозно, но куда двигаться - непонятно😬
Пока что я написала простецкий алгоритм, который сравнивает изображения методом вычитания одного из другого. Даже можно задать шаг, с которым будет сдвигаться меньшая картинка на большей. Получается такой супер усложнённый полный перебор…
Работает он, конечно, достаточно долго (порядка 2 секунд с изображениями 1600х600 и 400х300 и шагом в 100 пикселей).
На данный момент я знаю только одно альтернативное решение этой задачи - разбор задачки с RuCode не помню какого года (вроде даже 2021). Но минус этого решения в том, что там используется нейронка , натренированная на датасете из 800 картинок.
Если я захочу применить это решение к поставленной задаче, сразу возникает вопрос: где я буду брать каждый раз обучающую выборку из ~500 картинок для абсолютно рандомной местности? Окей, всегда можно воспользоваться моим любимым вариантом - использовать синтетический датасет😂 Берём исходное изображение со спутника, нарезаем кучу ~300 картинок одинакового размера с разных участков этой местности. Оставшиеся 200 генерирует с помощью поворотов и различных фильтров (такое даже описывалось в разборе к той задаче рукода). И вуаля, можно обучать нейронку😎 Однако, на обучение нейронки может уходить от 1 дня до целой недели. А что, если беспилотник нужно запустить уже через час? Будет ли время на подготовку нейронки? А если беспилотник будет иметь возможность постоянно менять местность, по которой он летает(просто каждый раз получать новое исходное изображение)? Учить нейронку налету методом взлетов и падений?😂😂😂
Все, что остаётся сейчас делать - рыть инфу для поиска альтернативных решений на похожие задачи, ну и конечно пытаться придумать самой какой-то гениальный алгоритм)))
¡Buenas noches, amigos!
#about_ml
Я тут подумала, что многие из вас наверное не знают моей темы на диплом (ну либо я ее уже озвучила и забыла об этом🙃)
Так вот, я решила работать над «методом грубого позиционирования беспилотных аппаратов». Входными данными служит огромный снимок местности со спутника (предполагается, что только по этой территории будет летать б/а), параметры беспилотника (текущее значение компаса, высота полёта, наклон и тд), и каждый момент времени поступает снимок текущей местности, где находится б/а.
Звучит очень грандиозно, но куда двигаться - непонятно😬
Пока что я написала простецкий алгоритм, который сравнивает изображения методом вычитания одного из другого. Даже можно задать шаг, с которым будет сдвигаться меньшая картинка на большей. Получается такой супер усложнённый полный перебор…
Работает он, конечно, достаточно долго (порядка 2 секунд с изображениями 1600х600 и 400х300 и шагом в 100 пикселей).
На данный момент я знаю только одно альтернативное решение этой задачи - разбор задачки с RuCode не помню какого года (вроде даже 2021). Но минус этого решения в том, что там используется нейронка , натренированная на датасете из 800 картинок.
Если я захочу применить это решение к поставленной задаче, сразу возникает вопрос: где я буду брать каждый раз обучающую выборку из ~500 картинок для абсолютно рандомной местности? Окей, всегда можно воспользоваться моим любимым вариантом - использовать синтетический датасет😂 Берём исходное изображение со спутника, нарезаем кучу ~300 картинок одинакового размера с разных участков этой местности. Оставшиеся 200 генерирует с помощью поворотов и различных фильтров (такое даже описывалось в разборе к той задаче рукода). И вуаля, можно обучать нейронку😎 Однако, на обучение нейронки может уходить от 1 дня до целой недели. А что, если беспилотник нужно запустить уже через час? Будет ли время на подготовку нейронки? А если беспилотник будет иметь возможность постоянно менять местность, по которой он летает(просто каждый раз получать новое исходное изображение)? Учить нейронку налету методом взлетов и падений?😂😂😂
Все, что остаётся сейчас делать - рыть инфу для поиска альтернативных решений на похожие задачи, ну и конечно пытаться придумать самой какой-то гениальный алгоритм)))
¡Buenas noches, amigos!
#about_ml
Хочу поделиться первыми результатами разработки диплома)
Исходное изображение 1280х497 Яндекс карты
Сравниваемое изображение
400х300 Гугл карты
Масштаб карты на фотках одинаковый - 1 км
1 фото результат: «тепловая карта» с шагом в 101 пиксель, время работы - 2.4 сек.
2 фото результат: «тепловая карта» с шагом в 21 пиксель, время работы - 28.2 сек.
#about_ml
Исходное изображение 1280х497 Яндекс карты
Сравниваемое изображение
400х300 Гугл карты
Масштаб карты на фотках одинаковый - 1 км
1 фото результат: «тепловая карта» с шагом в 101 пиксель, время работы - 2.4 сек.
2 фото результат: «тепловая карта» с шагом в 21 пиксель, время работы - 28.2 сек.
#about_ml
👍6
Я попыталась решить пробник в ШАД😅😅😅
Ну… я решила первую задачу😂
А ещё правильно думала в направлении 5 задачи🤣
Лан, посмотрю завтра разбор и буду на шаг ближе к цели😎
Вариант оставлю ниже, вдруг кому тоже будет интересно попробовать себя👇👇👇
#info
Ну… я решила первую задачу😂
А ещё правильно думала в направлении 5 задачи🤣
Лан, посмотрю завтра разбор и буду на шаг ближе к цели😎
Вариант оставлю ниже, вдруг кому тоже будет интересно попробовать себя👇👇👇
#info
Что-то я совсем пропала😅
Продолжая тему о дипломе, расскажу Вам о изученных мною существующих решений похожих задач.
1. Решение, о котором я уже говорила - обучение нейронки на датасете из 800 картинок. Изучая подробнее, я заметила, что в аннотации обучающей выборки находятся не только координаты снимка относительно карты местности, но и угол поворота к ней.
Для меня это решение совсем не подходит. Как я уже говорила, никто не будет обучать БПЛА на определённую местность. Единственный плюс этого решения: выборка содержит фотографии в различные промежутки времени и различные погодные условия, что было бы полезно учитывать в ходе работы алгоритма.
2. Использование простейшей сверточной сети PyTorch без обучения. Использовалось свойство ядер сверточных сетей: если паттерн входного изображения совпадает с ядром, свертка с ним дает максимальный результат. В качестве ядер использовались сами входные изображения.
Этот метод решает проблему с обучением предыдущего метода. Но в противовес появляется другая: тк не учитывается поворот угла изображения, приходится перебирать все 360 ориентаций. Из-за чего может гораздо сильно возрасти время обработки.
3. Последнее решение, на мой взгляд, самое привлекательное - использование афинно инвариантного A-SIFT (масштабно-инвариантная трансформация признаков). Само решение - это поиск ближайшего соседа по метрике отношения количества сопоставленных ключевых точек к общему их числу.
Как я поняла, эта штука даже учитывает масштаб. Честно говоря, плохо разобралась в этом решении, но именно его я хочу пробовать первым:)
#about_ml
Продолжая тему о дипломе, расскажу Вам о изученных мною существующих решений похожих задач.
1. Решение, о котором я уже говорила - обучение нейронки на датасете из 800 картинок. Изучая подробнее, я заметила, что в аннотации обучающей выборки находятся не только координаты снимка относительно карты местности, но и угол поворота к ней.
Для меня это решение совсем не подходит. Как я уже говорила, никто не будет обучать БПЛА на определённую местность. Единственный плюс этого решения: выборка содержит фотографии в различные промежутки времени и различные погодные условия, что было бы полезно учитывать в ходе работы алгоритма.
2. Использование простейшей сверточной сети PyTorch без обучения. Использовалось свойство ядер сверточных сетей: если паттерн входного изображения совпадает с ядром, свертка с ним дает максимальный результат. В качестве ядер использовались сами входные изображения.
Этот метод решает проблему с обучением предыдущего метода. Но в противовес появляется другая: тк не учитывается поворот угла изображения, приходится перебирать все 360 ориентаций. Из-за чего может гораздо сильно возрасти время обработки.
3. Последнее решение, на мой взгляд, самое привлекательное - использование афинно инвариантного A-SIFT (масштабно-инвариантная трансформация признаков). Само решение - это поиск ближайшего соседа по метрике отношения количества сопоставленных ключевых точек к общему их числу.
Как я поняла, эта штука даже учитывает масштаб. Честно говоря, плохо разобралась в этом решении, но именно его я хочу пробовать первым:)
#about_ml
👍1
Доброй ночи, дорогие подписчики!
Наболевшая тема - ну нет в нашем институте требований на диплом для научной деятельности, только разработка😩
Конечно, в управлении всё бурно обсуждается в продвижении науки среди молодых студентов. И как всегда, когда будет готово разделение дипломов на разработку и науку, я не попаду в этот поток счастливчиков😂
Не беда - работаем с тем, что есть) Приходится писать спецификацию требований (спасибо, что не заставили писать календарный план🥲). Но тем не менее, мне нужно придумать интерфейс для работы с моими (далеко не моими🤡) алгоритмами. Захотелось поделиться с вами прототипами) Прикладываю ниже👇
Для тех, кто не понял почему я возмущаюсь: я хотела бы заняться чисто разработкой нового алгоритма позиционирования беспилотников (ну или доработкой уже существующих), однако на защите бакалавского диплома от меня скорее требуют идею и бизнес план с чёткими требованиями, архитектурой.
Я прекрасно понимаю, что я ставлю для себя слишком высокую планку (разработка чего-то абсолютно нового) и за год вряд ли получиться хотя бы приблизиться к этой цели. Несмотря на это, я хочу уходить в направление науки и предлагаю давать выбор программистам между направлениями разработки и науки в государственных учреждениях :)
#phil_thoughts
Наболевшая тема - ну нет в нашем институте требований на диплом для научной деятельности, только разработка😩
Конечно, в управлении всё бурно обсуждается в продвижении науки среди молодых студентов. И как всегда, когда будет готово разделение дипломов на разработку и науку, я не попаду в этот поток счастливчиков😂
Не беда - работаем с тем, что есть) Приходится писать спецификацию требований (спасибо, что не заставили писать календарный план🥲). Но тем не менее, мне нужно придумать интерфейс для работы с моими (далеко не моими🤡) алгоритмами. Захотелось поделиться с вами прототипами) Прикладываю ниже👇
Для тех, кто не понял почему я возмущаюсь: я хотела бы заняться чисто разработкой нового алгоритма позиционирования беспилотников (ну или доработкой уже существующих), однако на защите бакалавского диплома от меня скорее требуют идею и бизнес план с чёткими требованиями, архитектурой.
Я прекрасно понимаю, что я ставлю для себя слишком высокую планку (разработка чего-то абсолютно нового) и за год вряд ли получиться хотя бы приблизиться к этой цели. Несмотря на это, я хочу уходить в направление науки и предлагаю давать выбор программистам между направлениями разработки и науки в государственных учреждениях :)
#phil_thoughts
👍2
👍2
Помните, я выкладывала пост про решения задачи ориентирования б/а?)
У меня из головы все никак не выпадает второй метод. Уж сильно он меня поразил своей нетрадиционностью😁
Поэтому, я расскажу Вам о нем подробнее)))
Второй метод подразумевает использование простейших свёрточных нейронных сетей без обучения. CNN частично устойчивы к различным искажениям на фотографиях, таких как смещение, поворот, изменение масштаба, ракурса и прочее. Свёрточные нейронные сети объединяют три архитектурных идеи, для обеспечения инвариантности к изменению масштаба, повороту сдвигу и пространственным искажениям:
• локальные рецепторные поля (обеспечивают локальную двумерную связность нейронов);
• общие синаптические коэффициенты (обеспечивают детектирование некоторых черт в любом месте изображения и уменьшают общее число весовых коэффициентов);
• иерархическая организация с пространственными подвыборками.
В данном решении предлагается использовать свойство сверточных блоков реагировать на определенные паттерны входного изображения (если паттерн входного изображения совпадает с ядром, то свертка дает максимальный результат). Вместо того, чтобы заниматься обучением нейронной сети на огромном количестве данных, можно взять простейшую свёрточную сеть из одного слоя, и в качестве ядер весов брать предварительно обработанные снимки из обучающей выборки.
Таким образом, сеть содержит всего один сверточный слой, состоящий их количества ядер проверяемых снимков. На вход единственному слою подается подложка, а на выходе получаются двумерные массивы активаций (по количеству равные числу исходных ядер). После вычисления максимум, который соответствует положению центра изображения на входной карте местности.
Этот метод имеет существенный плюс – полное отсутствие обучения, что значительно упрощает рассматривание условия для постоянно изменяемой местности. Тем не менее, предложенный алгоритм совсем не учитывает ориентацию фотографий относительно подложки, так что приходится перебирать все 360 вариантов расположения карты местности, что сильно увеличивает время работы программы.
Скорее всего, данное решение подойдет для обработки большого количества пакетных данных для разных подложек. Предполагается, что выбранное итоговое решение будет работать на real time камере БПЛА. Следовательно, алгоритм всегда будет иметь большое количество снимков, взятых из видеопотока. Однако, второй метод будет не эффективен из-за долгих вычислений поворота подложки к каждому снимку.
#about_ml
У меня из головы все никак не выпадает второй метод. Уж сильно он меня поразил своей нетрадиционностью😁
Поэтому, я расскажу Вам о нем подробнее)))
Второй метод подразумевает использование простейших свёрточных нейронных сетей без обучения. CNN частично устойчивы к различным искажениям на фотографиях, таких как смещение, поворот, изменение масштаба, ракурса и прочее. Свёрточные нейронные сети объединяют три архитектурных идеи, для обеспечения инвариантности к изменению масштаба, повороту сдвигу и пространственным искажениям:
• локальные рецепторные поля (обеспечивают локальную двумерную связность нейронов);
• общие синаптические коэффициенты (обеспечивают детектирование некоторых черт в любом месте изображения и уменьшают общее число весовых коэффициентов);
• иерархическая организация с пространственными подвыборками.
В данном решении предлагается использовать свойство сверточных блоков реагировать на определенные паттерны входного изображения (если паттерн входного изображения совпадает с ядром, то свертка дает максимальный результат). Вместо того, чтобы заниматься обучением нейронной сети на огромном количестве данных, можно взять простейшую свёрточную сеть из одного слоя, и в качестве ядер весов брать предварительно обработанные снимки из обучающей выборки.
Таким образом, сеть содержит всего один сверточный слой, состоящий их количества ядер проверяемых снимков. На вход единственному слою подается подложка, а на выходе получаются двумерные массивы активаций (по количеству равные числу исходных ядер). После вычисления максимум, который соответствует положению центра изображения на входной карте местности.
Этот метод имеет существенный плюс – полное отсутствие обучения, что значительно упрощает рассматривание условия для постоянно изменяемой местности. Тем не менее, предложенный алгоритм совсем не учитывает ориентацию фотографий относительно подложки, так что приходится перебирать все 360 вариантов расположения карты местности, что сильно увеличивает время работы программы.
Скорее всего, данное решение подойдет для обработки большого количества пакетных данных для разных подложек. Предполагается, что выбранное итоговое решение будет работать на real time камере БПЛА. Следовательно, алгоритм всегда будет иметь большое количество снимков, взятых из видеопотока. Однако, второй метод будет не эффективен из-за долгих вычислений поворота подложки к каждому снимку.
#about_ml
👍2
Доброй ночи, товарищи!
Под конец семестра нам дали, на мой взгляд, очень интересную обзорную лабу. Я хочу подробнее изучить темы, которые были в ней даны, и, соответственно, поделиться с Вами 😁
Одной из этих тем была теория решения изобретательских задач, созданная советским инженером Генрихом Альтшуллером. Суть этой теории заключается в формулировке самой задачи таким образом, чтобы в ней отсутствовали все бесмыссленные и неэффективные методы, но при этом смысл задачи оставался тем же. Основные постулаты:
* Техника, её объекты развиваются в целом закономерно.
* Закономерности развития техники познаваемы и могут быть использованы для поиска новых технических решений.
* Процесс поиска нового решения можно описать в виде последовательности интеллектуальных, мыслительных действий.
Важным элементом ТРИЗ являются противоречия: при улучшении одного парамметра, ухудшается другой. Такими противоречиями могут быть:
1) Административные - когда ты не можешь что-то сделать, потому что не знаешь или не умеешь. Самое легкое для устранения противоречие (изучить больше литературы).
2) Технические - либо ты делаешь шумоизоляцию в машине и она становится тяжелее, либо ты ездишь на, условно, легкой машине, но с шумом.
3) Физические - большинство инженеров в своих разработках упираются в ограничения законами физики.
#about_ml
Под конец семестра нам дали, на мой взгляд, очень интересную обзорную лабу. Я хочу подробнее изучить темы, которые были в ней даны, и, соответственно, поделиться с Вами 😁
Одной из этих тем была теория решения изобретательских задач, созданная советским инженером Генрихом Альтшуллером. Суть этой теории заключается в формулировке самой задачи таким образом, чтобы в ней отсутствовали все бесмыссленные и неэффективные методы, но при этом смысл задачи оставался тем же. Основные постулаты:
* Техника, её объекты развиваются в целом закономерно.
* Закономерности развития техники познаваемы и могут быть использованы для поиска новых технических решений.
* Процесс поиска нового решения можно описать в виде последовательности интеллектуальных, мыслительных действий.
Важным элементом ТРИЗ являются противоречия: при улучшении одного парамметра, ухудшается другой. Такими противоречиями могут быть:
1) Административные - когда ты не можешь что-то сделать, потому что не знаешь или не умеешь. Самое легкое для устранения противоречие (изучить больше литературы).
2) Технические - либо ты делаешь шумоизоляцию в машине и она становится тяжелее, либо ты ездишь на, условно, легкой машине, но с шумом.
3) Физические - большинство инженеров в своих разработках упираются в ограничения законами физики.
#about_ml
👍1
Не смотря на то, что ТРИЗ имеет противоречия, тем не менее, именно они помогают решать ее задачи методом их устранения. Следовательно, теория отмечает, что любые изобретательские задачи не являются чем-то "элитным", "доступным только гениям". Наоборот, она показывает, что процесс изобретения может быть систематизирован.
Эта тема привлекла меня тем, что как казалось бы все фантазии человеческой души не имеют четких границ воображения, но находятся люди, которые могут построить связи и законы для выявления всей этой магии)
Я считаю, что подобные теории - прямой путь к созданию подражения настоящего интеллекта.)
#about_ml
Эта тема привлекла меня тем, что как казалось бы все фантазии человеческой души не имеют четких границ воображения, но находятся люди, которые могут построить связи и законы для выявления всей этой магии)
Я считаю, что подобные теории - прямой путь к созданию подражения настоящего интеллекта.)
#about_ml
👍1
Фууух, наконец-то эта адовая неделя подходит к концу...😪 Сдала все зачеты, теперь можно начинать писать посты😄
- Какие модели представления знаний Вы знаете? - такой вопрос получила я на одном из зачетов.
- Лингвистические переменные! - первое, что пришло мне в голову. О них сейчас и пойдет речь.
Если дело касается каких-то точных числовых данных, то тут все просто: рост измеряется в сантиметрах, следовательно можно точно сказать, когда человек выше 160 см или ниже 170 см. Но как понять, в какой момент человек становится высоким или низким? Где та самая граница, когда человек еще считается среднего роста, а, прибавив 1 мм, он уже станет высоким?
Именно для описания таких нечетких правил американский математик Лотфи Заде ввел понятие Лингвистической переменной.
В отличии от простых переменных, которые принимают числовые значения и их выражения, лингвистические переменные принимают слова и предложения. Тем самым становится проще оперировать понятиями "высоко" и "низко", "быстро" и "медленно", "много" и "мало".
Встает следующий вопрос, как тогда оценивать эти лингвистические переменные? Как они относятся друг к другу?
#about_ml
- Какие модели представления знаний Вы знаете? - такой вопрос получила я на одном из зачетов.
- Лингвистические переменные! - первое, что пришло мне в голову. О них сейчас и пойдет речь.
Если дело касается каких-то точных числовых данных, то тут все просто: рост измеряется в сантиметрах, следовательно можно точно сказать, когда человек выше 160 см или ниже 170 см. Но как понять, в какой момент человек становится высоким или низким? Где та самая граница, когда человек еще считается среднего роста, а, прибавив 1 мм, он уже станет высоким?
Именно для описания таких нечетких правил американский математик Лотфи Заде ввел понятие Лингвистической переменной.
В отличии от простых переменных, которые принимают числовые значения и их выражения, лингвистические переменные принимают слова и предложения. Тем самым становится проще оперировать понятиями "высоко" и "низко", "быстро" и "медленно", "много" и "мало".
Встает следующий вопрос, как тогда оценивать эти лингвистические переменные? Как они относятся друг к другу?
#about_ml
👍1
Для этого существуют их функции принадлежности. Условно, три функции описываются от переменной X: "не Х", "более-менее Х" и "очень Х" (страшные математические формулы приводить не буду, чтобы не напугать Вас, но покажу график) и затем, подставляются какие-то числовые данные, от которого зависит само нечеткое понятие.
На мой взгляд, это просто потрясающе. Люди стремятся к тому, чтобы научиться описывать все четко и правильно с помощью различных наук. Я думаю, некоторые вещи, которые могли показаться чудом и магией тысячу лет назад, сейчас, благодаря науке, кажутся вполне обыденной вещью, которая не удивит практически никого (например, салют)
#about_ml
На мой взгляд, это просто потрясающе. Люди стремятся к тому, чтобы научиться описывать все четко и правильно с помощью различных наук. Я думаю, некоторые вещи, которые могли показаться чудом и магией тысячу лет назад, сейчас, благодаря науке, кажутся вполне обыденной вещью, которая не удивит практически никого (например, салют)
#about_ml
👍1
Поздравляю всех с наступившем 2023 годом!!!🎉🎄
А я все так же продолжаю готовиться к маге😌
Расскажу немного про самые простейшие модели мл. Представьте, что у вас есть множество объектов, а вы хотели бы каждому объекту сопоставить какое-то значение. К примеру, у вас есть набор операций по банковской карте, а вы бы хотели, понять, какие из этих операций сделали мошенники. Если вы разделите все операции на два класса и нулём обозначите законные действия, а единицей мошеннические, то у вас получится простейшая задача классификации. Таким образом, задачи классификации можно сформулировать как поиск отображения из множества объектов в множество возможных таргетов. Возможных отображений может быть много, но мы можем упростить себе задачу и договориться, что хотим искать решение только в каком-то заранее заданном параметризированном семействе функций — линейным функциям вида y = w1x1+...+wdxd+w0 где y – целевая переменная (таргет), (x1, ... , xd)– вектор, соответствующий объекту выборки (вектор признаков), а w1, ..., wd, w0– параметры модели. Теперь задача стала проще, мы ищем не какое-то абстрактное отображение, а конкретный вектор.
К примеру, при D = 1 у наших объектов есть ровно один численный признак, по которому они отличаются. Теперь наша линейная модель будет выглядеть совсем просто: y = w1x1 + w0. Давайте вспомним про пример с поиском мошеннических транзакций по картам. Допустим, нам известна ровно одна численная переменная — объём транзакции. Для бинарной классификации транзакций на законные и потенциально мошеннические мы будем искать так называемое разделяющее правило: там, где значение функции положительно, мы будем предсказывать один класс, где отрицательно – другой. В нашем примере простейшим правилом будет какое-то пороговое значение объёма транзакций, после которого есть смысл пометить транзакцию как подозрительную (см. рис).
#about_ml
А я все так же продолжаю готовиться к маге😌
Расскажу немного про самые простейшие модели мл. Представьте, что у вас есть множество объектов, а вы хотели бы каждому объекту сопоставить какое-то значение. К примеру, у вас есть набор операций по банковской карте, а вы бы хотели, понять, какие из этих операций сделали мошенники. Если вы разделите все операции на два класса и нулём обозначите законные действия, а единицей мошеннические, то у вас получится простейшая задача классификации. Таким образом, задачи классификации можно сформулировать как поиск отображения из множества объектов в множество возможных таргетов. Возможных отображений может быть много, но мы можем упростить себе задачу и договориться, что хотим искать решение только в каком-то заранее заданном параметризированном семействе функций — линейным функциям вида y = w1x1+...+wdxd+w0 где y – целевая переменная (таргет), (x1, ... , xd)– вектор, соответствующий объекту выборки (вектор признаков), а w1, ..., wd, w0– параметры модели. Теперь задача стала проще, мы ищем не какое-то абстрактное отображение, а конкретный вектор.
К примеру, при D = 1 у наших объектов есть ровно один численный признак, по которому они отличаются. Теперь наша линейная модель будет выглядеть совсем просто: y = w1x1 + w0. Давайте вспомним про пример с поиском мошеннических транзакций по картам. Допустим, нам известна ровно одна численная переменная — объём транзакции. Для бинарной классификации транзакций на законные и потенциально мошеннические мы будем искать так называемое разделяющее правило: там, где значение функции положительно, мы будем предсказывать один класс, где отрицательно – другой. В нашем примере простейшим правилом будет какое-то пороговое значение объёма транзакций, после которого есть смысл пометить транзакцию как подозрительную (см. рис).
#about_ml
🥰2