[Stanford-ML]為什麼Andrew Ng用*3,*10來尋找最佳的learning rate?

41 views
Skip to first unread message

Heron Yang

unread,
Oct 17, 2011, 6:33:23 AM10/17/11
to ITRS
"Gradient Descent in Practice II - Learning Rate"影片最後(8:00),
請問有人知道為什麼他要用0.001,0.003,0.01,0.03,0.1,0.3...這樣的序列去找最佳的learning rate(alpha)呢?

--
Best,
Heron Yang

Yu-Teh Shen

unread,
Oct 17, 2011, 9:50:12 AM10/17/11
to it...@googlegroups.com
不是0.001, 0.01, 0.1 這樣媽

然後再根據範圍調整0.003 or 0.03, or 0.3

Shen, Yu-Teh


2011/10/17 Heron Yang <v6510y...@gmail.com>

--
You are subscribed to the "itrs" group, see: http://groups.google.com/group/itrs

莊典融(Tien-Jung Chuang)

unread,
Oct 17, 2011, 10:22:37 AM10/17/11
to it...@googlegroups.com
video 裡的意思應該是 0.001 -> 0.003 -> 0.01 -> ... 沒錯

老實說我也沒想到很好的解釋, 只能說是經驗法則?


另外真要問, 我想問的是:

1. 為什麼 alpha 要等比增加 (而不是等差增加)?

2. alpha 究竟應該從多小的值開始增加?

如果能理解 alpha 為什麼是等比增加的話, 我覺得每次增加半個數量級 (i.e.: sqrt(10)) 就是一件可接受的事情

2011/10/17 Yu-Teh Shen <shen...@gmail.com>

Yu-Teh Shen

unread,
Oct 17, 2011, 10:29:56 AM10/17/11
to it...@googlegroups.com
或許是因為它有先經過normalize? 都在那小小的範圍, -1 <= 0 <= 1 

所以才取那樣的數字,

至於你說的等比增加, 沒什麼想法

Shen, Yu-Teh


2011/10/17 莊典融(Tien-Jung Chuang) <tien...@gmail.com>

Chia Hao Lo

unread,
Oct 17, 2011, 8:51:06 PM10/17/11
to it...@googlegroups.com
我的解讀是試不同 alpha, 看 (# iter, J(theta)) 的圖形,
從中找出最適合的 alpha

這種情況下用等比感覺還滿符合直覺,
若將 alpha 看成是一個函數 f(alpha) -> cost after K iterations,
where K is some constant.

這有些像 binary search 一樣, 可以比較快找到某個區間, 
不過 f(alpha) 並不是連續的, 所以只是「感覺上」會有效,
我想這裡只是提供基本概念, 如何有效率地選個還不壞的 alpha

另外 alpha 不見得必須是常數,
有些演算法會動態調整參數,
以前修 evolutionary computation 時有讀過 evolution strategy 裡的 1/5 rule,
套 gradient decent 的術語來說的話,
概念是觀察最近五回 J(theta) 的變化是變大或變小,
若成功率大過某個值 (表示可以放心「跨」更大步), 則放大 alpha; 
反之, 則縮小 alpha (表示跨過頭了)

chlo

2011/10/17 Yu-Teh Shen <shen...@gmail.com>
Reply all
Reply to author
Forward
0 new messages