НОВОСТИ Представление объектов для машинного обучения, основанного на теории решеток

Alvaros
Онлайн
Регистрация
14.05.16
Сообщения
21.452
Реакции
101
Репутация
204
Это четвертая статья из серии работ (ссылки на , и статьи), посвященных системе машинного обучения, основанного на теории решеток, названной "ВКФ-система". Программа использует алгоритмы, основанные на цепях Маркова, чтобы породить причины целевого свойства путем вычисления случайного подмножества сходств между некоторыми группами обучающих объектов. Эта статья описывает представление объектов через битовые строки, чтобы вычислять сходства посредством побитового умножения соответствующих представлений. Объекты с дискретными признаками требуют некоторой техники из Анализа формальных понятий. Случай объектов с непрерывными признаками использует логистическую регрессию, разделение области изменения на подынтервалы с помощью теории информации и представление, соответствующее выпуклой оболочке сравниваемых интервалов.


rhfs5ibosy3syol0u-snlurwhv8.jpeg



1 Дискретные признаки



Чтобы закодировать объект, описываемый только дискретными признаками, нам нужно вычислить вспомогательные битово-строчные представления значений каждого признака. Мы предполагаем, что эксперт в состоянии связать эти значения в отношении "общий"/"частный". Упорядочение должно образовывать нижнюю полурешетку после добавления специального значения 'null' (с сокращением '_' в некоторых случаях), чтобы обозначить тривиальное (отсутствующее) сходство между значениями заданного признака у сравниваемых объектов.


Представление целого объекта будет конкатенацией кодирований значений его признаков в некотором фиксированном порядке. Тогда побитовое умножение длинных строк сведется к перемножениям кодирований каждого атрибута. Следовательно, кодирование должно заменять сходство между значениями на побитовое умножение.


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


Современная формулировка фундаментальной теоремы АФП утверждает


Для каждой конечной решетки
3534318573eaf810ca4a6be730f48feb.svg
пусть
560bd97f235311a36dff00db005e6ab5.svg
будет (над)множеством всех
8117b66941ffba04052e8170dcc5324b.svg
-неразложимых элементов и
94d13ee0aadd7f17977e0d279af38d42.svg
будет (над)множеством всех
92dd3040c6f20cdd2a039dfd255b0c28.svg
-неразложимых элементов. Для
1256e0d5fcb7f35211a029ba7d6d1325.svg
выборка
e92b76131c7c4419f53c9589c8086d77.svg
породит решетку всех кандидатов
41c970659343f621c8f94ea93ac8de01.svg
, которая изоморфна первоначальной решетке
3534318573eaf810ca4a6be730f48feb.svg
.


Элемент
059f41759f27f8eca3bc8fd3c75b1df6.svg
решетки
3534318573eaf810ca4a6be730f48feb.svg
называется
92dd3040c6f20cdd2a039dfd255b0c28.svg
-неразложимым, если
b3f01d9c39a96772e182d9f8f449202c.svg
и для всех
2c6c05893deb3a113403409fa3a518c1.svg
5bc8dd68843cfe22ca2dbb2ecd151e70.svg
и
d80fc34a074977afec5f5fb11bc78f3b.svg
влекут
bd7de781b378e412edc323ddc4cb4a18.svg
.
Элемент
059f41759f27f8eca3bc8fd3c75b1df6.svg
решетки
3534318573eaf810ca4a6be730f48feb.svg
называется
8117b66941ffba04052e8170dcc5324b.svg
-неразложимым, если
ee06f8d717b76f62aa2d3e5d31edf9b4.svg
и для всех
2c6c05893deb3a113403409fa3a518c1.svg
b1dce14360a2d7d363f60b1b6884b5bf.svg
и
aae67882dfdf69a7876af372cfd1eab6.svg
влекут
88abdf067c60786af9c28ef07b64a20c.svg
.


Решетка ниже содержит
8117b66941ffba04052e8170dcc5324b.svg
-неразложимые элементы, отмеченные красным цветом,
92dd3040c6f20cdd2a039dfd255b0c28.svg
-неразложимые элементы, отмеченные синим.


tztbddmjnt1nxp-ialxgemm1w_k.png



Фундаментальная теорема (первоначально доказанная проф. Рудольфом Вилле с помощью выборки
e990d3f9026c5ca358a4cc1264d6ecd8.svg
) задает минимальную выборку вида

G\Mhijk

a

1

1

1

0

b

0

1

1

1

c

1

1

0

0

d

1

0

1

0

f

0

1

0

1

g

0

0

1

1


чтобы породить решетку всех кандидатов, изоморфную исходной решетке.


Отметим, что выборка Вилле требует 121 бит, а новая выборка нуждается только в 24 битах!


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

  1. Топологически сортируем элементы нижней полурешетки.
  2. В матрице порядка
    1c72dfc956eb853108ba6f4ee117ae00.svg
    ищем столбцы, которые совпадают с побитовым умножением предыдущих (каждый такой столбец соответствует
    92dd3040c6f20cdd2a039dfd255b0c28.svg
    -приводимому элементу).
  3. Все найденные (
    92dd3040c6f20cdd2a039dfd255b0c28.svg
    -приводимые) столбцы удаляются.
  4. Строки оставшейся матрицы задают коды соответствующих значений.


Этот алгоритм являются частью обеих CPython-библиотек: 'vkfencoder' внутри конструктора класса vkfencoder.XMLImport и 'vkf' внутри конструктора класса vkf.FCA. Разница — в источнике данных: vkf.FCA читает такблицу БД под управлением MariaDB, а vkfencoder.XMLImport читает XML файл.

2 Непрерывные признаки



Мы обсуждаем шаги кодирования непрерывных признаков в соответствии с порядком их изобретения. Сначала мы применим идею системы C4.5 обучения деревьям решений для разделения области значений переменной на подынтервалы с использованием энтропийных методов.
После этого мы закодируем появление значения в некотором подынтервале битовой строкой таким образом, чтобы побитовое умножение соответствовало выпуклой оболочке сравниваемых подынтервалов.
Наконец, мы рассмотрим, как комбинировать несколько признаков, чтобы получить их дизъюнкцию или импликации. Ключом является логистическая регрессия между признаками.

2.1 Энтропийный подход



Когда мы имеем непрерывный признак, его область значений должна быть разбита на несколько подынтерваловв с различным влиянием на целевое свойство. Чтобы выбрать корректные пороги мы свяжем этот признак и целевое свойство через энтропию.


Путь
aec8fb9eb4c5bd5f5e7a74090ef5c1a4.svg
будет дизъюнктным объединением обучающих примеров
560bd97f235311a36dff00db005e6ab5.svg
и контр-примеров
2b647eca43a3275e9b95a138b659a0ea.svg
. Интервал
a4a78a8883f1f7d2f6b93989ab57f2ec.svg
значений непрерывного признака
28fee34d0db36cf3e5abc254da1a79ce.svg
порождает три подмножества
d180a8e4417f01d4fe276f2c66ac1e83.svg
422ca81f131d20c33e83637a08169ee4.svg
и
ab08ce6ca49629d870599123d224ce43.svg
.


Энтропия интервала
a4a78a8883f1f7d2f6b93989ab57f2ec.svg
значений непрерывного признака
28fee34d0db36cf3e5abc254da1a79ce.svg
равна



e6b94ffe91601a901b2edcbc901b2afb.svg



Средняя информация разбиения
9a5236c02badff654e89858d830e1e89.svg
интервала
a4a78a8883f1f7d2f6b93989ab57f2ec.svg
значений непрерывного признака
28fee34d0db36cf3e5abc254da1a79ce.svg
равна



c9665c221c0aa84e744327c5c18137cb.svg



Порог — это значение
35b4627ee0d37378a12029954e845a96.svg
с минимальной средней информацией.


Для непрерывного признака
28fee34d0db36cf3e5abc254da1a79ce.svg
обозначим
f8e2b946ce6ade19ce95d47e640b7bfc.svg
через
31dff67d99f46d7e82a848d1a59fe165.svg
, и пусть
a1f4773ff56c9e5e6ab4e6221f77a7e3.svg
будет произвольным числом, превосходящим
cfe58b573533feaa478409f608641079.svg
. Пороги
712cf7de0fd6c6924f31bf552e8fccf9.svg
вычисляются последовательно расщеплением подынтервала с наибольшей энтропией.

2.2 Кодирование битовыми строками для выпуклой оболочки



Мы представляем значение непрерывного признака битовой строкой длины
2cdb71aea267f1dba6c04eac1ce75919.svg
, где
30fb6814eea0091044df0e5de33dfbc2.svg
— число порогов. Битовые строки могут рассматриваться как строки индикаторных (Булевских) переменных



149a1e5d40be350fd0e3745e3759f71d.svg



где
862a257cd5d0c5989d0e285aad62e703.svg
.


Тогда строка
141bbdde0f04a5121e594b2ad9c6f922.svg
является битовым представлением непрерывного признака
836e59247dee9dc566df40f0f1d606e8.svg
на объекте
3835bc2036cc51208781ed9af53bc89c.svg
.


Следующая лемма утверждает, что результат побитового умножения — выпуклая оболочка интервалов для аргументов.


Путь
9e346480e034c5a258e507f88ed02dbd.svg
представляет
0186a3fdaf1d1c11f0a7e2b605a88b54.svg
и
8daa8dea5d7b892f9185bcdfaf56fed6.svg
предстваляет
ff81e6357d8944e0352d4487173083fa.svg
. Тогда



1aa9f6e8314042117cc04662a70b4a20.svg



соответствует
198e0c0a2fa107c8833eeea27a0eb2ef.svg
.


Отметим, что тривиальное сходство
ef0b94697c4cd6452e82cae43f51c4a4.svg
соответствует тривиальному условию
b3a9e6147ffe0bff1b8f3a695261a91e.svg
.

2.3 Отношения между непрерывными признаками



Подход к машинному обучению на основании АФП естественно рассматривает конъюнкцию нескольких бинарных аттрибутов как возможную причину целевого свойства. В случае дискретных признаков эксперт имеет возможность выразить дизъюнкцию значений путем добавления новых значений (в решеточных структурах параграфа 1). Случай непрерывных признаков отличается. Так что мы нуждаемся в некоторой технике, чтобы включить и этот случай.


Ключевой является следующая лемма


Дизъюнкция пропозициональных переменных
22350759fabc8d0d1e262d1bd529e5e0.svg
эквивалентна выполнимости неравенства
88b49adb66dc2abe6f20b8b8afe1d052.svg
для любого
5c765eb8e247a27579b1be47c3ded2e2.svg
.


Так как мы ограничиваемся двумя целевыми классами, то мы ищем классификатор


Классификатор — это отображение
25f2ca813d6eb59799bb044eda219e6b.svg
R
b2dc1ae7e2a642d21e55d2ca273cb540.svg
, где
58a59415ead903b97e7a81a842b48ed2.svg
— область объектов классификации (описываемых
35ea8536b3e6152e60442ccecbc46812.svg
непрерывными признаками) и
26f2c223f2cf3f04c8914878264507dc.svg
метки целевых классов.


Как обычно, мы предположим существование некоторого вероятностного распределения
c133f8b9ace0d6abf46654f7309bc23f.svg
, которое может быть разложено как



99e65632c16501eaf23c8c3e31e44071.svg



где
f2186de603701e097b8e188421f51b45.svg
— побочное (маргинальное) распределение объектов, a
cf2c676697a9ffd370f6f948bfce61ec.svg
— условное распределение меток на заданном объекте, т.е. для каждого
e4a6f5f8903b9fb0a15524c9052b1ea1.svg
выполняется следующее разложение



e67c576b4ef35846f8968a869c09a5bc.svg



Вероятность ошибки классификатора
785fd93b87e4bddb53a57a41e2ff970c.svg
равна



1d3a76f912cf7865d8b30ffdb806c450.svg



Байесовский классификатор
46907f3f4326596b0df08d5fdde70504.svg
относительно
cf2c676697a9ffd370f6f948bfce61ec.svg

задается правилом



e3a86db0da3e33fdc38d50ea554bf89e.svg



Мы напомним хорошо известную теорему об оптимальности Байесовского классификатора


Байесовский классификатор
302c7204ea9987e698a70307646abd71.svg
имеет наименьшую ошибку классификации:



3b281cce77af34cfbc084d9cae41b616.svg



Теорема Байеса влечет



09a048af893ba6a1c924cc0c263d4a0b.svg



где
828a3e53047b2c3f5ece2cf40ffd1bfa.svg
и
a05f941c3d069ee38cfbb3a3d361f49a.svg
— хорошо известная логистическая функция.

2.4 Логистическая регрессия между непрерывными признаками



Давайте приблизим неизвестную
828a3e53047b2c3f5ece2cf40ffd1bfa.svg
линейной комбинацией
34973625ff12f5b42a00256e5854ca7c.svg
базисных функций
13565b32d8dc04e0773023be0ccf1827.svg
(
9522e73d4eff139df2da76e9d8661229.svg
) относительно неизвестных весов
cb6c48f651ce5d291aee39c81a998313.svg
.


Для обучающей выборки
a914b230b1fae984d1d2debea1d7e8ff.svg
введем знаки
abd2912f171254193a4b07f107a19236.svg
. Тогда



b983390cd4d07ed53f58aca73e8046af.svg



Заметим, что логарифм правдоподобия



8ddad127e0d499fd04f92371cec1348b.svg



является вогнутой функцией.


Метод Ньютона-Рафсона приводит к итеративной процедуре



5a895b21e6df6980c7fa2e264f1c589a.svg



С помощью
2630b4970a0443b7aa3e1add2cf9dd9f.svg
мы получаем



bf0c3103170b43087a331ad9688941d3.svg



где
1130bd9237813505d23f5e210ff77fdf.svg
— диагональная матрица с элементами
d92f95a339951d316605f6019803570f.svg
и
911ba1ed74405cb8beaeb5789269e54d.svg
— вектор с координатами
0d491e9b1d524e1a1171dd22ed5c775e.svg
.



49e7117a84f4559d4ae0e9c1abd4a1c5.svg



где
bcba9d356d1a495fedc0c1c16d0f03e2.svg
— итеративно вычисляемые веса.


Как обычно, ридж-регрессия поможет избежать плохо-обусловленной ситуации



7f0339904d73d2a21498924c466639bb.svg



В компьютерной программе "ВКФ-система" мы используем стандартный базис: константу 1 и сами признаки.


Наконец, нам нужен критерий значимости регрессии. Для логистической регрессии применялись два типа критериев:


Критерий Кокса-Снелла объявляет признак
4159a75024cfeab491405de5635eaac3.svg
значимым, если



3625411c2c90f7fdd350457e85f5f222.svg



Критерий МакФаддена объявляет признак
4159a75024cfeab491405de5635eaac3.svg
значимым, если



ccc61ee395af88d329307618095dc3f9.svg


Заключение



"ВКФ-система" была применена к массиву Wine Quality из репозитория данных для машинного обучения (Универсистет Калифорнии в г. Ирвайн). Эксперименты продемонстрировали перспективы предложенного подхода. Для высококачественных красных вин (с оценкой >7), все примеры были классифицированы корректно.


Ситуация с дизъюнкцией (из параграфа 2.3) возникла при учете взаимоотношения "алкоголь" и "сульфаты". Положительные (хотя и слабо различные) веса соответствуют разным шкалам измерения различных признаков, а порог оказался строго между 0 и 1. Ситуация с "лимонной кислотой" и "алкоголем" была аналогичной.


Но ситуация с парой ("pH", "алкоголь") радикально отличалась. Вес "алкоголя" был положительным, тогда как вес "pH" оказался отрицательным. Но с помощью очевидного логического преобразования мы получили импликацию ("pH"
015fdafe46def6e92fb3ef746f73ca5b.svg
"алкоголь").


Автор выражает благодарности своим колегам и студентам за поддержку и стимулы.
 
Сверху Снизу