alterna ai
ALTERNA AI / ГЛАВА 06 · 06

06.6 Какие направления данных важны для рисунка

На предыдущей странице: группы без готовых правильных ответов.

Выберем направление, вдоль которого центрированные точки разбросаны сильнее всего. Оно полезно для сжатия, но не обязано быть смысловым признаком.

Подбор прямой и разделение точек позволяют увидеть процесс обучения на простых данных. Проверочные ответы не участвуют в исправлениях.

Сначала центр, затем направление

Для X[N,d] вычитаем среднее каждого признака и получаем Xc. В лаборатории covariance C=XcᵀXc/N. Деление наN−1 даёт другой масштаб eigenvalues, но теже eigenvectors приN>1. Первое PCA-направление v₁ максимизирует vᵀCv при||v||₂=1 и является eigenvector крупнейшего eigenvalue. Опора: M01 §2.12.

zi=v1T(xi−xˉ),x^i=xˉ+ziv1.z_i=v_1^T(x_i-\bar x),\qquad \hat x_i=\bar x+z_iv_1.

Для точек(t,.5t),t=−2,−1,0,1,2 среднее0. C=[[2,1],[1,.5]], eigenvalues2.5и0. Главная ось пропорциональна[2,1], нормированный вектор[2,1]/√5. Все точки восстанавливаются по однойкоординате безошибки: dataset лежит на прямой.

Эксперимент. Добавьте всем y одинаковыйoffset. Центрирование должно убрать его изcovariance, а восстановленные точки сохранить новыйцентр. Добавьте поперечное возмущение: появится второе eigenvalue и ненулеваяошибка rank1. ЗнакPC может обратиться без изменения проекции; при равных eigenvalues направление не уникально.

Граница. PCA ищет дисперсию, не важность дляtarget и не «истинный смысл». Большой шумовой признак может стать первойкомпонентой. Fit mean/basis на test создаёт leakage. Следующий шаг — научиться строить нелинейные признаки внутри модели: искусственный нейрон.

points=[[t,.5*t] for t in [-2,-1,0,1,2]]
C=[[sum(row[i]*row[j] for row in points)/5 for j in range(2)] for i in range(2)]
assert C==[[2,1],[1,.5]]

Код повторяет только что разобранные операции. Полный проверяемыйPython-пример главы доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.

PCA не использует target и не обещает семантическую важность.

Как выглядит один элемент, из которого строится более сложная модель?

Python-примеры главы 06 Академическая база →