CAN: повышение производительности классификации за счет распределения данных (3)

алгоритм

Это 25-й день моего участия в ноябрьском испытании обновлений. Узнайте подробности события:Вызов последнего обновления 2021 г.

Расчет моделирования AN (переменная нормализация)

Сначала мы устанавливаем некоторые матрицы и параметры

A0=[0.200.80.90.10001]b0=[0.500.5]Λq=[0.80.10.1]α=1,d=1\begin{aligned} A_0 &= \begin{bmatrix}0.2 & 0&0.8\\0.9 & 0.1& 0\\0&0&1\end{bmatrix}\\ b_0 &= \begin{bmatrix}0.5\\0\\0.5\end{bmatrix}\\ \Lambda_q &= \begin{bmatrix}0.8\\& 0.1\\&&0.1\end{bmatrix} \\ \alpha &= 1, d = 1 \end{aligned}

Чтобы немного объяснить,A0A_0Согласно оригинальному описанию алгоритмаnnПутем объединения предсказанных распределений вероятностей выборок с относительно высокой достоверностью можно увидеть, что только 3 выборки имеют относительно высокую достоверность, а их предсказанные категории равны 2, 0 и 2 соответственно;b0b_0является образцомxxПрогнозируемая вероятность , поскольку это распределение вероятностей, сумма должна быть равна 1;Λq\Lambda_qпредставляет собой выборочное соотношение трех категорий, видно, что первая категория имеет много данных

Во-первых, это нормализация столбцов.

ΛS=D(L0Te)=D([0.200.80.90.100010.500.5]T[1111])=D([1.60.12.3])=[1.60.12.3]Sd=L0ΛS1=[0.200.80.90.100010.500.5][1/1.6101/2.3]=[1/808/239/16100010/235/1605/23]\begin{aligned} \Lambda_S &= \mathcal{D}(L_0^T\mathbf{e})\\ &=\mathcal{D}({\begin{bmatrix}0.2&0&0.8\\0.9&0.1&0\\0&0&1\\ 0.5&0&0.5\end{bmatrix}}^T\begin{bmatrix}1\\1\\1\\1\end{bmatrix})\\ &=\mathcal{D}(\begin{bmatrix}1.6\\0.1\\2.3\end{bmatrix})\\ &= \begin{bmatrix}1.6&&\\&0.1&\\&&2.3\end{bmatrix}\\\\ S_d &=L_0\Lambda_S^{-1}\\ &=\begin{bmatrix}0.2&0&0.8\\0.9&0.1&0\\0&0&1\\0.5&0&0.5\end{bmatrix}\begin{bmatrix}1/1.6&&\\&10&\\&&1/2.3\end{bmatrix}\\ &= \begin{bmatrix}1/8&0&8/23\\9/16&1&0\\0&0&10/23\\5/16&0&5/23\end{bmatrix} \end{aligned}

Посмотрите внимательно на матрицуSdS_d, это в сумме 1 для каждого столбца, то есть нормализация столбца, если мы вернемся к источнику, на самом делеSdS_dэтоL0L_0просуммируйте каждый столбец, затем поставьтеL0L_0Разделите каждый элемент столбца на эту сумму

с последующей нормализацией строк

ΛL=D([1/808/239/16100010/235/1605/23][0.80.10.1][111])=D([31/23011/201/2325/92])=[31/23011/201/2325/92]L1=[230/3120/112392/25][1/808/239/16100010/235/1605/23][0.80.10.1]=[23/3108/319/112/11000123/2502/25]\begin{aligned} \Lambda_L &= \mathcal{D}(\begin{bmatrix}1/8&0&8/23\\9/16&1&0\\0&0&10/23\\5/16&0&5/23\end{bmatrix}\begin{bmatrix}0.8&&\\&0.1&\\&&0.1\end{bmatrix}\begin{bmatrix}1\\1\\1\end{bmatrix})\\ &= \mathcal{D}(\begin{bmatrix}31/230\\11/20\\1/23\\25/92\end{bmatrix})\\ &= \begin{bmatrix}31/230&&&\\&11/20&&\\&&&1/23&\\&&&&25/92\end{bmatrix}\\\\ L_1&= \begin{bmatrix}230/31&&&\\&20/11&&\\&&&23&\\&&&&92/25\end{bmatrix}\begin{bmatrix}1/8&0&8/23\\9/16&1&0\\0&0&10/23\\5/16&0&5/23\end{bmatrix}\begin{bmatrix}0.8&&\\&0.1&\\&&0.1\end{bmatrix}\\ &= \begin{bmatrix}23/31&0&8/31\\9/11&2/11&0\\0&0&1\\23/25&0&2/25\end{bmatrix} \end{aligned}

нам просто нужноL1L_1последняя строкаb1=[23/2502/25]T\mathbf{b}_1=\begin{bmatrix}23/25&0&2/25\end{bmatrix}^T, видно что оригиналb0\mathbf{b}_0Распределение вероятностей[0.500.5]T\begin{bmatrix}0.5 &0&0.5\end{bmatrix}^T, категория после «предварительной» корректировки явно смещается в сторону первой категории с большим количеством данных, иb1\mathbf{b}_1Сумма векторов равна 1, что соответствует определению вероятности