@badproger12years

Как изучить машинное обучение, если знаю C++?

Я наверно самый молодой из Хабра, потому что два месяца назад мне только исполнилось 12 лет. Весь год начиная с октября я изучаю C++. Полностью разобрал
1- Указатели, ссылки.Передача по указателю и возврат пo указателю.Знаю что при возврате ссылки и указателя нельзя вернуть локальную перемменную.
2- Разобрал абсолютно все циклы. Понимаю почему нужно при использовании for-each использовать ссылку(для того что бы элементы не копировались)
3-Изучил виды графов, что такое стек, что такое очередь. Функции для работы со стеком(push и pop). Умею работать с библеотекой STL. Хотя изучил только вектора, стеки, очереди и чуть чуть встроенных функций (таких как shrink_to_fit, INT_MAX ).
4 - Понимаю зачем нужны ifdef-endef. Умею работать с define.
5 - Понимаю зачем нужны static_assert и assert.(в своих мини проектах использую, к примеру проценты, проценты в сумме не могут быть больше 100%)
6 - Изучаю ооп (Знаю что в friend функциях нельзя использовать this, знаю что статические функции должны работать только со статическими переменными), Умею перегружать все операторы(могу показать на evernote)

Но не зря же тут тег машинное обучени

1- Мечтаю оказаться на 1 месте в Kaggle
2- Понимаю термины Кросс-валидация, метрический алгоритм k - ближайщих соседей. Линейная регрессия. Коэффицент корреляции(Полностью помню формулы для нахождения коэффицента корреляции для двух признаков, знаю при каких цифрах связь - простая,средняя,сильная обратная.),Полностью помню алгоритм Неопределенности Джини и знаю как с помощью Неопределенности Джини построить дерево классификации(Жаль, но только для бинарных признаков). Понимаю как найти выбросы с помощью квартилей, признака шовене(вот только шовене опасен, ведь он использует среднее отклонение и среднее арифметическое, а выбросы это изменяют), знаю такие термины как Конъюкция, Дизъюнкция. Знаю что дерево разбивает плоскость на прямоугольники, а алгоритм k - ближайщих соседей на зоны.
И куча еще маленьких знаний по типу как найти дробную часть числа, как работает бинарный поиск(могу написать алгоритм на C++), как понять без формул что значение выброс. Как определить что выборка симметрична. Метрики такие как Манхетен, Евклид, max

Так вот мой вопрос.
Как изучить sckit-learn, Keras , и тд с таким багажом. Но если не знаю Python(((.
  • Вопрос задан
  • 1712 просмотров
Решения вопроса 1
Есть различные должности: data scientist, algorithm developer и др.

Первая занимается исследованием и разработкой математических моделей для анализа данных. В ней, прежде всего, требуется хорошо владеть различными областями математики и в значительно меньшей степени познаниями в программировании. Обычно ведут эксперименты с данными, занимаются визуализацией данных, интерпретацией результатов, составляют модели в виде формул и пишут небольшие части кода на языках R, Matlab, Python для демонстрации возможностей. Ведут консультации с ведущими разработчиками. Все записывается в набор документов, понятных программистам, и так идет процесс по кругу. Применяют набор различных инструментов и библиотек, написанных на разных языках. Все, что годится для экспериментов и продвигает исследования, применяется.

Во второй должности требуется быть программистом с профильным образованием, чтобы максимально качественно и эффективно написать код для эксплуатации в производстве. Требуется хорошо знать прикладную математику и способы эффективной реализации алгоритмов. Здесь применяют высокопроизводительные языки, такие как C, C++, C#, Java, Scala, ..., и даже Fortran. На практике, в последнее время также и на Python (везде пихают его где можно и нельзя). Обычно стараются применять не больше 1-2 языков.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AlexSku
не буду отвечать из-за модератора
Сейчас на Степике есть нетрудный курс "Машинное обучение". Задачи решаются вообще без программирования. Советую пройти. А потом детали уже начать программировать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы