Ответы пользователя по тегу Машинное обучение
  • Как сделать бинарную классификацию текстов на python?

    @dmshar
    Вообще-тот материалов в сети не просто много, а необозримо много. На любой цвет и вкус, с учетом любого инструмента, которым вы владеете. Практически любая книга по машинному обучения или по Нейросетям сегодня обязательно содержит раздел, посвященную работу с текстами и классификация - самая простая задача, которая при 'том обсуждается.
    Вот тут почти элементарное введение в тему, что как и почему делать:
    https://tproger.ru/translations/text-classificatio...
    Вот тут разбивают на 20 тем, но вы можете и сократить до нужных вам двух:
    scikit-learn.org/stable/tutorial/text_analytics/wo...
    Вот тут описана "Готовое решение" с помощью другой библиотеки
    www.nltk.org
    Но главная проблема не в источниках. Главный вопрос - у вас есть достаточно объемный и при этом размеченный набор данных для обучения любого алгоритма? Если есть - можно и источники поизучать, а если нет - то подумайте, как найти такой набор.
    Ответ написан
    Комментировать
  • Как правильно спроектировать нейронную сеть?

    @dmshar
    Я так и не понял, в чем-же вопрос.
    Если "как это сделать" - при том, что "это" - практически весь курс по ML и
    DL - то искать ответ на форуме при наличии просто океана ресурсов в сети - как то странновато.
    Если как это сделать на С++" - то тоже вроде недостатка информации нет.
    Книги, туторы, статьи, видео, всё что может быть полезно готов изучить вдоль и поперёк, только скажите где(много информации уже перерыл)

    Что, действительно? Как это вам удалось - ничего не найти.
    Ну так, для затравки, может поможет:

    https://www.amazon.com/C-Machine-Learning/dp/1786468409
    https://www.oreilly.com/library/view/machine-learn..."
    "https://www.amazon.com/Deep-Belief-Nets-CUDA-Feedf..."
    https://www.amazon.com/Data-Mining-Algorithms-Patt..."
    https://habr.com/post/335838/
    www.mlpack.org
    Ответ написан
    Комментировать
  • Где найти информацию по разработке автономных дронов/квадрокоптеров?

    @dmshar
    Не очень понял, что вы имели ввиду, когда говорили про "разработку". Понятно, что технической информации, особенно в открытом доступе, вы вряд ли найдете. А вот для общего развития - пожалуйте:
    ai-news.ru/bpla.html
    Ответ написан
  • Какие книги для начинающего по Data Science?

    @dmshar
    Вопрос несколько странный ввиду реально НЕСМЕТНОГО количества книг по DS,
    BD, ML вышедших в последнее время. На любых языках, для любого стартового уровня образования, с прицелом на различные инструменты. Берите любую и начинайте учить. Когда что-то станет ясно и захочется углубить или наоборот, когда что-то станет непонятно - ищете целенаправлено другой источник, в котором уже известная вам тема изложена глубже или яснее. И так двигаетесь, расширя свой кругозор в тема.
    Если сложно самомунайти - есть уже составленные списки, например:
    https://ru.stackoverflow.com/questions/Книги-и-уче...
    Или
    https://www.learndatasci.com/free-data-science-books/
    И подсказок в сети тысячи - как, что и в каком порядке учить. Например:
    https://proglib.io/p/learn-data/
    Вот куча дополнительных ресурсов.
    www.7wdata.be
    https://www.datasciencecentral.com
    https://datascienceplus.com
    https://www.kdnuggets.com
    https://www.analyticsvidhya.com
    https://towardsdatascience.com
    Удачи.
    P.S. " стоит выбор между К.Доугерти "Введение в эконометрику" и Гмурман "Теория вероятностей и математическая статистика" - может ктото может подсказать принципиальную разницу между этими книгами?"
    ----> Принципиальная разница: Гмурман дает общую теорию, хорошую основу, универсальный учебник.
    Доугерти больше ориентирован на специализированную нишу экономических и социальных задач.
    Оба неплохи для изучения статистики на соответствующих специальностях в универе.
    Начинать с нихсамостоятельное изучение я бы не рекомендовал. Лучше гляньте список и рекомендации, приведенные выше и из них выбирайте.
    Ответ написан
    Комментировать
  • Выбор архитектуры и средств реализации сверточной нейронной сети?

    @dmshar
    Вообще-то ответ на три первых заданных вопроса - это нехилая себе такая работа. С соответствующим анализом, сравнением и пр. необходимыми атрибутами.
    Ответ на три последних - это на уровне студента первокурсника-троечника(отличники даже на первом курсе таких вопросов уже не задают).
    Поэтому, исходя из заданных вопросов, у вас есть два пути. Лучшее что вы можете сделать - если не хотите, конечно, с треском завалить проект - это нанять компетентного в этих вопросах человека. Дорого конечно, но за знания и умения (других) надо платить.
    Второй путь - самостоятельно разобраться в теме, благо литературы - навалом, даже как-то не совсем удобно их тут перечислять. Ну, для затравки, разве что:
    1. Хайкин Нейронные сети полный курс. 2 издание
    2. Николенко С., Кадурин А., Архангельская Е. Глубокое обучение. — СПб.: Питер, 2018
    3. Гудфеллоу Я., Бенджио И., Курвилль А. Глубокое обучение -М.: ДМК Пресс, 2018.
    4. David Kriesel A Brief Introduction to Neural Networks
    (вон, в комментах вам даже чью-то докторскую диссертацию по ходу освоить предложили :-). Правда не думаю, что вы в ней разберетесь, не освоив истоки)
    Ну и в интернете ссылок более чем много. Для совсем ленивых - есть видеокурсы. Даже на русском :-)
    Только долгий этот путь. Так что лучше все-таки - первый.
    Ответ написан
    1 комментарий
  • Как объяснить переобучение в терминах сигнал-шум?

    @dmshar
    Вообще-то говоря, в каких терминах объяснять - все равно, т.к. явление переобучения - это когда ваша модель отлично работает на обучающей выборке (ну наверное, в вашем случае - отлично отделяет сигнал от шума на тех данных, на которых вы ее обучаете) и плохо, т.е. с большим количеством ошибок, - на тестовых данных. Четкой границы вообще-говоря нет. Как многое в статистике и машинном обучение - все определяется исходя из здравого смысла и семантики в терминах прикладной предметной области. Иногда, правда можно применить "полуформальные" методы, например - метод "колена" в кластерном анализе, но и там все равно за исследователем остается свобода выбора конечного решения.
    Ответ написан
    Комментировать
  • Как написать нейронную сеть, которая будет определять была ли атака на сеть?

    @dmshar
    Как тут уже сказали, нейронная сеть тут очень далеким боком. Существуют несколько десятков (!!!) методов, которые по информации о состоянии сети или трафика могут распознать была атака или нет, некоторые могут распознать и конкретный тип атак. Как на данных KDD cup99 так и при других способах описания состояния объектов информбезопасности. Тема не новая и достаточно хорошо изученная. Существуют и статьи и книги и даже учебники на эту тему. Если вы хоть расскажете, зачем это вам надо (для учебных целей по ИБ, для учебных целей по ML, для учебных целей по нейронкам, как бакалаврская работа, как магистерская, как научная задача, как задача поставленная перед вами как системным администратором, владеете вы английским, или как обычно "со словарем" :-), - тогда и советовать можно будет что-то более направленное. А так посмотрел - ну лежит у меня на диске около 200 статей-книг по теме "Применение ML для выявления атак", да еще около 100 в закладках Хрома. И это вообще-говоря не предел и не все, что можно найти в сети. Какие из них по вашей мерке, а какие - не по зубам или наоборот, слишком тривиальные?
    Опишете себя - можно будет подбирать. А так...
    P.S. Кстати, как следует из названия, KDD cup99 - база собранная ДО 1999 года. Сделать что-то реально-актуальное по данным двадцатилетней давности - как то немного сомнительно.
    Ответ написан
    Комментировать
  • Как быстро получить обзор методов машинного обучения?

    @dmshar
    А что такое "получить"? Я так понимаю, "получают" образование. Вы спрашиваете - где учиться? Ну тогда было бы неплохо знать, где живете, уровень вашего текущего образования и (как обычно для ИТ-специальностей) - уровень вашего английского.
    А если "получить" - это самостоятельно освоить - ну так в интернете ресурсов просто море:
    www.7wdata.be
    https://www.datasciencecentral.com
    https://datascienceplus.com
    https://www.kdnuggets.com
    https://www.analyticsvidhya.com
    https://towardsdatascience.com
    и далее по списку......
    Написано только что
    Ответ написан
    Комментировать
  • Какие методы машинного обучения больше подходят для прогнозирования?

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

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

    @dmshar
    При чем тут классификация "по весу, по расстоянию"?
    Есть задача классификации - т.е. отнесения некого объекта к одному из заранее заданных классов. Есть много "семейств" алгоритмов классификации, например на основании деревьев, но основании систем опорных векторов и т.д. и в том числе группа методов, основанных на метрическом представлении пространства описания объектов классификации. Упомянутый вами метод ближайших соседей - лишь один из методов последней из группы.
    Методы данной группы работают по следующей схеме. Объекты представляются в виде векторов в N-мерном пространстве признаков, причем в этом пространстве должна быть введена некая мета близости/расстояния (что, кстати не во всяком пространстве возможно). Этих мер может быть много: известная и привычная мера Эвклида, Манхеттенское расстояние, мера близости Хемминга, расстояние Чебышева, расстояние Минковского, неметрическое косинусоидальное расстояние и т.д. Выбор конкретной меры - это вообще-то говоря нетривиальная задача, решение которой зависит от шкал данных параметров описания, семантики задачи и даже от конкретного метода классификации, который будет применяться.
    Поэтому ответ на ваш вопрос может звучать так - данный метод может применяться везде, где прикладную задачу можно вложить в схему метода метрической классификации. Пример, который наверное все слышали - решение задачи диагностики онкологических заболеваний в система IBM Watson. Другой пример - распознавание вторжений в системах IDS. Предсказание кредитоспособности заемщиков - пример, который тоже у всех "на зубах". Выявление месторождений полезных ископаемых. Чуть не забыл - классика жанра - выявление спама.
    Но на самом деле практических задач, которые решены этим способом описаны сотни.
    Ответ написан
    Комментировать
  • Можно ли по книгам из серии "Математика в техническом университете" изучать математику для ML?

    @dmshar
    Математика - она едина. А разные книги просто по-разному ее излагают: разные аргументы, разные стили изложения, немного разная последовательность тем, разные акценты, разная глубина обсуждения конкретных тем и пр. Нет лучших и худших книг (кстати, и видеокурсов - тоже). Разным людям индивидуально может больше подходить стиль одной книги или лектора, другим - другие. Не факт, что если кто-то тут напишет "это суперучебник" то для вас он подойдет. И наоборот, если кто-то скажет "отстой" - то мы не знаем, это книга плохая, или мозги написавшего просто были не способны ее воспринять.
    Так что если у вас есть выбор - просто пробуйте. Берете одну книгу, изучаете, смотрите, как "заходит" материал именно в вашу голову. Если все ОК, то и хорошо. Что-то пошло "не так" - пробуем другую книгу.
    Если вдруг потом вы обнаружите, что какого-то фрагмента знаний, который вам друг оказался нужным не было в том учебнике, по которому вы учились - а так бывает, и не редко - то вот именно "потом" и "доберете" недостающий материал по каким-то другим источником. Это неприменно будет, но будет сильно "потом".
    Другое дело, что самостоятельное изучение, очевидно (по вопросу) - "с нуля", это весьма непростой и тернистый путь. И скажу откровенно, не многие в состоянии его осилить. Но будем считать, что вы из числа этих немногих. Удачи.
    Ответ написан
    Комментировать
  • Метод опорных векторов как нарисовать гиперплоскость?

    @dmshar
    Как-то неясно, в чем суть вопроса.
    Метод опорных векторов как раз и имеет результатом прямую (плоскость, гиперплоскость) разделяющую классы объектов. Т.е. прямой ответ на ваш вопрос звучит так: применяете метод опорных векторов, находите параметры разделяющей поверхности ( в двумерном случае - параметры прямой) и если надо - ее рисуете.
    Ответ написан
    Комментировать
  • ML распознавание лиц по видео. Каков приблизительный ценник за подобный проект?

    @dmshar
    Если у топикстартера есть ресурсы, сравнимые с ресурсами Китая, то шанс получить то, на что он замахнулся у него есть :
    https://tjournal.ru/65956-kitayskaya-policiya-nach...
    Вот если денежек чуть меньше, тогда грусть-тоска. :-)
    А по вопросу о необходимости срочного приобретения всего лишь сервера, склоняюсь к тому, что денежек явно не густо.
    Ответ написан
    Комментировать
  • Выбор доменной зоны по изображению?

    @dmshar
    Думаю, потому что ответ очень субъективен. Почему девушка в купальнике должна быть "SEXY", а не "swimsuit", или "beach"?
    Подходы к решению - берем большой корпус картинок, вручную помещаем их теми тегами, которые мы считаем правильными, строим модель а потом используем ее.
    Ответ написан
    Комментировать
  • Есть ли более 1 кластера?

    @dmshar
    Вообще то есть такой раздел Data Mining, как кластерный анализ. И для решения задач типа вaшей разработано наверное десятков пять различных методов. В том числе - и "без ручного задания порога" (скажу по секрету - можно обойтись вообще без какого-бы то ни было задания порога).
    Ваш случай - простейший, одномерный. В жизни встречаются задачи намного сложнее. Но в любом случае, выбор подхода и конкретного метода кластеризации зависит от данных - и от того, в какой шкале они измерены, и сколько их, и известно-ли их распределения, и какие меры близости можно ввести в пространстве признаков. Там же рассматривается вопрос, а как ОБОСНОВАНО выбрать количество, на которых разбивается выборка и как выявить аномалии-выбросы. В довершении всего имеются методы сравнения методов между собой.
    Если говорить конкретно про Ваш пример, что данных настолько мало и кластеры настолько выражены, что тут сомнений нет. Но а если Вас проблема интересует более глубоко - то без изучения теории не обойтись. Часто кластеризацию изучают как одно из направлений в рамках машинного обучения и рассматривают в соответствующих книгах/курсах. Могу порекомендовать в качестве "затравки"-

    https://habrahabr.ru/post/101338/
    https://habrahabr.ru/company/ods/blog/325654/
    Флах _"Машинное обучение - наука и искусство построения алгоритмов",
    Барсегян "Анализ данных и процессов"
    и более серьезные источники:
    Мандель "Кластерный анализ"
    Ким "Факторный, дискриминантный и кластерный анализ"
    Миркин "Методы кластер-анализа"
    Aggarwal, Chandan K. "Reddy-Data Clustering_ Algorithms and Applications"

    и пр.пр.пр. Источников по теме -море.
    Удачи.
    Ответ написан
    7 комментариев
  • Как грамотно подойти к распознаванию объектов со снимков?

    @dmshar
    Копать в сторону "распознавание визуальных образов". Пожалуй, одна из немногих областей, где нейронная сеть - самое подходящее средство решения задачи. Краткий алгоритм : берешь тысячИ снимков на которых есть и примерно столько-же - не которых нет объектов нужного класса (здания), обучаешь нейронную сеть, получаешь сеть, способную с некоторой вероятностью (зависит от многих факторов - качества обучающей выборки, подобранного класса сети включая количество слоев и типв связей между ними, правильности проведения процесса обучения и т.д.) распознать здание по снимку. Начинать надо - с теории. В большинстве книг по нейронным сетям есть описание -или по крайней мере подробный roadmap - решения данного класса задач. Инструмент (как софт, так и платформа) выбирается исходя из возможностей заказчика.
    Удачи.
    Ответ написан
    Комментировать
  • Как найти взаимосвязь между входными и выходными параметрами?

    @dmshar
    То, что вы описали - есть предмет изучения научных и инженерных дисциплин, как Machine Learning, Data Science, Data Mining, Statictics, Deep Learning, Big Data etc.
    Просто перечнем названий алгоритмов и фреймворков тут не обойтись.
    Ответ написан
    Комментировать
  • Где можно почитать про методы сравнения алгоритмов анализа данных?

    @dmshar
    Уточните вопрос.,
    "Алгоритмы анализа данных" вовсе не то же самое, что "алгоритмы принятия решений".
    В свою очередь, анализ данных - весьма обширная область, включающая и Machine Learning, и Data Minimg, и статистические алгоритмы, и ставшие супермодными нынче нейронные сети. В каждом разделе по несколько десятков только основных алгоритмов.
    Внутри одной группе алгоритмы можно сравнивать по области применимости, по вычислительной сложности, по мощности, по многим другим специальным параметрам.
    Поэтому, если хотите более конкретного ответа - уточните, что именно вас интересует и как вы собрались эти алгоритмы сравнивать.
    Ответ написан
  • Необходимо ли знать прикладные инструменты для больших данных, анализа и машинного обучения?

    @dmshar
    Для работы с Big Data, Machine Learning и аналитики данных существует уйма различных инструментов - от Python до Watson, от RCPP до TensorFlow, от Tableau до SPSS, от RapidMiner до Hadoop.... Список можно продолжать и продолжать. Между прочим, даже тривиальный MS EXCEL имеет средства для большинства из указанных задач.
    В принципе все задачи можна решать хоть на С++, хоть на Java хоть на Ассемблере. Вот, даже на JavaScript уже пишут нейронные сети. Вопрос - что именно вы хотите в конечном счете сделать, как глубоко понимать что именно вы делаете, как быстро вам надо проходить путь от постановки задачи к готовому решению, какие деньги вы готовы потратить на получение этого решения и какими начальными знаниями в области технологий программирования вы или ваша команда владеете.
    Поэтому рекомендую обучение начать не с инструментов, а с идей, алгоритмов и методов, лежащих в основе задач Data Science. А по ходу - разберетесь, какой именно инструмент конкретно для вашего случая наиболее подходящий. И скорее всего, это будет не один какой-то инструмент, а несколько, которые в совокупности наиболее полно и эффективно покроют именно ваш круг потребностей.
    Ответ написан
    Комментировать