Sunteți pe pagina 1din 35

Curs 8

Regresie Lineara cu o variabilă-


Univariate
Slide-uri adaptate după Andrew Ng
Sumar

1. Reprezentarea modelului
2. Functia de cost (Cost Function)
3. Gradient Descent
Regresie Liniară
Regresia liniară - pe baza unei valori de intrare prezicem o valoare reală
ca valoare de ieșire (output).

Setul de date de input: case de diverse dimensiuni la diverse preturi.


Output: prezicem pretul unei noi case de o anumită dimensiune.
Regresie Liniară
Cream un model liniar : putem prezice ca o casa de 1250 (feet2) va avea
pretul de 220 000$

Supervised Learning ( Invatarea automată) – input date corect etichetate


Regresie – prezicem o valoarea reala (continuă)
Reprezentarea Modelului
Invățam sa prezicem pe baza setului de date de intrare/ antrenare

Notații:
x - input -variabile de intrare / features
y – output -variabila de iesire / target
X - spatiul variabilelor de intrare
Y – spatiul varialilelor de iesire X=Y=R(numere reale)
m - numărul de randuri (samples) de date de antrenare – training set
(x, y) – un singur rand
(x(i),y(i)) – index in setul de date de antrenare, al i-lea rand i=1,2, 3...m
Regresia – curve fitting
Regresia este o parte centrală a învățării automate (machine learning).

Regresia încearcă să estimeze relația dintre variabile prin optimizare.

Relația dintre variabilele independente X, variabilele dependente Y și


parametrii necunoscuți Θ:
Y = f (X, Θ )

unde funcția de regresie f (·) este prescrisă de obicei și se găsesc


parametrii Θ prin optimizarea - potrivire a acestei funcții la date.

În învățarea automată nu suntem atât de preocupați la cât de bine se


potrivește modelul de regresie cu datele.

Suntem preocupați de cât de bine prezice modelul la noi observații.


Regresia
Un model liniar care aproximează datele de intrare, cu o eroarea de
aproximare în fiecare punct:
f (x k ) = y k + E k
y k este valoarea adevărată a datelor
E k este eroarea de potrivire pe datele yk

Metrica erorii E k sau lp-norm se poate calcula :

Pentru diverse valori ale lui p putem calcula eroarea E 1 , E 2 ,E ∞

Cand avem outliers in date alegerea normei are impact!


Regresia

Sunt trei posibilitati standard ce sunt asociate cu normele


l2 (least-squares), l1 , si l∞ norms si sunt definite asa:

Maximum Error – l∞

Mean Absolute Error – l1

Least Squares Error l2


Reprezentarea Modelului
Scop: sa invațam functia h: X→ Y pe baza setului de date de antrenare –
h(x) sa fie un predictor bun pentru y
h(x) cat mai apoape de y h – hypothesis function

Cum reprezentăm functia h ?


Regresie liniara cu o variabilă (x) – univariate
: parametrii modelului
Cost Function
Scop:cum contruim modelul pentru datele de intrare -“cea mai bună linie?

Cum alegem parametrii modelului ?

Setam valori diferite ale parametrilor si obtinem diferite functii h


Cost Function

h(x) =1.5 h(x)= 0.5x h(x) =1+0.5x

Setam valori diferite ale parametrilor si obtinem diferite functii h(x) –


diverse predictii
Cost Function
Cum alegem parametrii modelului Θ0 si Θ1 ?

Alegem parametrii Θ0 si Θ1 astfel incat h(x) – valorile pe care le


prezicem sa fie cat mai apropiate de valorile y din setul de antrenare (x,y)

min ( h Θ(x) – y ) 2
Θ 0 , Θ1
Cost Function
Trebuie sa rezolvam problema de minimizare ptr toate valorile (x (i),y(i))
din setul de date de intrare de dimensiune m:

min ( h Θ(x) – y ) 2 devine minimizarea pentru:


Θ0 , Θ1

Media patratului diferentei dintre valorile prezise si valorile reale

Eroarea patratica medie

Mean squared error sau Squared error function

½ - artificiu de calcul ( ne foloseste la gradient descent sa se anuleze cand


facem derivata functiei) – obtinem aceleasi valori ptr Θ0 si Θ1
Cost Function
Acuratețea modelului (modelul de prezicere- hypothesis function ) se
masoară cu Functia de Cost (functia obiectiv).

Scop: sa gasim Θ0 si Θ1 care optimizeaza funcția obiectiv

Hypothesis Function:

Parametrii:

Functia de Cost :

Scop:
Ipoteza simplificată doar Θ1

hΘ(x) modelul de prezicere depinde de x ptr valori fixe ale lui Θ1

J(Θ1) funcția de cost depinde de Θ1


Ipoteza simplificată doar Θ1

Set de date (x,y): (1,1) (2,2), (3,3)


h(x)- fara offset pe axa y, pleaca din origine
Θ1=1
J(Θ1) =1/2m Σ( Θ1x (i) -y(i))2 = 1/6((1-1)2 +(2-2)2+(3-3)2) =0
J(1) = 0
Ipoteza simplificată doar Θ1

Set de date (x,y): (1,1) (2,2), (3,3)


Θ1=0.5
J(Θ1) =1/2m Σ( Θ1x (i) -y(i))2 = 1/6((0.5-1)2 +(1-2)2+(1.5-3)2) =1/6*3.5=0.58
J(0.5) = 0.58
Ipoteza simplificată doar Θ1

Set de date (x,y): (1,1) (2,2), (3,3)


Θ1=0
J(Θ1) =1/2m Σ( Θ1x (i) -y(i))2 = 1/6((0-1)2 +(0-2)2+(0-3)2) =14/6=2.3
J(0) = 2.3
Ipoteza simplificată doar Θ1

Set de date (x,y): (1,1) (2,2), (3,3)


Θ1=1 J(1)= 0 h(x) - linia roz
Θ1=0.5 J(0.5) = 0.58 h(x) - linia neagra
Θ1=0 J(0) = 2.3 h(x) - linia rosie
Θ1=-0.5 J(-0.5) = 5.25 h(x) – panta negativa
Scopul nostru sa aflam Θ1 astfel incat sa minimizam J(Θ1)
minim global → Θ1=1
Cea mai buna potrivire cu setul de date – “cea mai buna linie”
Ipoteza simplificată- doar Θ1

Scopul nostru sa aflam Θ1 astfel incat sa minimizam J(Θ1)

Functia de cost J(Θ1) - o funcție quadratică – bowl shape – functie convexa

Nu are minim local doar un minim global → Θ1=1


Ipoteza completă – Θ0 si Θ1

Aleg hΘ(x) =50+0.6x – nu e o predictie bună Θ0=50 si Θ1=0.06

Functia de cost J(Θ0,Θ1) este o suprafata (inaltimea suprafetei)

Θ0 pe axa x Θ1 pe axa y si pe axa z valoarea lui J(Θ0,Θ1)


Ipoteza completă – Θ0 si Θ1

Contur plots:
Functia de cost J(Θ0,Θ1) are aceeasi valoare pe aceste elipse
Valoarea minima a lui J(Θ0,Θ1) este elipsa centrala, cea mai mica

Consideram un punct pe a 5 elipsa- pct rosu: Θ0=800 si Θ1=-0.15 – e un pct


de pe h(x) – nu e o predictie buna ptr setul de date
Valoarea functiei de cost J(Θ0,Θ1) e departe de valoarea minima
Ipoteza completă – Θ0 si Θ1

Contur plots:
Consideram un punct pe a 3a elipsa- pct rosu: Θ0=350 si Θ1=0 – e un pct de
pe h(x) – nu e o predictie buna ptr setul de date
Valoarea functiei de cost J(Θ0,Θ1) e mai aproape de centru – se reduce
eroarea functiei de cost.
Ipoteza completă – Θ0 si Θ1

Contur plots:
Consideram un punct pe a 3a elipsa- pct rosu: Θ0=240 si Θ1=0.13 – e un
pct de pe h(x) – e o predictie buna

Valoarea functiei de cost J(Θ0,Θ1) e aproape de valoarea minima


Ipoteza completă – Θ0 si Θ1

Avem un model (hypothesis function) si avem o metoda sa masuram cat


de bine se potriveste modelul la setul de date- funnctia de cost

Vrem sa gasim o metoda automata care gaseste parametrii modelului,


valorile Θ0 si Θ1 astfel incat valoarea functiei de cost J(Θ0,Θ1) sa fie
minima:

Gradient Descent
( minimizează alte functii, nu doar modelul regresiei liniare )

Multi parametrii ai modelului – figuri complicate n dimensionale greu de


vizualizat
Regresie neliniara- Gradient Descent

Algoritm general.

Nu vizualizăm datele de intreare x și y.

Vizualizăm intervalul in care variază parametrii modelului nostru ( ai


hypothesis function) și costul rezultat din selectarea unui anumit set de
parametri.

Punctele din graficul nostru vor fi rezultatul funcției de cost folosind


ipoteza – modelul nostru cu acei parametri Θ specifici.
Regresie neliniara-Gradient Descent

Algoritm:

1. Initializam parametrii modelului, Θ0 si Θ1 la niste valori arbitrare.

2. Tot modificam valorile Θ0 si Θ1 , putin cate putin, cu scopul de a


reduce valoarea functiei J(Θ0,Θ1) pana cand ajunge sa fie minima (minim
local).
Regresie neliniara-Gradient Descent
Algoritm - gasesc direcția sa cobor cat mai rapid in vale
Regresie neliniara-Gradient Descent

Alfa - pasul de invatare (learning rate ) cat de mare e pasul pe care-l


facem in directia de coborare

Θ0 si Θ1 se modifica simultan
Regresie neliniara-Gradient Descent doar cu Θ1

Derivata intr-un pct = panta tangentei in acel pct – directia de miscare

Derivata partiala a functiei J(Θ0,Θ1) determina directia pasului pe care


trebuie sa-l facem in jos.

Facem pasi in directia care se coboara cel mai rapid – minimizam functia

Alfa prea mic – facem pasi prea mici, algoritmul prea lent

Alfa prea mare – facem pasi prea mari, algoritmul nu mai poate gasi
minimul – nu mai converge

Algoritmul Gradient Descent va converge catre un minim local chiar daca


alfa e constant – cu cat ne apropiem de minim, facem pasi mai mici,
cantitatea cu care updatamΘ1 e mai mica .
Regresie neliniara-Gradient Descent doar cu Θ1
Daca initializam Θ1 intr-un mimim local algoritmul va lasa Θ1 neschimbat
(derivata in acel pct este 0)
Regresie neliniara-Gradient Descent cu Θ0 si Θ1
Am calculat derivatele partiale pentru Θ0 si Θ1
Important sa updatam Θ0 si Θ1 simultan !

Batch Gradient Descent algoritm: la fiecare pas in algoritm folosim toate


datele de antrenare/intrare
Regresie neliniara-Gradient Descent cu Θ0 si Θ1

Elipsele reprezinta contururile unei funcții pătratice.


Θ a fost inițializată la (48,30)Traiectoria luată prin coborâre în gradient,
care . X-urile din figură (unite prin linii drepte) marchează valorile
succesive ale lui θ prin care a trecut coborârea gradientului pe măsură ce
a convergit la minim.
Regresie neliniara-Gradient Descent

Diverse variante ale algoritmului Gradient Descent:

Normal Equation Method rezolva fara iteratii

Interpolation Gradient Descent - optimizeaza pentru alfa

Alternating Gradient Descent - optimizeaza pe rand variabilele

Notatia matematica pentru Gradient Descent : f(x)


Bibliografie

Andrew Ng- Machine learning -Coursera


https://www.coursera.org/learn/machine-
learning/lecture/Ujm7v/what-is-machine-learning

S-ar putea să vă placă și