Алгоритм TPFU

искусственный интеллект сбор данных

Предварительно: есть ли разница между нечетким майнингом полезных ископаемых и неопределенными наборами данных? Можно ли использовать их вместе? Хотя алгоритм, который будет записан сегодня, устарел (2015 г., двухфазный алгоритм), это действительно относительно классический алгоритм нечеткой полезности, который необходимо тщательно изучить.

Fuzzy utility mining with upper-bound measure

Образец

Fuzzy Method

Membership value

Transaction Dataset

Transaction database.png

Utility of Each Item

Utility of each item.png

определение

  • наборы предметов (itemset):Зависит отI={i1,i2,,in}I=\lbrace i_1, i_2, \ldots, i_n \rbraceПодмножество нескольких элементов в{i1,,il}\lbrace i_1, \ldots, i_l \rbrace1<ln1 < l \le n,ijiki_j \not= i_k(jkj \not= k);llпредставляет длину набора элементов, который мы называемll-itemsetitemset

  • Количественные наборы элементов транзакции (quantitative transaction database): Наборы элементов количественных транзакций (QDB) состоит из множества элементов транзакции{Trans1,Trans2,,Transy,Transz}\lbrace Trans_1, Trans_2, \ldots, Trans_y, Trans_z \rbrace, где нижний индекс относится к номеру каждой позиции транзакции (TID),zzЗначит этоQDBсколько транзакций всего

  • Нечеткое множество (fuzzy set): каждая транзакционная позиция состоит из множестваitemsetсостав, в условиях сделкиTransyTrans_yсредний срокizi_z(Нижний индекс представляет номер значения нечеткого квантования)fyzf_{yz} = (\big( fyz1Rz1\frac{f_{yz1}}{R_{z1}}+fyz2Rz2\frac{f_{yz2}}{R_{z2}}+\dots+fyzlRzl\frac{f_{yzl}}{R_{zl}}+\dots+fyzhRzh\frac{f_{yzh}}{R_{zh}} )\big)RzlR_{zl}относится к элементуizi_zКаким нечетким интервалам принадлежат (в данной работе этоLowLow,MiddleMiddleиHighHigh,fyzlf_{yzl}то же),izi_zсуществуетTransyTrans_yколичество вvyzv_{yz}Выражать. например, предметDDсуществуетTrans6Trans_6Квантованное значение нечеткого множества вf6,Df_{6,D}=(0.6/D.Low,0.4/D.Middle,0/D.High)(0.6/D.Low, 0.4/D.Middle, 0/D.High)

    Ps. Три числа 0,6, 0,4 и 0 получены из первого примера (Fuzzy Method), потому что прямая линия, перпендикулярная оси количества, будет пересекать не более двух нечетких интервалов, поэтому в этой статье одновременно имеется не более двух нечетких значений количественной оценки элемента, и метод расчета можно рассматривать как решение подобных треугольников

  • Значение прибыли (external utility): каждый элемент имеет уникальныйпростоЗначение полезности, обычно называемое значением прибыли для простоты понимания, использованиеs(iz)s(i_z)Представление (что, если это отрицательное число?)

  • Нечеткое значение полезности элемента в элементе транзакции (fuzzy utility of item in a transaction): Идея согласуется с методом расчета значения полезности общего предмета.Формула расчета в нечетком майнинге полезности выглядит следующим образом:fuyzlfu_{yzl}=fyzl×vyz×s(iz)f_{yzl} \times v_{yz} \times s(i_z); Также вTrans6Trans_6пункт вDDНапример,f6,Df_{6,D}=0.6×3×30.6 \times 3 \times 3, в то время как нечеткая утилита решения для всех элементов во всем наборе данных вводится позже

  • Нечеткое значение полезности набора элементов в элементе транзакции (fuzzy utility of itemset in a transaction): также в позиции транзакции,fuyXfu_{yX}=fyX×RyzlX(vyz×s(iz))f_{yX}\times\sum_{R_{yzl} \subseteq X}(v_{yz} \times s(i_z)), необходимо указатьfyXf_{yX}берется из набора предметовXXВсе элементы элементаizi_z, в качестве значения вычисляется наименьшее значение нечеткого квантования, например, вTrans6Trans_6средний, нечеткий срокC.LowC.LowиD.LowD.LowЗначения нечеткого квантования равны11и0.60.6,Такf6,{C.Low,D.Low}f_{6,\lbrace C.Low, D.Low \rbrace}=0.60.6

  • Нечеткое значение полезности термина (fuzzy utility of item): Во всем наборе данных нечеткое значение полезности элемента рассчитывается какafuzafu_z=izlеyfuyzl\sum_{i_{zl} \in y}fu_{yzl}

  • Нечеткое значение полезности набора элементов (fuzzy utility of itemset): Во всем наборе данных значение нечеткой полезности набора элементов рассчитывается какafuXafu_X=yfuyX\sum_{y}fu_{yX}; также с наборами элементовXX={C.Low,D.Low}\lbrace C.Low, D.Low \rbraceНапример,afuXafu_X=fu2,Xfu_{2,X}+fu4,Xfu_{4,X}+fu6,Xfu_{6,X}+fu8,Xfu_{8,X}=33.233.2

  • Наборы предметов с высокой нечеткостью полезности (high fuzzy utility itemset): когда нечеткое значение полезности набора элементов не меньше заданного порогаλ\lambda, тогда мы называем набор элементов высоко-нечетким набором полезных элементов (HFU)

  • Максимальное нечеткое значение полезности элемента в элементе транзакции (maximal fuzzy utility of item in a transaction): Поскольку в наборе элементов транзакции много нечетких интервалов, поэтому для определенного элементаizi_zДолжны существовать максимальное значение нечеткого квантования и минимальное значение нечеткого квантования.downward-closure propertyЭффект

  • Максимальное нечеткое значение полезности элемента транзакции (maximal fuzzy utility of a transaction): Из-за максимального значения нечеткой полезности элемента элемент транзакции, состоящий из нескольких элементов, естественно, также имеет максимальное значение нечеткой полезности.mtfuymtfu_y=izTransymfuyz\sum_{i_z \subseteq Trans_y}mfu_{yz}

  • Верхняя граница нечеткой полезности (fuzzy utility upper-bound): Найдите верхнюю границу (оценочное значение, аналогичное максимальному нечеткому значению полезности элемента транзакции).TWUTWU) может найти набор элементовXXоценочная стоимостьfubbXfubb_X=XTransyQDBmtfuy\sum_{X \subseteq Trans_y \subseteq QDB}mtfu_y

  • Кандидаты на высоко-нечеткие служебные наборы (high fuzzy utility upper-bound itemset): когда верхнее граничное значение нечеткой полезности набора не меньше порогаλ\lambda, набор может бытьHFU, необходимы дальнейшие расчеты для проверки

алгоритм

TPFU Algorithm

TPFU algorithm.png

Суммировать

TPFUАлгоритм не использует очень мощные стратегии обрезки или другие методы расчета, потому что это классическийtwo-phaseАлгоритм класса, поэтому чтение псевдокода не представляет особой сложности. Лично у меня есть следующие вопросы: 1) Во время процесса Фазы I многократно обходит QDB, то же самое в реальном коде? 2) Делает ли использование только одной верхней границы граничное значение менее компактным? 3) Есть ли более эффективный способ расчета различных максимумов? 4) В реальном коде эти данные хранятся в массиве или в хэш-карте? Также в статье упоминается, что FUM не так прост, как HUEM, который изучался ранее, а скорее получить полезные правила ассоциации, используя «маленький, малый, подходящий, большой, большой» (Membership Function) Такие прилагательные заменяют точные числа, что больше соответствует привычкам описания в нашей повседневной жизни, но в результате шаги решения становятся более громоздкими, а конкретные детали необходимо дополнительно изучать в коде