Loading...
bamse avatar bamse 2 Точки

OLS vs. gradient descent ?

При OLS linear regression в статистиката, казваме, че при определени assumptions за errors и variables, OLS estimator, е този, който е BLUE (best linear unbiased estimator).  Намираме параметрите а(intercept), b(slope), които най добре минимизират грешките (или distances btw. y and  ỹ

 

В Maschine Learning се изчислява gradient descent.

Дали може на лекциите да се поясни каква е причината за това? Какви качества има по-добри от тези на OLS, Maximum Likelihood и др. техники ?

Как точно изчисляваме gradient descent. Взимат се a и b близки до нула, изчисляваме посоката към минимума, но кои точки се взимат при следващата итерация?

В този смисъл при linear regression оценена с gradient descent, оценяваме ли въобще втория момент – variance (sigma squared) и интересуваме ли се от signifigance levels при impact на съответните variables и т.н.

Тагове:
1
Machine Learning
dim4o avatar dim4o 288 Точки

Предимсвото на gradiant descent пред least squares метода е по-добрата производителност при голям брой features. При least squares имаш намиране на обратна матрица, което е скъпа и не винаги възможна операция с кубучна сложност. Това което знам е, че нe се препоръчва използването на least squares за брой на features над 10^4. За малък брой даже е възможно обаче производителността да е по-голяма. Ако имаш изображение 100x100px = 10^4 свойства, т.е. имаш 10^12 (по много груба преценка) итерации за обратната матрица, което е много.

Иначе при gradiant descent се прави винаги стъпка в правилната посока на локалния минимум. Избира си learnig rate и той ти определя порядъка на стъпката. Ако стъпката ти е много малка алгоритъма става много бавен въпреки голямата точност, която може да се постигне. Ако стъпката е прекалено голяма резулата може да е неточен и има опасност от дивегенция.

Точките за всяка следваща итерация се взимат като се ъпдейтнат всички координати спямо градианта и learning rate-а:

coef_i := coef_i - (learnig rete) x (gradient_i)

По-късно като съм на другата машина мога да пусна линк към една моя имплементация на gradiant descent без никакви библиотеки - всичко от нулата. Според мен оттам ще ти стане по-ясно какво е правилото.

Аз поне това съм разбрал от проучванията си засега. Иначе least squares е метод, който може да даде наистина добра математическа интуиция за това какво всъщност е грешката и как може да се представи по друг начин процеса на обучение: като проекция на вектор от пространство с по-висока размернист в пространство с по-ниска размерност, а грешката е разстоянието на вектора до равнината.

ПП: При gradiant descent и ъпдейт операцията може да се извлече голяма полза от векторизацията и възможностите на конкретния процесор, т.е. определен набор от ъпдейт операциите да се извършват едновременно, което е ОК, защото така или иначе тези действия са независими по едно от друго по природа. Разгледах сорса на sklearn, за да видя как се прави регресията и не мисля, че за по-малък брой семпли използва least squares. Използва само gradiant descent .

1
22/03/2018 16:58:51
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.