Ответы пользователя по тегу Машинное обучение
  • Что использовать для распознавания смысла вопроса?

    @nirvimel
    Семантический анализ естественных языков - одна из самых тяжелых задач в computer science. Намного тяжелее, чем ИИ для шахмат (который научился обыгрывать человека еще двадцать лет назад). В этом направлении мировая наука пока еще продвинулась совсем недалеко. Браться за это в одиночку не стоит без трех высших образований (одного из них по лингвистике).
    Ответ написан
    1 комментарий
  • Что свидетельствует о том, что машина обучается, а не собирает новые данные и не сравнивает их с уже загруженными?

    @nirvimel
    Из чего состоит кот?
    - Из головы, туловища, лап и хвоста.
    Из чего состоит стул, на котором сидит кот?
    - Из сиденья, ножек и спинки.

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

    Как отличить изображение кота от изображения пустого стула?
    - (Вероятно) Надо сравнивать значение пикселов на разных изображениях.
    А конкретно какие пикселы с какими сравнивать? По какой формуле?
    - Я не знаю. Ни один человек не знает и не может знать такую формулу, которая бы от миллиона числовых аргументов (значений цветов пикселов) выдавала бы на выходе одно значение, простой ответ: изображен ли на этой картинке кот или стул.

    Но как тогда человеческий мозг решает эту задачу?
    - Человеческий мозг работает на нечеткой логике. Поэтому человеку может казаться, что в облаках и кляксах Роршаха скрываются образы знакомых предметов (ложноположительное срабатывание нейронной сети). Нейроны мозга изначально связаны между собой хаотично, и эта структура не способна выдать определенный ответ о принадлежности различных изображений к одной категории. Но в ходе обучения эта структура перестраивается таким образом, чтобы ответы на вопрос о принадлежности изображения определенной категории с каждым разом (шаг обучения) лучше соответствовали действительности. См. На чем основан принцип обучаемости нейронных сетей? . В процессе самого распознания не происходит никакого целенаправленного вспоминания или поиска информации в памяти (это занимало бы слишком много времени). Мозг взрослого человека выдает ответ "это (не) кошка" так же быстро, как и мозг новорожденного, различается лишь точность этих ответов и процент ошибок. Эта точность определяется только структурой связей между нейронами в сети, а никак не количеством различных кошек, которых человек может вспомнить сознательно. Доказательством этого может служить тот факт, что у людей, переживших потерю памяти, никак не меняется способность распознавать простые образы при том, что они не в состоянии вспомнить даже собственное имя.
    Ответ написан
    2 комментария
  • Как определить скорость автомобиля который тебя обогнал?

    @nirvimel
    1. Выбрать из всего видео два кадра между которыми замеряется скорость, автомобиль на этих кадрах должен находиться как можно ближе (чтобы легче замерить расстояние до него), но между сами кадрами расстояние должно быть побольше (чтобы снизить погрешность измерения).
    2. Определить расстояние до автомобиля на каждом из двух кадров (без этого никак, увы). Для этого можно фотографировать похожий по габаритам автомобиль с того же ракурса, пока его положение на снимке в точности не совпадет с положением измеряемого автомобиля в кадре с регистратора, потом точно замерить расстояние до какой-нибудь точки (ближнего колеса, например).
    3. Определить угол под которым автомобиль находится к вашей оси движения и центру кадра регистратора (надеюсь, они совпадают) в каждом кадре. Для этого также как и в (2) можно двигать и фотографировать похожий по габаритам автомобиль.
    4. Зная расстояние и угол на двух различных кадрах, строится треугольник и находится его неизвестная сторона (если известны две других стороны и углы к ним).
    5. Зная частоту кадров, рассчитывается время между двумя кадрами (желательно чтобы было побольше, но не так, чтобы на втором кадре автомобиль был уже слишком далеко).
    6. Расстояние делится на время, получается скорость. Это скорость обгона, абсолютную скорость можно получить прибавив скорость собственную.
    Ответ написан
    Комментировать
  • Суть машинного обучения сводится к классификации проанализированных данных?

    @nirvimel
    Типология задач машинного обучения - думаю эта статья лучше всего раскрывает суть машинного обучения в плане решаемых задач.
    Ответ написан
    Комментировать
  • Существует ли нейронная сеть для поиска коэффициента корреляции?

    @nirvimel
    Возможно, я слишком заморачиваюсь и существуют какие-то методы, которые позволяют без применения нейронных сетей выполнить эту задачу универсально и с достаточно большой точностью.

    Именно. Линейный коэффициент корреляции считается как ковариация, деленная на произведение среднеквадратических отклонений:
    6da141a3f088aba3229ae7850318bb8a.png
    Например, в numpy есть соответствующая готовая функция.
    Ответ написан
    Комментировать
  • Какой тип нейронных сетей использовать для предсказания данных?

    @nirvimel
    Если данные имеют количественный (не категорийный) характер и представлены в виде численных значений, то предсказание будущих результатов по прошлым есть классическая задача на регрессию и нейронные сети к этому не имеют отношения.
    Ответ написан
    3 комментария
  • Отфильтровать шум в данных?

    @nirvimel
    Для этого существует Фильтр Калмана.

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

    Фильтр Калмана — это, наверное, самый популярный алгоритм фильтрации, используемый во многих областях науки и техники. Благодаря своей простоте и эффективности его можно встретить в GPS-приемниках, обработчиках показаний датчиков, при реализации систем управления и т.д.

    Последняя цитата отсюда. А эта статья окончательно снимает все вопросы.
    Ответ написан
  • Как понимать термин "предметная область"?

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

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

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

    Распишите там как важна эта задача в современном мире, как давно она стоит (с середины XX века можно начинать прослеживать историю). Весь математический аппарат для решения задачи распишите. Это и будет описанием предметной области.
    Ответ написан
    Комментировать
  • Машинное обучения чайника?

    @nirvimel
    Машинное обучение охватывает довольно широкий круг задач, между собой разные области не то чтобы совсем не связаны, но нельзя сказать, что разбираться в одной из этих областей невозможно без полного понимания остальных.
    Если цель - овладение машинным обучением во всей совокупности его задач и областей, то придется заплатить за это 2-3-4 года своей жизни, как сказал brainick .
    Если же интересует конкретный класс прикладных задач, то можно достаточно глубоко погрузится в одну узкую область и стать специалистом в ней. Теоретические основы вполне реально изучить за время, за которое вы изучаете отдельный язык программирования. Но нет предела совершенствования практических навыков, как и нет предела совершенствования владения языком программирования.

    Общее представление о задачах машинного обучения даст возможность выбирать для себя круг задач и специализацию. На русском доступна специальная вики по машинному обучению https://www.machinelearning.ru/ - пока еще, бледная тень английской вики (может со временем разовьется).
    Для тех, кто не боится английского - большая подборка.
    Ответ написан
    2 комментария
  • Что лучше использовать для распознавания образов? Машинное обучение или нейронные сети?

    @nirvimel
    Распознавания образов - одна из задач машинного обучения.
    Нейронные сети - одна из технологий машинного обучения.

    Для задачи распознавания образов на практике применяются в основном как раз разновидности нейронных сетей, хотя теоретически возможно использовать что-то, не сводящееся к нейронным сетям.
    Ответ написан
    Комментировать
  • Почему Python настолько популярный в сфере машинного обучения?

    @nirvimel
    Все дело в том, что Python обладает уникальным сочетанием качеств:
    1. Язык общего назначения (R и MATLAB все-таки для узкой аудитории).
    2. Динамический интерпретируемый скрипт дающий возможность очень быстрой разработки.
    3. Numpy открывает доступ к векторным вычислениям (без явно описываемых циклов) на почти предельных для железа скоростях. На его основе выросла огромная инфраструктура математического питона. Целая научная сфера, размеры которой трудно представить (на одном только Scikit несколько десятком библиотек по всем направлениям).
    4. Cython дает возможность вручную дописать те мелочи, которых кому-то может не хватить в Numpy, на компилируемом как си языке с синтаксисом похожим на питон.
    Ответ написан
    Комментировать