Ada_Ru форум

Обсуждение языка Ада

[ada_ru] Ada and machine learning

Оставить новое сообщение

Сообщения

Alexey Veselovsky
[ada_ru] Ada and machine learning
2017-06-09 11:30:41

Приветствую.

Есть ли какие-то готовые библиотеки для Ады на тему машинного обучения?

Реализованные решающие деревья, бустинг, линейные методы, метод опорных векторов (SVM) в его различных вариациях и так далее?

Я поискал, найти не смог.

Спасибо.

Деревья решений реализованы здесь

http://www.dmitry-kazakov.de/ada/fuzzy_ml.htm

Спасибо! Попробую разобраться что там как.

Сама система обучения, в принципе, расширяемая. Я не добавлял других методов обучения т.к. 20 лет не было никакого реального экономического интереса к машинному обучению вообще. Да и теперь все это выглядит как мыльный пузырь тогда, в начале 90-х. Посмотрим.

>

Ну, скажем так, хайпа вокруг этих методов, как обычно, подняли больше чем оно того стоит, но по факту это все уже довольно давно используется в проде (в некоторых областях конечно, не везде), и с этим нельзя не считаться. Например, там где я работаю ML используется повсеместно.

Я не уверен что в нише Ады ML прям таки нужен-нужен. На ум приходит разве что self driving car, где с одной стороны совсем без ML тяжко, с другой если ML-часть реализована на питоне или плюсах, то это как-то стрёмно c точки зрения безопасности. (хотя наличие ML само по себе означает, что ошибки таки БУДУТ, но добавлять к ML-ошибка еще софтверные ошибки реализации, это как-то перебор)

Деревья решений реализованы здесь

http://www.dmitry-kazakov.de/ada/fuzzy_ml.htm http://www.dmitry-kazakov.de/ada/fuzzy_ml.htm

Графичесий интерфейс можно не использовать, если не нужен. Нечеткость вся сведена на нижний уровень дерева, т.е. оно может работать как четкое или вероятностное дерево.

Сама система обучения, в принципе, расширяемая. Я не добавлял других методов обучения т.к. 20 лет не было никакого реального экономического интереса к машинному обучению вообще. Да и теперь все это выглядит как мыльный пузырь тогда, в начале 90-х. Посмотрим.

Будут вопросы или пожелания, пришите.

Касательно надежности, это - не проблема языка, а проблема самого подхода. Инженерное решение должно иметь определенные рамки применимости, что позволяет предвидеть вероятность отказа, его стоимость и т.п.

В случае ИИ, все решения не инженерные по-определению. Вы в принципе не знаете почему обученная смстема работает, и когда и где она работать не будет. Если бы знали, то не надо было бы обучать. Так что ИИ - то, что (пока) не знаем как. Когда знаем это - уже не ИИ, а просто конкретный метод решения конкретной проблемы. Есть всякие подходы к "извлечению знаний" из обученной системы. Но это не очень работает, скорее, очень не работает. Прямая аналогия - воспитание детей или дрессировка животных. Каждый случай - штучный товар, исход не предсказуем, результат на другой объект не переносим. Детский сад или цирк - не инженерное бюро, хотя бывает что наооборот.

Хуже того, сами области применения ИИ таковы, что системы там не тестируемы. Например, невозможно тестировать систему автономного вождения с покрытием больше чем бесконечно малым. То есть и прямые методы контроля (доказательство, оценка), и косвенные (тесты, сценарии) не работают. На чем это писать - ну какая разница?

Новое сообщение:
Страницы: 1

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти