Обсуждение статьи "Возможности Мастера MQL5, которые вам нужно знать (Часть 15): Метод опорных векторов с полиномом Ньютона"

 

Опубликована статья Возможности Мастера MQL5, которые вам нужно знать (Часть 15): Метод опорных векторов с полиномом Ньютона:

Метод опорных векторов (Support Vector Machines) классифицирует данные на основе предопределенных классов, исследуя эффекты увеличения их размерности. Это метод обучения с учителем, который довольно сложен, учитывая его потенциальную возможность работы с многомерными данными. В этой статье мы рассмотрим, как эффективнее реализовать базовую версию двумерных данных с помощью полинома Ньютона при классификации ценовых действий.

Метод опорных векторов (Support Vector Machines, SVM) — это алгоритм классификации на основе машинного обучения. Классификация отличается от кластеризации, которую мы рассматривали в предыдущих статьях здесь и здесь. Основное различие между ними заключается в том, что классификация разделяет данные на предопределенные наборы с учителем, в то время как кластеризация стремится определить, какие именно наборы существуют и сколько их, без учителя.

Вкратце, SVM классифицирует данные, учитывая взаимосвязь, которую каждая точка данных будет иметь со всеми остальными, если к данным будет добавлено измерение. Классификация достигается, если мы можем определить гиперплоскость, которая позволяет чисто анализировать предопределенные наборы данных.

Часто рассматриваемые наборы данных имеют несколько измерений, и именно это свойство делает SVM очень мощным инструментом для классификации таких наборов данных, особенно если числа в каждом наборе невелики или относительная пропорция наборов данных искажена. Исходный код реализации SVM, имеющих более двух измерений очень сложен. Часто в сценариях использования на Python или C# используются библиотеки, минимизируя необходимость вводить код вручную.

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

В этой статье мы рассмотрим очень простой вариант SVM, который обрабатывает двумерные данные (также известный как линейный SVM), поскольку полный исходный код реализации, поскольку полный исходный код не должен содержать ссылок на сторонние библиотеки. Обычно разделяющая гиперплоскость выводится одним из двух методов: полиномиальное ядро (polynomial kernel) или радиальное ядро (radial kernel). Последнее является более сложным и не будет здесь обсуждаться.

Автор: Stephen Njuki

 


заинтересовала статья, но при компиляции у меня возникла проблема:


файл 'C:\Users\sxxxxx\AppData\Roaming\MetaQuotes\Terminal\4B1CE69F57770545xxxxxxxx2C\MQL5\Include\my\Cnewton.mqh' не найден.


 
SergioTForex #:


заинтересовала статья, но при компиляции у меня возникла проблема:


файл 'C:\Users\sxxxxx\AppData\Roaming\MetaQuotes\Terminal\4B1CE69F57770545xxxxxxxx2C\MQL5\Include\my\Cnewton.mqh' не найден.


Да, брат не включил эту библиотеку.

Я читал некоторые из его статей, но не полностью прочитал эту.

Но из того, что я понял, он переносит работу из предыдущих обсуждений. Так что если вы просто вернетесь назад в хронологическом порядке, я хочу верить, что вы найдете этот класс.
 
Я не нашел Cnewton.mqh
 
SergioTForex #:
Я не нашел Cnewton.mqh.

Класс с таким именем есть (в предыдущих статьях), но он не подходит для этого примера, не может быть использован и скомпилирован.

Автор статьи должен включить эту библиотеку, чтобы мы могли ее использовать.

 
Milan Zivanovic #:

Существует класс с таким именем (в предыдущих статьях), но он не подходит для данного примера, не может быть использован и скомпилирован.

Автор статьи должен включить эту библиотеку, чтобы мы могли ее использовать.

Здравствуйте,

Вложение было добавлено, статья отправлена на публикацию и скоро будет обновлена.