Как машины учатся?

машинное обучение

Эта серия представляет собой краткое изложение курса «Основы машинного обучения», предлагаемого профессором Сюань-Тянь Линем с факультета информационной инженерии Тайваньского национального университета. Основное внимание уделяется уходу, а не подробным заметкам, поэтому некоторые детали могут быть опущены.

Курс состоит из 16 лекций, разделенных на 4 части:

  1. Когда машины смогут учиться? (Когда машины смогут учиться?)
  2. Почему машины могут учиться? (Почему машины могут учиться?)
  3. Как машины учатся? (Как машины могут учиться?)
  4. Как машины могут учиться лучше? (Как машины могут учиться лучше?)

Эта статья является частью 3, соответствующей лекциям 9-12 исходного курса.

Основное содержание этого раздела:

  • Подробное объяснение алгоритма линейной регрессии, а также гарантии способности к обобщению, можно ли его использовать для задач бинарной классификации и т. д.;
  • Подробно объясняется алгоритм логистической регрессии и вводится метод градиентного спуска;
  • Описать взаимосвязь и различие между PLA, линейной регрессией и логистической регрессией в задачах классификации и представить метод стохастического градиентного спуска;
  • методы OVA и OVO в задачах мультиклассификации;
  • Нелинейное преобразование признаков и как управлять сложностью преобразования.

1 Линейная регрессия

В первой части классификации машинного обучения, когдаY=R\mathcal{Y}=\mathbb{R}, это возврат.

1.1 Алгоритм линейной регрессии

линейная регрессиянабор гипотезочень простой,h(x)=wTxh(\mathbf{x})=\mathbf{w}^T\mathbf{x}, по сути, модель персептрона убирает символическую функцию.

Его точечная метрика ошибки может быть установлена ​​​​какerr(y^,y)=(y^y)2\text{err}(\hat{y}, y)=(\hat{y}-y)^2, то ошибки внутри и вне выборки равныEin(w)=1Nn=1N(wTxnyn)2E_{\text{in}}(\mathbf{w})=\dfrac{1}{N}\sum\limits_{n=1}^{N}(\mathbf{w}^T \mathbf{x}_n-y_n)^2иEout(w)=E(x,y)P(wTxy)2E_{\text{out}}(\mathbf{w})=\mathop{\mathcal{E}}\limits_{(\mathbf{x},y)\sim P}(\mathbf{w}^T \mathbf{x}-y)^2свести к минимумуEinE_{\text{in}}Очень просто, когда оно сведено к минимуму, должно бытьградиентза00, поэтому сначала можно вычислить его градиент:

Ein(w)=2N(XTXwXTy)\nabla E_{\text{in}}(\mathbf{w})=\dfrac{2}{N}(X^T X\mathbf{w}-X^T \mathbf{y})

будь как будет00Вот и все. как показано на рисунке:

какXTXX^T Xобратимый (когдаNd+1N\gg d+1в основном удовлетворен), его можно получить напрямуюwLIN=(XTX)1XTy\mathbf{w}_{\text{LIN}}=(X^T X)^{-1} X^T \mathbf{y}

еслиXTXX^T XЭто странно? Сначала можно определить «псевдоинверсию».XX^\dagger, после определенияwLIN=Xy\mathbf{w}_{\text{LIN}}=X^\dagger \mathbf{y}

На практике рекомендуется использовать непосредственноXX^\dagger, с одной стороны, чтобы избежать осужденияXTXX^T XНезависимо от того, обратимо оно или нет, с другой стороны, оно численно стабильно, даже если оно почти необратимо.

1.2 Обобщение линейной регрессии

Линейная регрессия, похоже, не имеет процесса «обучения», это одноэтапный процесс, так что это машинное обучение?

На самом деле, пока это может быть гарантированоEout(wLIN)E_{\text{out}}(\mathbf{w}_\text{LIN})Достаточно маленький, значит, обучение «случилось».

Здесь мы не начинаем с теории размерности ВК, а объясняем, почему с другой точки зрения.Eout(wLIN)E_{\text{out}}(\mathbf{w}_\text{LIN})будет достаточно мал.

Сначала посмотрим на среднийEinE_{\text{in}}Насколько велик:

Ein=EDPN{Ein(wLINw.r.tD)}\overline{E_{\text{in}}}=\mathop{\mathcal{E}}\limits_{\mathcal{D}\sim P^N}\{E_{\text{in}}(\mathbf{w}_\text{LIN} \text{ w.r.t } \mathcal{D})\}

в

Ein(wLIN)=1Nyy^2=1N(IXX)y2\begin{aligned} E_{\text{in}}(\mathbf{w}_\text{LIN})&=\dfrac{1}{N}\Vert \mathbf{y}-\hat{\mathbf{y}}\Vert^2\\ &=\dfrac{1}{N}\Vert (I-XX^\dagger)\mathbf{y}\Vert^2 \end{aligned}

возможноH=XXH=XX^\daggerназывается шляпной матрицей, потому что она можетy\mathbf{y}сопоставить сy^\hat{\mathbf{y}}. Как видно из рисунка ниже, еслиy\mathbf{y}идеаломf(X)еspanf(X)\in \text{span}плюс шумnoise\mathbf{noise}генерировать, затемIHI-Hтак же может бытьnoise\mathbf{noise}карты наyy^\mathbf{y}-\hat{\mathbf{y}}:

иtrace(IH)=N(d+1)\text{trace}(I-H)=N-(d+1), след можно понимать как «энергию», поэтому мы имеем

Ein(wLIN)=1Nyy^2=1N(IH)noise2=1N(N(d+1))noise2\begin{aligned} E_{\text{in}}(\mathbf{w}_\text{LIN}) &= \dfrac{1}{N}\Vert \mathbf{y}-\hat{\mathbf{y}}\Vert^2\\ &= \dfrac{1}{N}\Vert (I-H)\mathbf{noise}\Vert^2\\ &= \dfrac{1}{N}(N-(d+1))\Vert\mathbf{noise}\Vert^2 \end{aligned}

если правильноEinE_{\text{in}}Взяв среднее значение, его можно приблизительно понять какEin=noiseуровень(1d+1N)\overline{E_{\text{in}}}=\mathbf{noise}\text{ level} \cdot (1-\dfrac{d+1}{N})так же естьEout=noiseуровень(1+d+1N)\overline{E_{\text{out}}}=\mathbf{noise}\text{ level} \cdot (1+\dfrac{d+1}{N})(Процесс доказательства опущен).

следовательноEin\overline{E_{\text{in}}}иEout\overline{E_{\text{out}}}Отношения показаны на рисунке:

какNN\to\infty, то оба сходятся ко2\sigma^2(noiseуровень\mathbf{noise}\text{ level}), ожидание ошибки обобщения равно2(d+1)N\dfrac{2(d+1)}{N}. Поэтому обучение «случается»!

Теория размерности VC утверждает, чтоEinE_{\text{in}}иEoutE_{\text{out}}Существует верхняя граница вероятностей, находящихся далеко друг от друга, и здесь утверждается, что их среднее несоответствие сходится. Ракурсы разные, но оба способа иллюстрируют силу обобщения.

1.3 Бинарная классификация с линейной регрессией

В линейной классификацииY={+1,1}\mathcal{Y}=\{+1,-1\},h(x)=sign(wTx)h(\mathbf{x})=\text{sign}({\mathbf{w}^T\mathbf{x}}),err(y^,y)=1[y^y]\text{err}(\hat{y},y)=\mathbf{1}_{[\hat{y}\ne y]}, нахождение ее оптимального решения является NP-трудной задачей.

так как{+1,1}R\{+1,-1\}\subset \mathbb{R}, то есть положительные и отрицательные категории выборок также могут быть представлены действительными числами, а в линейной регрессииY=R\mathcal{Y}=\mathbb{R}, то непосредственно к линейной регрессии получаемwLIN\mathbf{w}_\text{LIN}, тогда пустьg(x)=sign(wLINTx)g(\mathbf{x})=\text{sign}(\mathbf{w}_\text{LIN}^T\mathbf{x}), Это возможно?

Обозначим меры ошибок для линейной классификации и линейной регрессии какerr0/1=1[sign(wTx)y]\text{err}_{0/1}=\mathbf{1}_{[\text{sign}(\mathbf{w}^T\mathbf{x})\ne y]}иerrsqr=(wTxy)2\text{err}_\text{sqr}=({\mathbf{w}^T\mathbf{x}- y})^2, а их соотношение следующее:

Отсюда ясно видно, чтоerr0/1errsqr\text{err}_{0/1} \le \text{err}_\text{sqr}должны быть установлены. Следовательно, существует

classificationEout(w)VCclassificationEin(w)+regressionEin(w)+\begin{aligned} &\text{classification} E_\text{out}(\mathbf{w})\\ \overset{VC}{\le} & \text{classification} E_\text{in}(\mathbf{w})+\sqrt{\cdots}\\ \le & \text{regression} E_\text{in}(\mathbf{w})+\sqrt{\cdots} \end{aligned}

То есть пусть возвращаетсяEinE_{\text{in}}сделано достаточно хорошо, чтобы также сделать классифицированнымEoutE_{\text{out}}Он достаточно мал, но верхний предел более расслаблен. Делать этоПоменяйте тесноту на вычислительную эффективность.

в целомwLIN\mathbf{w}_\text{LIN}Может использоваться в качестве начального вектора для PLA или карманных алгоритмов.

2 Логистическая регрессия

2.1 Алгоритм логистической регрессии

В бинарной классификации нас интересует

f(x)=sign(P(+1x)12)е+1,1f(\mathbf{x})=\text{sign}(P(+1|\mathbf{x})-\dfrac{1}{2}) \in {+1,-1}

Но во многих сценариях мы хотим сделать «мягкую» классификацию, то есть получить вероятность определенной классификации.На данный момент нас интересует следующее:

f(x)=P(+1x)е[0,1]f(\mathbf{x})=P(+1|\mathbf{x}) \in [0,1]

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

для всех характеристик образцаx=(x0,x1,x2,,xd)\mathbf{x}=(x_0, x_1, x_2, \cdots,x_d),сделатьs=i=0dwixis=\sum\limits_{i=0}^{d} w_i x_i. Мы можем использовать логистическую функциюθ(s)\theta(s)Преобразуйте его в оценочную вероятность. То есть логистическая регрессияПредположениезаh(x)=θ(wTx)h(\mathbf{x})=\theta(\mathbf{w}^T\mathbf{x}).

Наиболее часто используемые логические функцииθ(s)=es1+es=11+es\theta(s)=\dfrac{e^s}{1+e^s}=\dfrac{1}{1+e^{-s}}

Изображение функции выглядит следующим образом:

Видно, что она гладкая, монотонная, S-образная (sigmoid)функция.

Далее, чтобы определить логистическую регрессиюEin(w)E_\text{in}(\mathbf{w}). сначала целевая функцияf(x)=P(+1x)f(\mathbf{x})=P(+1|\mathbf{x})обратно выражается как

P(yx)={f(x)заy=+11f(x)заy=1P(y|\mathbf{x})=\begin{cases} f(\mathbf{x})&\text{for } y=+1\\ 1-f(\mathbf{x})&\text{for } y=-1 \end{cases}

Предположим, что набор данных в рукеD={(x1,Бамбук),(x2,×),,(xN,×)}\mathcal{D}=\{(\mathbf{x}_1,\circ),(\mathbf{x}_2,\times),\ldots, (\mathbf{x}_N,\times)\}

Затем, поffгенерироватьD\mathcal{D}Вероятность

P(x1)f(x1)×P(x2)(1f(x2))××P(xN)(1f(xN)\begin{aligned} &P(\mathbf{x}_1)f(\mathbf{x}_1)\\ \times &P(\mathbf{x}_2)(1-f(\mathbf{x}_2))\\ \times &\cdots\\ \times &P(\mathbf{x}_N)(1-f(\mathbf{x}_N) \end{aligned}

по нашему предположениюhhгенерироватьD\mathcal{D}вероятность (likelihood)за

P(x1)h(x1)×P(x2)(1h(x2))××P(xN)(1h(xN)\begin{aligned} &P(\mathbf{x}_1)h(\mathbf{x}_1)\\ \times &P(\mathbf{x}_2)(1-h(\mathbf{x}_2))\\ \times &\cdots\\ \times &P(\mathbf{x}_N)(1-h(\mathbf{x}_N) \end{aligned}

еслиhfh\approx f,ТакhhгенерироватьD\mathcal{D}Вероятность также должна быть близка к указаннойffгенерироватьD\mathcal{D}вероятность, а поffгенерироватьD\mathcal{D}Вероятность должна быть большой (как раз по нашей выборке). Таким образом, алгоритмы машинного обучения могут

g=argmaxhlikelihood(h)g=\mathop{\arg\max}\limits_{h} \text{likelihood}(h)

какh(x)=θ(wTx)h(\mathbf{x})=\theta(\mathbf{w}^T\mathbf{x}), согласно свойствам функции,1h(x)=h(x)1-h(\mathbf{x})=h(-\mathbf{x}),так

likelihood(h)=P(x1)h(x1)×P(x2)h(x2)××P(xN)h(xN)\begin{aligned} &\text{likelihood}(h)\\ =&P(\mathbf{x}_1)h(\mathbf{x}_1)\\ \times &P(\mathbf{x}_2)h(-\mathbf{x}_2)\\ \times &\cdots\\ \times &P(\mathbf{x}_N)h(-\mathbf{x}_N) \end{aligned}

иP(x1)P(\mathbf{x}_1),P(x2)P(\mathbf{x}_2),……,P(xN)P(\mathbf{x}_N)оба сhhнеактуально, так что есть

likelihood(логистическийh)n=1Nh(ynxn)\text{likelihood}(\text{logistic } h)\propto \prod\limits_{n=1}^N h(y_n\mathbf{x}_n)

Теперь, чтобы максимизировать его, чтобы найти окончательныйhh. может сначалаθ(s)\theta(s)Подставляем, а затем логарифмируем (логарифмическая функция монотонна и не меняет точки максимизации значения), получается

maxwlnn=1Nθ(ynwTxn)\max\limits_\mathbf{w} \ln\prod\limits_{n=1}^N\theta(y_n\mathbf{w}^T\mathbf{x}_n)

Затем взять обратное число (максимум становится минимумом), разделитьNN(без изменения максимальной точки), его можно изменить на

minw1Nn=1Nlnθ(ynwTxn)\min\limits_\mathbf{w} \dfrac{1}{N}\sum\limits_{n=1}^N - \ln \theta(y_n\mathbf{w}^T\mathbf{x}_n)

будетθ(s)\theta(s)расширить, чтобы получить

minw1Nn=1Nln(1+exp(ynwTxn))\min\limits_\mathbf{w} \dfrac{1}{N}\sum\limits_{n=1}^N \ln \left(1+\exp(-y_n\mathbf{w}^T\mathbf{x}_n)\right)

сделатьerr(w,x,y)=ln(1+exp(ywx))\text{err}(\mathbf{w},\mathbf{x},y)=\ln\left(1+\exp(-y\mathbf{w}\mathbf{x})\right)

Это кросс-энтропийная ошибка (cross-entropy error),иn=1Nerr(w,xn,yn)\sum\limits_{n=1}^N \text{err}(\mathbf{w},\mathbf{x}_n,y_n)этоEin(w)E_\text{in}(\mathbf{w}).

2.2 Градиентный спуск

рядом с минимумомEin(w)E_\text{in}(\mathbf{w}), она непрерывна, дифференцируема, квадратично дифференцируема, выпукла, поэтому постарайтесь сделать ее градиент как00. найти его градиент

Ein(w)=1Nn=1Nθ(ynwTxn)(ynxn)\nabla E_{\text{in}}(\mathbf{w})=\dfrac{1}{N}\sum_{n=1}^N\theta(-y_n\mathbf{w}^T\mathbf{x}_n)(-y_n\mathbf{x}_n)

Его градиент можно рассматривать какθ()\theta(\cdot)для взвешенногоynxn-y_n\mathbf{x}_nсредневзвешенное значение . Чтобы сделать его 0, есть два способа:

  • пусть всеθ(ynwTxn)\theta(-y_n\mathbf{w}^T\mathbf{x}_n)все равны 0, что означает, что все выборки удовлетворяютynwnxn0y_n\mathbf{w}_n\mathbf{x}_n\gg 0, этоD\mathcal{D}линейно отделим;
  • какD\mathcal{D}Оно не является линейно разделимым, пусть взвешенная сумма равна 0, это нелинейное уравнение, и решения в замкнутой форме нет.

Итерация может быть выполнена так же, как и в PLA, т.е.wt+1wt+нv\mathbf{w}_{t+1}\leftarrow\mathbf{w}_t+\eta\mathbf{v}v\mathbf{v}Направление обновления определяется,н\etaРазмер шага обновления определяется, как показано на рисунке:

Как повторить? Доступный жадный алгоритм, шаг за шагомEinE_\text{in}стать меньше. Предположим, что некийн\eta, быть увереннымv\mathbf{v}направление, проблема обновления на каждом шаге трансформируется в

minv=1Ein(wt+нv)\min\limits_{\Vert\mathbf{v}\Vert=1}E_\text{in}(\mathbf{w}_t+\eta\mathbf{v})

Это кажется более сложным для понимания. но еслин\etaДостаточно маленький, мы можем расширить его с помощью локального линейного приближения (разложение Тейлора):

Ein(wt+нv)Ein(wt)+нvTEin(wt)E_\text{in}(\mathbf{w}_t+\eta\mathbf{v})\approx E_\text{in}(\mathbf{w}_t)+\eta\mathbf{v}^T\nabla E_\text{in}(\mathbf{w}_t)

в формулеEin(wt)E_\text{in}(\mathbf{w}_t)иEin(wt)\nabla E_\text{in}(\mathbf{w}_t)известный,н\etaдано, просто будьте увереныv\mathbf{v}То есть отмечается, что второй член приведенной выше формулы по существу является скалярным произведением двух векторов. Когда два вектора направлены в противоположные стороны, значение является наименьшим. Поэтому, чтобы минимизировать приведенную выше формулу, можно брать

v=Ein(wt)Ein(wt)\mathbf{v}=-\dfrac{\nabla E_\text{in}(\mathbf{w}_t)}{\Vert\nabla E_\text{in}(\mathbf{w}_t)\Vert}

Затем итеративное обновление градиентного спуска становится: для заданного меньшегон\eta,wt+1wtнEin(wt)Ein(wt)\mathbf{w}_{t+1}\leftarrow\mathbf{w}_t-\eta\dfrac{\nabla E_\text{in}(\mathbf{w}_t)}{\Vert\nabla E_\text{in}(\mathbf{w}_t)\Vert}

н\etaСлишком маленькое приведет к очень медленному, слишком большое приведет к нестабильности, лучше всего использовать переменнуюн\eta,Как показано ниже:

Так,н\etaКак это может быть лучше? позволить этому бытьEin(wt)\Vert\nabla E_\text{in}(\mathbf{w}_t)\Vertположительная корреляция, исходная фиксированнаян\etaездить наEin(wt)\Vert\nabla E_\text{in}(\mathbf{w}_t)\VertВот и все. Таким образом, правило обновления становится

wt+1wtнEin(wt)\mathbf{w}_{t+1}\leftarrow\mathbf{w}_t-\eta{\nabla E_\text{in}(\mathbf{w}_t)}

этот новыйн\etaфиксированныйскорость обучения(learning rate).

3 Линейные модели для классификации

3.1 Сравнение трех алгоритмов

Помнитеs=wTxs=\mathbf{w}^T\mathbf{x}, ниже приводится сводка трех моделей (линейная классификация, линейная регрессия, логистическая регрессия):

здесьysysпоказатель точности классификацииcorrectnessscore), который измеряет, насколько верна классификация, и чем больше значение, тем более «правильной» является классификация.

Если кросс-энтропийная функция ошибкиerrCE(s,y)\text{err}_\text{CE}(s,y)масштабировать (кромеln2\ln 2),получитьerrSCE(s,y)=log2(1+exp(ys))\text{err}_\text{SCE}(s,y)=\log_2(1+\exp(-ys))

Постройте их функции ошибок, чтобы получить следующий рисунок:

Как видно из рисунка, должно бытьerr0/1errSCE(s,y)=1ln2errCE(s,y)\text{err}_{0/1} \le \text{err}_\text{SCE}(s,y) = \dfrac{1}{\ln 2}\text{err}_\text{CE}(s,y)

Это можно доказать с помощью теории размерности VC, используяerrCE\text{err}_\text{CE}Вы также можете хорошо справиться с классификационными задачами, есть две идеи:

  • С точки зрения классификации существуют
Eout0/1(w)Ein0/1(w)+Ом0/11ln2EinCE(w)+Ом0/1\begin{aligned} E_\text{out}^{0/1}(\mathbf{w})&\le E_\text{in}^{0/1}(\mathbf{w})+\Omega^{0/1}\\ &\le \dfrac{1}{\ln 2} E_\text{in}^\text{CE}(\mathbf{w})+\Omega^{0/1} \end{aligned}
  • С точки зрения кросс-энтропии мы имеем
Eout0/1(w)1ln2EoutCE(w)1ln2EinCE(w)+1ln2ОмCE\begin{aligned} E_\text{out}^{0/1}(\mathbf{w})&\le \dfrac{1}{\ln 2} E_\text{out}^\text{CE}(\mathbf{w})\\ &\le \dfrac{1}{\ln 2} E_\text{in}^\text{CE}(\mathbf{w})+\dfrac{1}{\ln 2}\Omega^\text{CE} \end{aligned}

В любом случае, просто убедитесьEinCEE_\text{in}^\text{CE}достаточно мал, чтобы гарантироватьEout0/1(w)E_\text{out}^{0/1}(\mathbf{w})Он также достаточно мал, то есть линейную классификацию можно проводить либо с помощью логистической регрессии, либо с помощью линейной регрессии.

Используя PLA, линейную регрессию и логистическую регрессию для классификации, преимущества и недостатки трех методов заключаются в следующем:

3.2 Стохастический градиентный спуск

Временная сложность каждой итерации PLA составляетO(1)O(1), но логистическая регрессия (или карманный алгоритм) требует каждой итерацииD\mathcal{D}Все пробы в операции выполняются один раз, а временная сложность составляетO(N)O(N), может ли временная сложность каждой итерации также статьO(1)O(1)?

мы делаем обновлениеwt+1wt+нv\mathbf{w}_{t+1}\leftarrow\mathbf{w}_t+\eta\mathbf{v}, взял

v=Ein(wt)=1Nn=1Nθ(ynwtTxn)(ynxn)\begin{aligned} \mathbf{v}&=-\nabla E_{\text{in}}(\mathbf{w}_t)\\ &=-\dfrac{1}{N}\sum_{n=1}^N\theta(-y_n\mathbf{w}_t^T\mathbf{x}_n)(-y_n\mathbf{x}_n) \end{aligned}

Видно, что вычисление градиента требует обхода всех выборок, а сложность слишком высока. внутри него1Nn=1N\dfrac{1}{N}\sum\limits_{n=1}^{N}рассматривается как ожиданиеE\mathcal{E}, что эквивалентно среднему результату, рассчитанному путем непрерывной случайной выборки выборки. Если необходимо провести случайную выборкуnnВычисленный градиент называется стохастическим градиентомwerr(w,xn,yn)\nabla_\mathbf{w}\text{err}(\mathbf{w},\mathbf{x}_n,y_n), то истинный градиент можно рассматривать как его ожидание:

wEin(w)=Eслучайныйnwerr(w,xn,yn)\nabla_\mathbf{w} E_\text{in}(\mathbf{w})=\mathop{\mathcal{E}}_{\text{random }n}\nabla_\mathbf{w}\text{err}(\mathbf{w},\mathbf{x}_n,y_n)

Таким образом, вы можете использоватьСтохастический градиентный спуск(Стохастический градиентный спуск,SGD) для повторения. Его преимущество в том, что оно очень простое, стоимость расчета низкая и очень подходит для больших данных или онлайн-обучения, а недостаток в том, что он недостаточно стабилен.

В логистической регрессии шаг, обновленный с помощью SGD, становится

wt+1wt+нθ(ynwtTxn)(ynxn)\mathbf{w}_{t+1}\leftarrow\mathbf{w}_t+\eta\cdot \theta(-y_n\mathbf{w}_t^T\mathbf{x}_n)(y_n\mathbf{x}_n)

Это очень похоже на шаг обновления в PLA, который выглядит так:

wt+1wt+11[yNsign(wtTxn)](ynxn)\mathbf{w}_{t+1}\leftarrow\mathbf{w}_t+1 \cdot \mathbf{1}_{[y_N\ne \text{sign}(\mathbf{w}_t^T \mathbf{x}_n)]}(y_n\mathbf{x}_n)

Следовательно, логистическую регрессию с SGD можно рассматривать как «мягкую» PLA. Обратно, если мы возьмемн=1\eta=1, то PLA находится вwtTxn\mathbf{w}_t^T \mathbf{x}_nКогда он очень велик, его также можно рассматривать как логистическую регрессию с использованием SGD.

При использовании SGD есть два эмпирических правила:

  • Когда это прекратится?ttЭто можно сделать, когда он достаточно велик (не судите, действительно ли градиент равен 0, иначе это усложнит вычисление градиента);
  • когдаx\mathbf{x}В общем диапазоне взятьн=0.1\eta=0.1Бар.

4 проблемы мультиклассификации

4.1 Мультиклассификация с логистической регрессией

ПредположениеY={,,,}\mathcal{Y}=\{\square, \diamondsuit,\triangle,\star\}, распределение данных следующее:

Каждая категория может быть классифицирована один раз, как показано ниже:

Но сделав это, в итоге совместить их будут проблемы, некоторые области не могут определить к какой категории они относятся:

Как это решить? Логистическую регрессию можно использовать как «мягкий» классификатор для каждой категории.kk, с набором данных

D[k]={(xn,yn'=21[yn=k]1)}n=1N\mathcal{D}_{[k]}=\{(\mathbf{x}_n,y_n'=2\cdot\mathbf{1}_{[y_n=k]}-1)\}_{n=1}^{N}

Сделайте логистическую регрессию, чтобы получить классификаторw[k]\mathbf{w}_{[k]}:

Чтобы совместить их, когда сделано, желательноg(x)=argmaxkеYθ(w[k]Tx)g(\mathbf{x})=\arg\max_{k\in\mathcal{Y}}\theta(\mathbf{w}_{[k]}^T\mathbf{x}), поэтому вы можете получить, к какому классу должна принадлежать точка:

Это называется декомпозицией OVA (один против всех).Преимущество заключается в том, что оно эффективно и может сочетаться с такими методами, как логистическая регрессия, но недостатком является то, что когдаKKбольшой, частоD[k]\mathcal{D}_{[k]}Очень несбалансировано, например, категорий 100, а распределение относительно равномерное, и количество двух типов данных, используемых OVA для каждой обучающей выборки, будет очень разным.

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

4.2 Мультиклассификация с бинарной классификацией

Чтобы преодолеть проблему дисбаланса, можно тренироваться на парах классов, т.е. используя набор данных

D[k,]={(xn,yn'=21[yn=k]1):yn=kилиyn=}\mathcal{D}_{[k,\ell]}=\{(\mathbf{x}_n,y_n'=2\cdot\mathbf{1}_{[y_n=k]}-1):y_n=k\text{ or } y_n=\ell\}

Выполните линейную бинарную классификацию:

Наконец, возьмитеg(x)=чемпион турнира{w[k,]Tx}g(\mathbf{x})=\text{tournament champion}\{\mathbf{w}_{[k,\ell]}^T\mathbf{x}\}

Просто:

Такой метод называется декомпозицией OVO (One-Versus-One).Преимущество заключается в том, что он эффективен (поскольку объем данных, используемых для каждого обучения, меньше), и он стабилен и может быть объединен с любым методом бинарной классификации, но недостаток в том, что он постоянно вычисляетсяw[k,]\mathbf{w}_{[k,\ell]}Общая сложность операцииO(K2)O(K^2), что требует больше вычислительного пространства. когдаKKOVO часто используется, когда он не очень большой.

5 Нелинейное преобразование

Однако для некоторых наборов данных используются линейные модели.EinE_{in}Оба большие:

5.1 Набор квадратичных гипотез

Мы обнаружили, что если в качестве границы классификации используется окружность, то она на самом деле отделима:

Итак, мы собираемся перепроектировать циклический PLA, циклический регресс,  …? конечно, нет. мы можем поставитьxеX\mathbf{x}\in\mathcal{X}использовать преобразованиеΦ\Phiсопоставить сzеZ\mathbf{z}\in\mathcal{Z}, так что вX\mathcal{X}Данные, которые можно разделить в среднем круге, находятся вZ\mathcal{Z}Нейтрально разделяемый.

отΦ2(x)=(1,x1,x2,x12,x1x2,x22)\Phi_2(\mathbf{x})=(1,x_1,x_2,x_1^2,x_1x_2,x^2_2)сопоставлено сZ\mathcal{Z}пространство, которое может образовывать общее квадратичное множество гипотез:

HΦ2={h(x):h(x)=h~(Φ2(x))для некоторого линейногоh~наZ}\mathcal{H}_{\Phi_2}=\{h(\mathbf{x}):h(\mathbf{x})=\tilde h(\Phi_2(\mathbf{x}))\text{ for some linear }\tilde h \text{ on }\mathcal{Z}\}

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

Конкретные шаги заключаются в следующем:

  1. Сначала сΦ\Phiбудет{(xn,yn)}\{(\mathbf{x}_n,y_n)\}превратиться в{(zn=Φ(xn),yn)}\{(\mathbf{z}_n=\Phi(\mathbf{x}_n),y_n)\};
  2. использовать{(zn,yn)}\{(\mathbf{z}_n,y_n)\}и алгоритмы линейной классификацииA\mathcal{A}обучить модельw~\tilde{\mathbf{w}};
  3. возвращениеg(x)=sign(w~TΦ(x))g(\mathbf{x})=\text{sign}\left(\tilde{\mathbf{w}}^T \Phi(\mathbf{x})\right)Вот и все.

5.2 Цена сложности

предполагается использоватьQQНелинейное преобразование времен:

ΦQ(x)=(1,x1,x2,,xd,x12,x1x2,,xd2,,x1Q,x1Q1x2,,xdQ)\begin{aligned} \Phi_Q(\mathbf{x})=(&1,\\ &x_1,x_2,\ldots,x_d,\\ &x_1^2,x_1 x_2,\ldots,x_d^2,\\ &\cdots,\\ &x_1^Q,x_1^{Q-1}x_2,\ldots,x_d^Q) \end{aligned}

количество членов в формуле1+d~1+\tilde dСколько это стоит? если естьddОсобенностью, после прибавления 1 можно считать, что каждый пункт после приведенной выше формулыQQвторое, то естьd+1d+1Каждому элементу присваивается степень, и сумма всех времен должна бытьQQ. Можно использовать метод вагонки: представьте себе обычнуюQ+d+1Q+d+1маленькие шарики, которые нужно разместить на своих местахddперегородки, разделенные наd+1d+1Секция, количество шаров в каждой секции минус 1 представляет собой количество предметов в соответствующей позиции. Поскольку в каждой секции требуется как минимум 1 шар, перегородки нельзя размещать с обоих концов. Всего имеетсяQ+dQ+dперегородки могут быть размещены в каждой позиции, всего(Q+dd)\binom{Q+d}{d}Метод помещения, то есть количество терминов справа от знака равенства выше

1+d~=(Q+dd)=O(Qd)1+\tilde d=\binom{Q+d}{d}=O(Q^d)

когдаQQКогда большие, стоимость вычислений или хранения очень высока, с одной стороны, а с другой стороны.1+d~1+\tilde dдаdVC(HΦQ)d_\text{VC}(\mathcal{H}_{\Phi_Q})верхняя граница ,QQслишком большой вызоветdVCd_\text{VC}Если он слишком велик, модель теряет способность к обобщению.

5.3 QQвыбор

как выбратьQQ? ПредположениеΦ0(x)=(1)\Phi_0(\mathbf{x})=(1),Φ1(x)=(Φ0(x),x1,x2,,xd,)\Phi_1(\mathbf{x})=\left(\Phi_0(\mathbf{x}),x_1,x_2,\ldots,x_d,\right),……,ΦQ(x)=(ΦQ1(x),x1Q,x1Q1x2,,xdQ,)\Phi_Q(\mathbf{x})=\left(\Phi_{Q-1}(\mathbf{x}),x_1^Q,x_1^{Q-1}x_2,\ldots,x_d^Q,\right), и обозначим их наборы гипотез какH0\mathcal{H}_0,H1\mathcal{H}_1,……,HQ\mathcal{H}_Q, у них есть вложенные отношения

H0H1H2\mathcal{H}_0 \subset \mathcal{H}_1\subset\mathcal{H}_2\subset\cdots

как показано на рисунке:

Кроме того, их размерность VC удовлетворяет

dVC(H0)dVC(H1)dVC(H2)d_\text{VC}(\mathcal{H}_0)\le d_\text{VC}(\mathcal{H}_1)\le d_\text{VC}(\mathcal{H}_2)\le\cdots

Если вы возьметеgi=argminhеHiEin(h)g_i=\arg\min_{h\in \mathcal{H}_i} E_\text{in}(h), то ихEinE_\text{in}удовлетворить

Ein(g0)Ein(g1)Ein(g2)E_\text{in}(g_0)\ge E_\text{in}(g_1)\ge E_\text{in}(g_2)\ge \cdots

как выбратьQQ? Безопасный способ - посмотретьEin(g1)E_\text{in}(g_1)Достаточно ли он уже мал, если он достаточно мал, то все в порядке, в противном случае используйте чуть более сложную модель, которая должна двигаться вправо на следующем рисунке: