Усильте свою разработку в области машинного обучения

Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом. По моему мнению, хороший проект использует одни из лучших доступных библиотек.

Оптимизация — важный процесс в машинном обучении. Это поможет вам найти оптимальный набор параметров для данной модели, который минимизирует ошибку между прогнозируемым выходом и фактическим выходом. Здесь я собрал 7 полезных библиотек Python, которые помогут вам с оптимизацией.

1. Гиперопт

Эта библиотека поможет вам оптимизировать гиперпараметры моделей машинного обучения. Это полезно для последовательной и параллельной оптимизации в неудобных пространствах поиска, которые могут включать действительные, дискретные и условные измерения. В настоящее время в нем реализованы три алгоритма случайного поиска, Дерево оценок Парзена (TPE) и Адаптивный TPE. У него более 6,5 тысяч звезд на GitHub.



2. Байесовская оптимизация

Байесовская оптимизация — это алгоритм глобальной оптимизации, использующий вероятностную модель для поиска компромисса между разведкой и эксплуатацией. Он итеративно обновляет свою вероятностную модель оптимизируемой функции на основе результатов предыдущих оценок и использует эту модель для выбора следующей точки для оценки. Как вы уже догадались по названию, эта библиотека поможет вам выполнить байесовскую оптимизацию для функций черного ящика. У него более 6,5 тысяч звезд на GitHub.



3. ГОРШОК

POT (Python Optimal Transport) — это библиотека Python для решения задач оптимального транспорта. Задача оптимального транспорта направлена ​​на поиск наилучшего способа сопоставления одного распределения точек с другим распределением точек таким образом, чтобы затраты на сопоставление были минимальны. Он предоставляет реализации для различных алгоритмов решения оптимальной транспортной задачи, включая алгоритм Синкхорна, энтропийную регуляризацию и многое другое. Он также поддерживает различные функции стоимости, такие как евклидово расстояние, квадрат евклидова расстояния и расстояние движения Земли. Эта библиотека имеет более 1,5 тысяч звезд на GitHub.



4. Scikit-opt

Эта библиотека предоставляет набор масштабируемых алгоритмов оптимизации для машинного обучения и других задач оптимизации. Он включает алгоритмы оптимизации, такие как оптимизация роя частиц (PSO), дифференциальная эволюция (DE) и эволюционные алгоритмы (EA). Он также поддерживает параллельную обработку для ускорения оптимизации. У него более 3,5 тысяч звезд на gitHub.



5. Талос

Эта библиотека поможет вам изменить обычный рабочий процесс Keras, TensorFlow (tf.keras) и PyTorch, полностью автоматизировав настройку гиперпараметров и оценку модели. Он предоставляет простой интерфейс для определения гиперпараметров, проведения экспериментов и анализа результатов. Он поддерживает различные методы поиска, включая поиск по сетке, случайный поиск и байесовскую оптимизацию. Эта библиотека имеет более 1,5 тысяч звезд на GitHub.



6. Пыльные рои

Это библиотека для оптимизации роя частиц (PSO), типа алгоритма оптимизации, основанного на социальном поведении птиц или пчел. Алгоритмы PSO обычно используются для решения задач оптимизации, когда целевая функция нелинейна и/или имеет несколько локальных минимумов. Он предоставляет различные параметры настройки, такие как установка количества частиц, максимальное количество итераций и параметры поведения роя. У него более 1000 звезд на GitHub.



7. Нлопт

Это библиотека для нелинейной локальной и глобальной оптимизации для функций с информацией о градиенте и без нее. Он разработан как простой унифицированный интерфейс и содержит несколько бесплатных библиотек нелинейной оптимизации с открытым исходным кодом. Библиотека написана на C и может использоваться на различных языках программирования, включая Python, благодаря своим привязкам. У него более 1000 звезд на GitHub.



Где другие замечательные ресурсы?

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



Это все на сегодня. Я считаю, что эти библиотеки очень помогут вам в вашем пути разработки.

Если вы знаете какие-либо другие красивые библиотеки Python, поделитесь ими в комментариях. Пока мы не встретимся снова… Ура!

Хотите подключиться? Если хотите, можете связаться со мной в Twitter.

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord. Повысьте узнаваемость своего технологического стартапа с помощью Circuit.