Численные методы оптимизации для машинного обучения и автоматизации ИИ
Project description
numoptml
numoptml — это лёгкая и понятная Python-библиотека численных методов оптимизации, разработанная с нуля для образовательных, исследовательских и экспериментальных целей в области машинного обучения и автоматизации ИИ.
Она идеально подходит для студентов, инженеров и исследователей, которым важна прозрачность алгоритмов и контроль над процессом оптимизации.
🚀 Основные возможности
- Градиентный спуск (Gradient Descent)
- Метод Ньютона (Newton's Method)
- Поддержка подбора длины шага (Backtracking Line Search)
- Подходит для интеграции в AutoML, обучение моделей, RL-агентов
🔧 Установка
pip install numoptml
📌 Примеры использования
Gradient Descent
from numoptml.optimizers.gradient_descent import gradient_descent
import numpy as np
f = lambda x: (x[0] - 3)**2
grad = lambda x: np.array([2 * (x[0] - 3)])
x0 = [0.0]
res = gradient_descent(f, grad, x0, lr=0.1)
print(res) # -> [3.]
Newton's Method
from numoptml.optimizers.newton_method import newton_method
import numpy as np
f = lambda x: (x[0] - 3)**2
grad = lambda x: np.array([2 * (x[0] - 3)])
hess = lambda x: np.array([[2]])
x0 = [0.0]
res = newton_method(f, grad, hess, x0)
print(res) # -> [3.]
Backtracking Line Search
from numoptml.utils.line_search import backtracking_line_search
import numpy as np
f = lambda x: (x[0] - 3)**2
grad = lambda x: np.array([2 * (x[0] - 3)])
x = np.array([0.0])
direction = grad(x)
alpha = backtracking_line_search(f, grad, x, direction)
print(alpha)
🧠 Использование в ИИ
- Минимизация функции ошибки при обучении моделей
- AutoML: подбор гиперпараметров
- Оптимизация политик RL-агентов
- Edge AI: сжатие и оптимизация моделей
- Использование в MLOps пайплайнах
🗂 Структура проекта
optimizers/: алгоритмы градиентного спуска и Ньютонаutils/: утилиты (линейный поиск и т.д.)examples/: примерыtests/: автоматические тесты
📄 Лицензия
MIT — свободно используйте и модифицируйте.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file numoptml-0.1.1.tar.gz.
File metadata
- Download URL: numoptml-0.1.1.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bc499469b66fafe8a9f2f1b080698b63f87c02e75dad87043193ac8ae7584d4
|
|
| MD5 |
a8b8e7387362d1e7844013850bb127f0
|
|
| BLAKE2b-256 |
62f86b13e3ef3c2b7edea181cc31bb69503226decaaa5b461cbb6810fd0b9d2a
|
File details
Details for the file numoptml-0.1.1-py3-none-any.whl.
File metadata
- Download URL: numoptml-0.1.1-py3-none-any.whl
- Upload date:
- Size: 3.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccb0039d92d2e0fc284be04a194c04a7d95ff2355a89a4c3571ba6c99b5747c4
|
|
| MD5 |
0f0054cd9e725e3c3092cb0c4249fda4
|
|
| BLAKE2b-256 |
db69ef913b2d2b1ad58d396d24291db75325d90670833d2ef246543c6281120f
|