Введение
Машинное обучение — одна из самых интересных областей информатики. Это дисциплина, которая позволяет вам создавать программное обеспечение, которое может учиться на данных, улучшаться с течением времени и делать прогнозы в отношении невидимых ситуаций. Есть так много проектов, которые вы могли бы реализовать с помощью машинного обучения — от распознавания изображений до анализа почерка — и я хочу помочь вам выбрать некоторые идеи для ваших собственных проектов!
1. Распознавание рукописных цифр
Распознавание рукописных цифр — это задача машинного обучения, в которой вам необходимо обучить модель распознавать рукописные цифры. Это популярная проблема машинного обучения, которую нужно решить, и это хороший способ начать работу с машинным обучением.
Эта тема была раскрыта в предыдущих постах:
● Как обучить модель распознавания рукописных цифр с помощью Keras и Tensorflow — https://medium.com/@tensorflow/how-to-train-a-handwriting-digit-recognition-modelusingkerasandtensorflow1f9d5e12b7f#more
● Как создать собственную систему распознавания рукописных цифр с нуля — https://medium.com/@gabrielubranco/howtobuildyourowndigitalreconnaissancesystemfromscratch8cb3a8073ec
2. Идентификация документа
● Идентификация документа
Идентификация документа — это задача машинного обучения, при которой вы делаете снимок документа, а затем используете алгоритм для идентификации содержимого документа. Это может быть полезно, если вы хотите определить, является ли что-то подлинным или нет, или было ли оно каким-либо образом изменено. Вы также можете использовать этот метод как часть вашей системы безопасности, проверяя подлинность всех документов, прежде чем допустить их в свой офис или дом (или и то, и другое).
3. Шумоподавление изображения
Первым шагом в этом проекте является обучение нейронной сети на изображениях. Например, на изображении собаки будет гораздо больше деталей, чем на изображении яблока. Поэтому, если вы пытаетесь понять, чем люди и собаки отличаются друг от друга (например), ваш набор данных будет включать больше изображений собак, чем яблок!
Вторым шагом является использование этой модели как части вашей модели глубокого обучения для шумоподавления самих изображений путем удаления шума и добавления резкости на разных уровнях в зависимости от того, сколько шума присутствовало в этих исходных изображениях. Это можно сделать, настроив такие параметры, как:
● Параметр оптимизатора стохастического градиентного спуска (SGD) — SGD работает путем оптимизации всех возможных комбинаций параметров, отслеживая их относительную эффективность по сравнению друг с другом с течением времени, пока не произойдет конвергенция; он также учитывает импульс во время сеансов обучения, что помогает уменьшить переоснащение при быстром обучении больших наборов данных, не слишком жертвуя точностью при медленном обучении небольших наборов данных, но все же улучшая общую точность с течением времени благодаря повышенной гибкости, предлагаемой этим методом по сравнению с другими методами, такими как оптимизация Адама. алгоритмы, которые, как правило, плохо работают при работе с большими объемами данных, потому что они не дают нам достаточно времени для достижения сходимости, потому что они требуют слишком много итераций, прежде чем найти какое-либо значительное улучшение, независимо от того, правильно мы их используем или нет».
4. Предиктор стоимости эндшпиля в крестики-нолики
● Идея проекта | Предиктор стоимости эндшпиля в крестики-нолики
Этот проект предполагает создание искусственного интеллекта, способного предсказывать исход игры в крестики-нолики. В игре есть 9 возможных состояний, и каждое состояние имеет связанное с ним значение, которое описывает, насколько вероятно, что ваш противник выиграет в данной конкретной ситуации. Например:
● Первый ход игрока 1 приводит к ничьей, поэтому его следующий ход не может изменить его судьбу или привести к прямому проигрышу (счет будет равен 1).
● У игрока 2 есть два варианта: либо выбрать безопасный маршрут и заработать 2 очка; или пойти на 3 очка, взяв и O, и X за один ход (но это означает, что теперь на доске будет более одной тройной угрозы). Это делает выбор между этими вариантами очень трудным, потому что оба исхода приводят к выигрышу после того, как они были разыграны!
5. Распознавание лиц
Распознавание лиц — одна из самых популярных идей проектов в области машинного обучения. Это также один из самых простых способов начать работу, поскольку вы можете использовать openCV или другую среду нейронной сети для обнаружения лиц, а затем передавать эти данные в свою собственную среду глубокого обучения.
Прелесть этого подхода в том, что вам не нужно тратить время на изучение того, как компьютеры обучаются, или какие-либо новые языки программирования — просто напишите код!
Вы можете сделать несколько отличных проектов в области машинного обучения
Машинное обучение — одна из самых популярных, интересных и полезных областей компьютерных наук. Он также является одним из самых сложных.
Вы должны научиться писать код для проектов машинного обучения, но это только часть битвы. Вам также необходимо понимать, что отличает машинное обучение от других видов разработки программного обеспечения: например, если вы хотите создать приложение, которое задает пользователям вопросы о себе, чтобы они могли больше узнать о себе и принимать более правильные решения в жизни (например, Мне нравится этот рожок мороженого?»), тогда вашему приложению потребуется какой-то набор входных данных — это означает сбор информации от людей, которые готовы или достаточно дееспособны (или и то, и другое), чтобы они могли честно ответить на такие вопросы, как, например, сегодня вечером после ужина они будут наслаждаться десертом… и так далее!
Заключение
В конце концов, есть много разных проектов машинного обучения, которые вы можете реализовать. Будь то помощь людям с ограниченными возможностями или создание собственного автоматизированного помощника, который сделает все за вас, каждый найдет что-то для себя. Ключ в том, чтобы найти что-то, что вас вдохновляет, а затем усердно работать над тем, чтобы это произошло!