Киришүү
Берилиштер топтому берилген D = { ( X 1 , Y 2 ) , … , ( X N , Y N ) } D = \{(X_{1}, Y_{2}), \dots,(X_{N}, Y_{N})\} D = {( X 1 , Y 2 ) , … , ( X N , Y N )} , мисалы, X i X_{i} X i жана Y i Y_{i } Y i үзгүлтүксүз, "Сызыктуу регрессиянын" максаты бул маалыматтарга туура келген эң жакшы сызыкты табуу.
Башкача айтканда, биз моделди түзгүбүз келет:
y ^ = a ∗ 0 + a ∗ 1. x ∗ 1 + ⋯ + a ∗ p . x _ p \hat{y} = a*{0} + a*{1}.x*{1} + \dots + a*{p}.x\_{p} y ^ = a ∗ 0 + a ∗ 1 . x ∗ 1 + ⋯ + a ∗ p . x _ p
мында p p p — X X X өзгөрмөнүн өлчөмдөрүнүн саны.
Бул макалада биз үч жагдайда бул көйгөйдү чечүү үчүн карап көрөлү:
X бир өлчөмдүү болгондо, б.а. p = 1 p=1 p = 1 .
X көп өлчөмдүү болгондо, б.а. p > 1 p>1 p > 1 .
Градиенттин түшүүсүн колдонуу.
X X X бир өлчөмдүү (Кадимки эң кичине чарчы)
Биз түзгүбүз келген моделдин формасы:
y ^ = a ∗ 0 + a ∗ 1. x \hat{y} = a*{0} + a*{1}.x y ^ = a ∗ 0 + a ∗ 1 . x
Сызыктуу регрессиянын максаты маалыматтарга эң туура келген сызыкты табуу экенин унутпаңыз. Башка сөз менен айтканда, биз маалымат чекиттери менен сызык ортосундагы аралыкты минималдаштыруу керек.
( a ∗ 0 ^ , a ∗ 1 ^ ) = argmin ( a ∗ 0 , a ∗ 1 ) ∑ ∗ i = 1 N ( y ∗ i − y ∗ i ^ ) 2 (\hat{a*{0}}, \hat{a*{1}}) = \underset{(a*{0}, a*{1})}{\operatorname{argmin}} \sum\limits*{i=1}^{N} (y*{i} - \hat{y*{i}})^2 ( a ∗ 0 ^ , a ∗ 1 ^ ) = ( a ∗ 0 , a ∗ 1 ) argmin ∑ ∗ i = 1 N ( y ∗ i − y ∗ i ^ ) 2
= argmin ( a ∗ 0 , a ∗ 1 ) ∑ ∗ i = 1 N ( y ∗ i − ( a ∗ 0 + a ∗ 1. x ∗ i ) ) 2 = \underset{(a*{0}, a*{1})}{\operatorname{argmin}} \sum\limits*{i=1}^{N} (y*{i} - (a*{0} + a*{1}.x*{i}))^2 = ( a ∗ 0 , a ∗ 1 ) argmin ∑ ∗ i = 1 N ( y ∗ i − ( a ∗ 0 + a ∗ 1 . x ∗ i ) ) 2
коёлу:
L = ∑ ∗ i = 1 N ( y ∗ i − ( a ∗ 0 + a ∗ 1. x _ i ) ) 2 L = \sum\limits*{i=1}^{N} (y*{i} - (a*{0} + a*{1}.x\_{i}))^2 L = ∑ ∗ i = 1 N ( y ∗ i − ( a ∗ 0 + a ∗ 1 . x _ i ) ) 2
Минималды табуу үчүн төмөнкү теңдемелерди чечүү керек:
{ ∂ L ∂ a 0 = 0 ∂ L ∂ a 1 = 0 \begin{cases}
\frac{\partial L}{\partial a_{0}} = 0\\
\frac{\partial L}{\partial a_{1}} = 0
\end{cases} { ∂ a 0 ∂ L = 0 ∂ a 1 ∂ L = 0
{ ∑ i = 1 N − 2 ( y i − ( a 0 + a 1 . x i ) ) = 0 ∑ i = 1 N − 2 x i ( y i − ( a 0 + a 1 . x i ) ) = 0 \begin{cases}
\sum\limits_{i=1}^{N} -2(y_{i} - (a_{0} + a_{1}.x_{i})) = 0\\
\sum\limits_{i=1}^{N} -2x_{i}(y_{i} - (a_{0} + a_{1}.x_{i})) = 0
\end{cases} ⎩ ⎨ ⎧ i = 1 ∑ N − 2 ( y i − ( a 0 + a 1 . x i )) = 0 i = 1 ∑ N − 2 x i ( y i − ( a 0 + a 1 . x i )) = 0
Биринчи теңдемени иштеп чыгуу менен баштайбыз:
∑ i = 1 N y i − ∑ i = 1 N a 0 + ∑ i = 1 N a 1 . x i = 0 \sum\limits_{i=1}^{N} y_{i} - \sum\limits_{i=1}^{N}a_{0} + \sum\limits_{i=1}^{N} a_{1}.x_{i} = 0\\ i = 1 ∑ N y i − i = 1 ∑ N a 0 + i = 1 ∑ N a 1 . x i = 0
∑ i = 1 N y i − N a 0 + ∑ i = 1 N a 1 . x i = 0 \sum\limits_{i=1}^{N} y_{i} - Na_{0} + \sum\limits_{i=1}^{N} a_{1}.x_{i} = 0\\ i = 1 ∑ N y i − N a 0 + i = 1 ∑ N a 1 . x i = 0
a 0 = ∑ i = 1 N y i N − ∑ i = 1 N x i N a 1 a_{0} = \frac{\sum\limits_{i=1}^{N} y_{i}}{N} - \frac{\sum\limits_{i=1}^{N} x_{i}}{N}a_{1} a 0 = N i = 1 ∑ N y i − N i = 1 ∑ N x i a 1
a 0 = Y − X a 1 a_{0} = Y - Xa_{1} a 0 = Y − X a 1
Экинчи теңдемеге алмаштырабыз:
∑ i = 1 N x i ( y i − Y + X a 1 − a 1 x i ) = 0 \sum\limits_{i=1}^{N} x_{i}(y_{i} - Y + Xa_{1} - a_{1}x_{i}) = 0 i = 1 ∑ N x i ( y i − Y + X a 1 − a 1 x i ) = 0
∑ i = 1 N ( y i − Y ) + a 1 ( X − x i ) = 0 \sum\limits_{i=1}^{N} (y_{i} - Y) + a_{1}(X - x_{i}) = 0 i = 1 ∑ N ( y i − Y ) + a 1 ( X − x i ) = 0
∑ i = 1 N ( y i − Y ) − ∑ i = 1 N a 1 ( x i − X ) = 0 \sum\limits_{i=1}^{N} (y_{i} - Y) - \sum\limits_{i=1}^{N}a_{1}(x_{i} - X) = 0 i = 1 ∑ N ( y i − Y ) − i = 1 ∑ N a 1 ( x i − X ) = 0
a 1 = ∑ i = 1 N ( y i − Y ) ∑ i = 1 N ( x i − X ) = ∑ i = 1 N ( y i − Y ) ( x i − X ) ∑ i = 1 N ( x i − X ) 2 = C O V ( X , Y ) V A R ( X ) a_{1} = \frac{\sum\limits_{i=1}^{N} (y_{i} - Y)}{\sum\limits_{i=1}^{N}(x_{i} - X)} =
\frac{\sum\limits_{i=1}^{N} (y_{i} - Y)(x_{i} - X)}{\sum\limits_{i=1}^{N}(x_{i} - X)^2} =
\frac{COV(X, Y)}{VAR(X)} a 1 = i = 1 ∑ N ( x i − X ) i = 1 ∑ N ( y i − Y ) = i = 1 ∑ N ( x i − X ) 2 i = 1 ∑ N ( y i − Y ) ( x i − X ) = V A R ( X ) CO V ( X , Y )
Биз кайра a 0 a_{0} a 0 менен алмаштырабыз:
{ a 0 = Y − X C O V ( X , Y ) V A R ( X ) a 1 = C O V ( X , Y ) V A R ( X ) \begin{cases}
a_{0} = Y - X\frac{COV(X, Y)}{VAR(X)}\\
a_{1} = \frac{COV(X, Y)}{VAR(X)}
\end{cases} { a 0 = Y − X V A R ( X ) CO V ( X , Y ) a 1 = V A R ( X ) CO V ( X , Y )
X X X көп өлчөмдүү (Кадимки эң кичине чарчы)
Бул учурда, X i X_{i} X i мындан ары чыныгы сан эмес, анын ордуна p p p өлчөмүндөгү вектор :
X ∗ i = ( X ∗ i 1 , X ∗ i 2 , … , X ∗ i p ) X*{i} = (X*{i1},X*{i2},\dots,X*{ip}) X ∗ i = ( X ∗ i 1 , X ∗ i 2 , … , X ∗ i p )
Ошентип, модель төмөнкүчө жазылган:
y ^ = a ∗ 0 + a ∗ 1 x ∗ 1 + a ∗ 2 x ∗ 2 + ⋯ + a ∗ p x _ p \hat{y} = a*{0} + a*{1}x*{1} + a*{2}x*{2} + \dots + a*{p}x\_{p} y ^ = a ∗ 0 + a ∗ 1 x ∗ 1 + a ∗ 2 x ∗ 2 + ⋯ + a ∗ p x _ p
же, ал матрицалык форматта жазылышы мүмкүн:
Y ^ = X . W \hat{Y} = X.W Y ^ = X . W
кайда:
Y Y Y ( N , 1 ) (N, 1) ( N , 1 ) формасында.
X X X ( N , p ) (N, p) ( N , p ) формасында.
W W W ( p , 1 ) (p, 1) ( p , 1 ) формасында: бул ( w 1 , w 2 , … , w p ) (w_{1}, w_{2}, \dots, w_{p}) ( w 1 , w 2 , … , w p ) векторунун параметрлери.
Биринчи учурга окшоп, биз төмөнкү көлөмдү минималдаштырууну максат кылабыз:
W ^ = argmin W ∑ ∗ i = 1 N ( y ∗ i − y _ i ^ ) 2 \hat{W} = \underset{W}{\operatorname{argmin}} \sum\limits*{i=1}^{N} (y*{i} - \hat{y\_{i}})^2 W ^ = W argmin ∑ ∗ i = 1 N ( y ∗ i − y _ i ^ ) 2
Дагы айталы:
L = ∑ ∗ i = 1 N ( y ∗ i − y _ i ^ ) 2 L = \sum\limits*{i=1}^{N} (y*{i} - \hat{y\_{i}})^2 L = ∑ ∗ i = 1 N ( y ∗ i − y _ i ^ ) 2
= ( Y − X W ) T ( Y − X W ) = (Y-XW)^{T}(Y-XW) = ( Y − X W ) T ( Y − X W )
= Y T Y − Y T X W − W T X T Y + W T X T X W = Y^TY-Y^TXW-W^TX^TY+W^TX^TXW = Y T Y − Y T X W − W T X T Y + W T X T X W
= Y T Y − 2 W T X T Y + W T X T X W = Y^TY-2W^TX^TY+W^TX^TXW = Y T Y − 2 W T X T Y + W T X T X W
Биз W W W га карата L L L ды минималдаштыргыбыз келгендиктен, биз биринчи "Y T Y Y^TY Y T Y " терминин этибарга албай койсок болот, анткени ал W W W га көз каранды эмес жана төмөнкү теңдемени чечели:
∂ ( − 2 W T X T Y + W T X T X W ) ∂ W = 0 \frac{\partial (-2W^TX^TY+W^TX^TXW)}{\partial W} = 0 ∂ W ∂ ( − 2 W T X T Y + W T X T X W ) = 0
− 2 X T Y + 2 X T X W ^ = 0 -2X^TY+2X^TX\hat{W} = 0 − 2 X T Y + 2 X T X W ^ = 0
W ^ = ( X T X ) − 1 X T Y \hat{W} = (X^TX)^{-1}X^TY W ^ = ( X T X ) − 1 X T Y
Градиенттин түшүүсүн колдонуу
Бул жерде градиенттин түшүү алгоритминин формуласы:
w ∗ n + 1 = w ∗ n − l r × ∂ f ∂ w _ n w*{n+1} = w*{n} - lr \times \frac{\partial f}{\partial w\_{n}} w ∗ n + 1 = w ∗ n − l r × ∂ w _ n ∂ f
Эми аны a 0 a_{0} a 0 жана a 1 a_{1} a 1 эки параметрге колдонуу керек (бир өзгөрмө X X X болгон учурда):
{ a 0 ( n + 1 ) = a 0 ( n ) − l r × ∂ L ∂ a 0 a 1 ( n + 1 ) = a 1 ( n ) − l r × ∂ L ∂ a 1 \begin{cases}
a_{0}^{(n+1)} = a_{0}^{(n)} - lr \times \frac{\partial L}{\partial a_{0}}\\
a_{1}^{(n+1)} = a_{1}^{(n)} - lr \times \frac{\partial L}{\partial a_{1}}
\end{cases} { a 0 ( n + 1 ) = a 0 ( n ) − l r × ∂ a 0 ∂ L a 1 ( n + 1 ) = a 1 ( n ) − l r × ∂ a 1 ∂ L
жана биз билебиз:
{ ∂ L ∂ a 0 = ∑ i = 1 N − 2 ( y i − ( a 0 + a 1 . x i ) ) ∂ L ∂ a 1 = ∑ i = 1 N − 2 x i ( y i − ( a 0 + a 1 . x i ) ) \begin{cases}
\frac{\partial L}{\partial a_{0}} = \sum\limits_{i=1}^{N} -2(y_{i} - (a_{0} + a_{1}.x_{i}))\\
\frac{\partial L}{\partial a_{1}} = \sum\limits_{i=1}^{N} -2x_{i}(y_{i} - (a_{0} + a_{1}.x_{i}))
\end{cases} ⎩ ⎨ ⎧ ∂ a 0 ∂ L = i = 1 ∑ N − 2 ( y i − ( a 0 + a 1 . x i )) ∂ a 1 ∂ L = i = 1 ∑ N − 2 x i ( y i − ( a 0 + a 1 . x i ))
алмаштыруу боюнча:
{ a 0 ( n + 1 ) = a 0 ( n ) + 2 × l r × ∑ i = 1 N ( y i − ( a 0 ( n ) + a 1 ( n ) . x i ) ) a 1 ( n + 1 ) = a 1 ( n ) + 2 × l r × ∑ i = 1 N x i ( y i − ( a 0 ( n ) + a 1 ( n ) . x i ) ) \begin{cases}
a_{0}^{(n+1)} = a_{0}^{(n)} + 2 \times lr \times \sum\limits_{i=1}^{N} (y_{i} - (a_{0}^{(n)} + a_{1}^{(n)}.x_{i}))\\
a_{1}^{(n+1)} = a_{1}^{(n)} + 2 \times lr \times \sum\limits_{i=1}^{N} x_{i}(y_{i} - (a_{0}^{(n)} + a_{1}^{(n)}.x_{i}))
\end{cases} ⎩ ⎨ ⎧ a 0 ( n + 1 ) = a 0 ( n ) + 2 × l r × i = 1 ∑ N ( y i − ( a 0 ( n ) + a 1 ( n ) . x i )) a 1 ( n + 1 ) = a 1 ( n ) + 2 × l r × i = 1 ∑ N x i ( y i − ( a 0 ( n ) + a 1 ( n ) . x i ))
Викторина
Көп өлчөмдүү сызыктуу регрессияда оптималдуу параметрлер векторунун формуласы кандай?
C O V ( X , Y ) V A R ( Y ) \frac{COV(X, Y)}{VAR(Y)} V A R ( Y ) CO V ( X , Y )
C O V ( X , Y ) V A R ( X ) \frac{COV(X, Y)}{VAR(X)} V A R ( X ) CO V ( X , Y )
( X T X ) − 1 X T Y (X^TX)^{-1}X^TY ( X T X ) − 1 X T Y "туура"
Эмне үчүн туундуну 0гө коёбуз?
Экстремумду табуу. "туура"
Туундуну минималдаштыруу.
Туундунун чыныгы бөлүгүн гана сактоо.
Сызыктуу регрессиянын максаты эмне?
Бардык чекиттерден өткөн сызыкты табуу.
Маалыматты эң жакшы сүрөттөгөн сызыкты табуу үчүн."туура"
Маалыматтарды эң жакшы бөлгөн сызыкты табуу.