Telegram Group & Telegram Channel
#classic_ML

Линейные модели (часть 1)

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

В общем случае линейная модель в машинном обучении выглядит следующим образом. В задаче регрессии:

f(x[1], x[2], ..., x[d]) = w1 * x[1] + w2 * x[2] + ... + wd * x[d]

Где x[1], x[2], ..., x[d] - признаки объекта x,
w[1], w[2], ..., w[d] - веса этих признаков в нашей модели, о подборе которых мы еще поговорим далее.

В задаче классификации на два класса:

То же самое выражение для f, но выбор класса осуществляется по знаку f (>0 - отвечаем класс 1, <0 - отвечаем класс 0).

В задаче классификации на много классов:

Строим свою f для каждого класса (считаем его 1, а все остальные 0), а дальше выбор класса при прогнозе делаем по принципу «какая f больше, тем классом и отвечаем». Такой подход называется One-vs-all («один против всех» в русской локализации).

Остается сделать буквально пару ремарок:

1) Разумеется, случай f = 0 тоже возможен, но если признаки это просто вещественные числа, математически маловероятен. Поэтому хоть в случае f = 0 и было бы правильно отказываться от классификации, можно приписать его куда угодно - хоть в класс 0, хоть в класс 1, различия в теоретической части будут не очень большими.

2) Вы могли заметить, что все веса в формуле для регрессии умножаются на признаки. Но наверно было бы неплохо предусмотреть некий свободный коэффициент w0 (в английской литературе intercept), просто добавляемый к формуле выше, чтобы при нулевых значениях признаков прогноз не был обязан быть нулем (ну например, прогнозируете вы температуру воздуха где-нибудь в ОАЭ, ясно, что почти при любых значениях признаков нуля по Цельсию вам ожидать не стоит). Однако оказывается, что пока мы пишем формулы, а не реализуем алгоритм в программном коде, предусматривать ничего и не надо. Представьте, что в нашем объекте был добавлен искусственно еще один признак х0, который всегда равен 1. Тогда коэффициент перед ним и будет нашим w0. Значит можем писать формулы как писали раньше, только не забываем, что спрятали там вот такой костыль 🙂

Окей, остается вопрос, как подобрать коэффициенты w. Ответ предельно прост: градиентным спуском (о нем я уже писал ранее). Например, если в задаче регрессии вы заходите минимизировать средний квадрат ошибки, то w находится градиентным спуском как минимум L(w), где L:

L(w1, ... ,wd) = ((y1 - f(x1))^2 + (y2 - f(x2))^2 + ... + (yN - f(xN))^2) / N

(Кто хочет спросить, где же в формуле веса w, напомню, что они сидят в формуле для f)

Начав со случайных значений весов, шаг за шагом вы будете приближаться к оптимальным весам, пересчитывая антиградиент L по w и добавляя его к весам. Когда ошибка перестанет существенно меняться, вы можете считать что с какой-то точностью нашли минимум L, и уж по крайней мере полученные веса достаточно неплохие для вашей задачи.
34👍26🙏9❤‍🔥5🔥3



tg-me.com/kantor_ai/256
Create:
Last Update:

#classic_ML

Линейные модели (часть 1)

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

В общем случае линейная модель в машинном обучении выглядит следующим образом. В задаче регрессии:

f(x[1], x[2], ..., x[d]) = w1 * x[1] + w2 * x[2] + ... + wd * x[d]

Где x[1], x[2], ..., x[d] - признаки объекта x,
w[1], w[2], ..., w[d] - веса этих признаков в нашей модели, о подборе которых мы еще поговорим далее.

В задаче классификации на два класса:

То же самое выражение для f, но выбор класса осуществляется по знаку f (>0 - отвечаем класс 1, <0 - отвечаем класс 0).

В задаче классификации на много классов:

Строим свою f для каждого класса (считаем его 1, а все остальные 0), а дальше выбор класса при прогнозе делаем по принципу «какая f больше, тем классом и отвечаем». Такой подход называется One-vs-all («один против всех» в русской локализации).

Остается сделать буквально пару ремарок:

1) Разумеется, случай f = 0 тоже возможен, но если признаки это просто вещественные числа, математически маловероятен. Поэтому хоть в случае f = 0 и было бы правильно отказываться от классификации, можно приписать его куда угодно - хоть в класс 0, хоть в класс 1, различия в теоретической части будут не очень большими.

2) Вы могли заметить, что все веса в формуле для регрессии умножаются на признаки. Но наверно было бы неплохо предусмотреть некий свободный коэффициент w0 (в английской литературе intercept), просто добавляемый к формуле выше, чтобы при нулевых значениях признаков прогноз не был обязан быть нулем (ну например, прогнозируете вы температуру воздуха где-нибудь в ОАЭ, ясно, что почти при любых значениях признаков нуля по Цельсию вам ожидать не стоит). Однако оказывается, что пока мы пишем формулы, а не реализуем алгоритм в программном коде, предусматривать ничего и не надо. Представьте, что в нашем объекте был добавлен искусственно еще один признак х0, который всегда равен 1. Тогда коэффициент перед ним и будет нашим w0. Значит можем писать формулы как писали раньше, только не забываем, что спрятали там вот такой костыль 🙂

Окей, остается вопрос, как подобрать коэффициенты w. Ответ предельно прост: градиентным спуском (о нем я уже писал ранее). Например, если в задаче регрессии вы заходите минимизировать средний квадрат ошибки, то w находится градиентным спуском как минимум L(w), где L:

L(w1, ... ,wd) = ((y1 - f(x1))^2 + (y2 - f(x2))^2 + ... + (yN - f(xN))^2) / N

(Кто хочет спросить, где же в формуле веса w, напомню, что они сидят в формуле для f)

Начав со случайных значений весов, шаг за шагом вы будете приближаться к оптимальным весам, пересчитывая антиградиент L по w и добавляя его к весам. Когда ошибка перестанет существенно меняться, вы можете считать что с какой-то точностью нашли минимум L, и уж по крайней мере полученные веса достаточно неплохие для вашей задачи.

BY Kantor.AI


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/kantor_ai/256

View MORE
Open in Telegram


Kantor AI Telegram | DID YOU KNOW?

Date: |

Spiking bond yields driving sharp losses in tech stocks

A spike in interest rates since the start of the year has accelerated a rotation out of high-growth technology stocks and into value stocks poised to benefit from a reopening of the economy. The Nasdaq has fallen more than 10% over the past month as the Dow has soared to record highs, with a spike in the 10-year US Treasury yield acting as the main catalyst. It recently surged to a cycle high of more than 1.60% after starting the year below 1%. But according to Jim Paulsen, the Leuthold Group's chief investment strategist, rising interest rates do not represent a long-term threat to the stock market. Paulsen expects the 10-year yield to cross 2% by the end of the year. A spike in interest rates and its impact on the stock market depends on the economic backdrop, according to Paulsen. Rising interest rates amid a strengthening economy "may prove no challenge at all for stocks," Paulsen said.

Telegram has exploded as a hub for cybercriminals looking to buy, sell and share stolen data and hacking tools, new research shows, as the messaging app emerges as an alternative to the dark web.An investigation by cyber intelligence group Cyberint, together with the Financial Times, found a ballooning network of hackers sharing data leaks on the popular messaging platform, sometimes in channels with tens of thousands of subscribers, lured by its ease of use and light-touch moderation.Kantor AI from us


Telegram Kantor.AI
FROM USA