Как вычисляется центр класса для атрибута решения в алгоритме фаззификации на основе центра класса? - PullRequest
0 голосов
/ 04 февраля 2019

Я столкнулся с алгоритмом фаззификации на основе класса на странице 16 этого исследования TRFDT .Тем не менее, я не понимаю, что происходит на шаге 2 этого алгоритма (названного в статье как Алгоритм 2: Fuzzification).Если бы кто-то мог объяснить это, приведя небольшой пример, это, безусловно, было бы полезно.

1 Ответ

0 голосов
/ 05 февраля 2019

Из вашего вопроса не ясно, какие части статьи вы понимаете, и ИМХО, статья написана не самым ясным образом, так что это будет длинный ответ.

Давайте начнем с некоторыхинтуиция за этой статьей.Короче говоря, я бы сказал: «Давайте добавим нечеткость везде в деревья решений».

Как работает дерево решений?У нас есть проблема классификации, и мы говорим, что вместо комплексного анализа всех атрибутов точки данных мы будем анализировать их один за другим в порядке, определенном деревом, и будем перемещаться по дереву, пока не достигнем какого-либо конечного узла.Метка на этом листовом узле является нашим предсказанием.Итак, хитрость в том, как построить хорошее дерево, то есть хороший порядок атрибутов и хорошие точки расщепления.Это хорошо изученная проблема, и идея состоит в том, чтобы построить дерево, которое закодирует как можно больше информации с помощью некоторой метрики.Есть несколько метрик, и эта статья использует энтропию, которая похожа на широко используемый информационный прирост .

Следующая идея состоит в том, что мы можем изменить классификацию (то есть разделить значения на классы)как нечеткие, а не точные (иначе "четкие").Идея здесь заключается в том, что во многих ситуациях из реальной жизни не все члены класса одинаково репрезентативны: некоторые - более «основные» примеры, а некоторые - более «передовые».Если мы сможем уловить эту разницу, мы можем предоставить лучшую классификацию.

И, наконец, возникает вопрос о том, насколько похожи точки данных (как правило, или по некоторому подмножеству атрибутов), и здесь мы также можем иметь нечеткуюответ (см. формулы 6-8).

Таким образом, идея основного алгоритма (Алгоритм 1) та же, что и в ID3-дереве : рекурсивно найти атрибут a*, который классифицируетданные наилучшим образом и выполнить лучшее разделение по этому атрибуту.Основное различие заключается в том, как измеряется прирост информации для выбора лучшего атрибута (см. Эвристику в формулах 20-24), и в том, что из-за нечеткости обычное правило остановки «остался только один класс» больше не работает и, следовательно, другая энтропия(Коско-нечеткая энтропия в 25) используется для определения того, пора ли остановиться.

Учитывая этот скелет алгоритма 1, есть довольно много частей, которые вы можете (или должны) выбрать:

  • Как вы измеряете μ (a i ) τ (C j ) (x) используется в (20) (это мера того, насколько хорошо x представляет класс C j относительно атрибута a i , обратите внимание, что здесь нев C j и далеко от точек в C j (тоже хорошо) с двумя очевидными вариантами: нижняя (16 и 18) и верхняя границы (17 и 19)

  • Как вы измеряете μ (x, y), используемое в (16-19).Учитывая, что R индуцируется i , это становится μ ( i ) τ (x, y), что является меройсходство между двумя точками относительно атрибута a i .Здесь вы можете выбрать одну из метрик (6-8)

  • Как вы измеряете μ C i (y), используемых в (16-19).Это мера того, насколько хорошо точка y вписывается в класс C i .Если у вас уже есть данные в качестве нечеткой классификации, вам нечего здесь делать.Но если ваша входная классификация четкая, то вы должны каким-то образом получить μ C i (y) из этого, и это то, что делает Алгоритм 2 .

чтЭто тривиальное решение μ C j (x i ) = "1, если x i ∈ C J и 0 иначе ", но это не совсем нечетко.Процесс построения нечетких данных называется «фаззификацией».Идея алгоритма 2 заключается в том, что мы предполагаем, что каждый класс C j на самом деле является своего рода кластером в пространстве атрибутов.И поэтому мы можем измерить степень членства μ C j (x i ) как расстояние от x i до центракластера c j (чем ближе мы, тем выше должно быть членство, так что это действительно некоторая обратная величина расстояния).Обратите внимание, что, поскольку расстояние измеряется атрибутами, вы должны как-то нормализовать свои атрибуты, иначе один из них может доминировать над расстоянием.И это именно то, что делает алгоритм 2:

  1. он оценивает центр кластера для класса C j как центр масс из всех известных точек в этом классе, то есть просто среднее значение всех точек по каждой координате (атрибуту).

  2. вычисляет расстояния от каждой точки x i докаждый предполагаемый центр класса c j

  3. , рассматривая формулу на шаге № 12, использует обратный квадрат расстояния в качестве меры близости и просто нормализует значение, потому чтодля нечетких множеств Сумма [по всем C j ] (μ C j (x i )) должна составлять 1

...