Определение гиперпараметров для MVR
Материал из MachineLearning.
(Различия между версиями)
												
			
			 (Новая: При максимизации вероятности появления данных D для гиперпараметров α и β мы получаем:  <math>ln p(D|\alpha , \bet...)  | 
				|||
| Строка 1: | Строка 1: | ||
При максимизации вероятности появления данных D для гиперпараметров α и β мы получаем:  | При максимизации вероятности появления данных D для гиперпараметров α и β мы получаем:  | ||
| - | <  | + | <tex>\ln p(D|\alpha , \beta ) = -E_W^{MP} - \frac{1}{2}\sum_{j=1}^{W}\frac{1}{\lambda_j+\alpha} +\frac{W}{2\alpha} </tex>  | 
Отсюда, приравнивая логарифм к 0, получаем выражение для α.  | Отсюда, приравнивая логарифм к 0, получаем выражение для α.  | ||
| - | <  | + | <tex>2\alpha E_{MP}^W = W - \sum_{j=1}^{W}\frac{\alpha}{\lambda_j+\alpha}</tex>  | 
Выражаем γ - мера числа хорошо обусловленных параметров модели:  | Выражаем γ - мера числа хорошо обусловленных параметров модели:  | ||
| - | <  | + | <tex>\gamma = \sum_{j=1}^{W}\frac{\alpha}{\lambda_j+\alpha}</tex>  | 
Далее, находя оптимальное β, получим, что  | Далее, находя оптимальное β, получим, что  | ||
| - | <  | + | <tex>2 \beta E_D^{MP}= N - \sum_{j=1}^{W}\frac{\lambda_j}{\lambda_j+\alpha}</tex>  | 
Таким образом, на каждом шаге у нас для модели определены гиперпараметры α,β,γ. При этом β определена для всей модели, а α и γ для каждой функции из суперпозиции. Так как оптимизация параметров w дает нам положительно определенную форму гессиана, его собственные значения λ больше нуля, и, таким образом, γ меньше нуля.  | Таким образом, на каждом шаге у нас для модели определены гиперпараметры α,β,γ. При этом β определена для всей модели, а α и γ для каждой функции из суперпозиции. Так как оптимизация параметров w дает нам положительно определенную форму гессиана, его собственные значения λ больше нуля, и, таким образом, γ меньше нуля.  | ||
| Строка 19: | Строка 19: | ||
Мы имеем следующий итерационный процесс пересчета α и γ:  | Мы имеем следующий итерационный процесс пересчета α и γ:  | ||
| - | <  | + | <tex>\alpha_{ij}^{new} = \frac{W-\gamma_i}{E_W(b_{ij})}</tex>  | 
| + | |||
| + | <tex>\gamma = \sum_{j=1}^{W}\frac{\alpha}{\lambda_j+\alpha}</tex>  | ||
Процесс сходится, так как увеличение α ведет к увеличению γ, что на следующем шаге ведет к уменьшению α.  | Процесс сходится, так как увеличение α ведет к увеличению γ, что на следующем шаге ведет к уменьшению α.  | ||
| - | Код, считающий гиперпараметры:  | + | |
| + | {{Hider|  | ||
| + | title=Код, считающий гиперпараметры:|  | ||
| + | content=<br />  | ||
| + |     for m=1:limit  | ||
| + |         gamma(m)=0;  | ||
| + |         for i=1:size(Model.wFound,2)  | ||
| + |             gamma(m)=gamma(m)+max(alpha)/(lambda(i)+max(alpha));  | ||
| + |         end  | ||
| + |         for i=1:size(Model.wFound,2)  | ||
| + |             alpha(i)=(size(Model.wFound,2)-gamma(m))/Model.wFound(i)^2  | ||
| + |         end  | ||
| + |         beta(m)=(size(y,1)-gamma(m))/Model.errTest;  | ||
| + |     end  | ||
| + | }}  | ||
Версия 08:23, 13 апреля 2009
При максимизации вероятности появления данных D для гиперпараметров α и β мы получаем:
Отсюда, приравнивая логарифм к 0, получаем выражение для α.
Выражаем γ - мера числа хорошо обусловленных параметров модели:
Далее, находя оптимальное β, получим, что
Таким образом, на каждом шаге у нас для модели определены гиперпараметры α,β,γ. При этом β определена для всей модели, а α и γ для каждой функции из суперпозиции. Так как оптимизация параметров w дает нам положительно определенную форму гессиана, его собственные значения λ больше нуля, и, таким образом, γ меньше нуля.
Мы имеем следующий итерационный процесс пересчета α и γ:
Процесс сходится, так как увеличение α ведет к увеличению γ, что на следующем шаге ведет к уменьшению α.
Код, считающий гиперпараметры:  
   for m=1:limit
       gamma(m)=0;
       for i=1:size(Model.wFound,2)
           gamma(m)=gamma(m)+max(alpha)/(lambda(i)+max(alpha));
       end
       for i=1:size(Model.wFound,2)
           alpha(i)=(size(Model.wFound,2)-gamma(m))/Model.wFound(i)^2
       end
       beta(m)=(size(y,1)-gamma(m))/Model.errTest;
   end

