RVM์ ํ๊ท ๋ฐ ๋ถ๋ฅ ์์
์ ๋ํ ํฌ์ ์๋ฃจ์
์ ์ป๊ธฐ ์ํ ๋ฒ ์ด์ง์ ํ๋ ์์ํฌ์
๋๋ค. SVM(Support Vector Machine)๊ณผ ๋์ผํ ํํ์ ๋ชจ๋ธ์ ์ฌ์ฉํ์๋ค. SVM์ ๋ค์๊ณผ ๊ฐ์ ๋จ์ ์ ํด๊ฒฐํฉ๋๋ค.
-- SVM์ ๊ธฐ์ ํจ์์ ์๋ ํ๋ จ ์ธํธ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ์ ํ์ ์ผ๋ก ์ฆ๊ฐํฉ๋๋ค.
RVM์์ ์ฐ๋ฆฌ๋ 0 ๊ธฐ๋ฐ์ผ๋ก ์์ํ์ฌ ์๋ ด๋ ๋๊น์ง ๊ธฐ์ ๊ธฐ๋ฅ ์ธํธ๋ฅผ ์ ์ง์ ์ผ๋ก ์
๋ฐ์ดํธ(์ถ๊ฐ/์ญ์ )ํฉ๋๋ค.
-- SVM ์์ธก์ ํ๋ฅ ์ ์ด์ง ์์ง๋ง RVM์ ํ๋ฅ ์ ์ ๋๋ค.
-- SVM์์๋ RVM์ ๊ฒฝ์ฐ๊ฐ ์๋ ๋ง์ง ์ ์ถฉ ๋งค๊ฐ๋ณ์ 'C'๋ฅผ ์ถ์ ํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค.
-- SVM ์ปค๋์ ์์ ์ ๋ถํธ์ฌ์ผ ํฉ๋๋ค. RVM์์๋ ๋ชจ๋ ์ปค๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
dlib http://dlib.net/dlib/svm/rvm_abstract.h.html์ ์ด๋ฏธ ๊ตฌํ๋์ด ์์ผ๋ฉฐ http://www.vectoranomaly.com/downloads/downloads.htm์ matlab ๊ตฌํ๋ ์์ต๋๋ค
scikit-learn์ ์ถ๊ฐํ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
์ฐธ์กฐ:
1- Tipping, M. E. and A. C. Faul (2003). Fast marginal likelihood maximisation for sparse Bayesian models. In C. M. Bishop and B. J. Frey (Eds.), Proceedings of the Ninth International Workshop on Artificial Intelligence and Statistics, Key West, FL, Jan 3-6.
2- Tipping, M. E. (2001). Sparse Bayesian learning and the relevance vector machine. Journal of Machine Learning Research 1, 211โ244.
๋ค์ ์ฝ์ด๋ด์ผ ํ๊ฒ ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก RVM์ด ์ข์ ์ถ๊ฐ ๊ธฐ๋ฅ์ด ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
dlib๋ ํธํ๋์ด์ผ ํ๋ ๋ถ์คํธ ๋ผ์ด์ ์ค์
๋๋ค. ํ์ง๋ง ๋ถ์คํธ๊ฐ ๋ง์ ์ฝ๋ฉ ์คํ์ผ ๋๋ฌธ์ ๋ํํ๊ธฐ๊ฐ ์ฝ์ง ์์ ์ ์์ต๋๋ค.
๋ฌธ์ ๊ฐ SMO๋ฅผ ์ฌ์ฉํ์ฌ ์ต์ ํ๋์์ต๋๊น? SMO๋ฅผ ๊ตฌํํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์
๋๊น?
๋ด ๋น์์ ์ก์์ผ ํด์.
ARD์ RVM์ ๊ด๊ณ๋ ๋ฌด์์ ๋๊น? RVM์ ARD์ "๊ธฐ๋ณธ ๊ธฐ๋ฅ" ๋ฒ์ ์ ๋๊น?
Btw Generalized Linear Models
์น์
์ ์ผ๋ฐํ๋ ๋ชจ๋ธ์ด ํฌํจ๋์ด ์์ง ์๋ค๋ ์ฌ์ค์ ๊ดด๋ก์ํ ์ฌ๋์ด ์์ต๋๊น?
์, ๊ทธ๋ผ sequential sparse learning algorithm
Bishop p๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. 352 ํ๋ก์?
์์ ์ ์์๋ณด์ธ์ ;)
ARD์๋ ๋น์ทํ ๋ฐฉ๋ฒ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค. ํ์ฌ ARD ๊ตฌํ์ด ๋งค์ฐ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋ฉ์ง ๊ฒ์ ๋๋ค :-/
์๋์, RVM์ ๊ตฌํ์ ํ์คํ SMO๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. SMO๋ SVM ์ต์ ํ์๋ง ์ฌ์ฉ๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
์, ์ฐธ์กฐ 1 ํ์ด์ง 7์์ sequential sparse learning algorithm
๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. (bishop p 352์ ์์ต๋๊น? ์ด๋ ๊ฒ์
๋๊น?) ์ด ์๊ณ ๋ฆฌ์ฆ์ ์ถฉ๋ถํ "๊ฐ๋จํ๊ณ " dlib๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์์ฑํ ์ ์์ต๋๋ค. ํ์ด์ฌ์ผ๋ก ์์ฑํ ๋ค์ ์ต์ ํ๋ฅผ ์ํด cython์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํด ์๊ฐํ๊ณ ์์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์ฐ๋ฆฌ๋ matlab ๊ตฌํ์ ์ต๋ํ ํ์ฉํ ์ ์์ต๋๋ค. ์ด๋ป๊ฒ ์๊ฐํด?
์ด์จ๋ C++๋ก ์์ฑํ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฅผ ์ํด์๋ C++๋ก ๋ ์ข์ ์ ํ ๋์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก scikit-learn์ด ํจ๊ป ์ ๊ณต๋๋์ง ํ์คํ์ง ์์ต๋๋ค.
Bishop์ "๊ธฐ๊ณ ํ์ต ๋ฐ ํจํด ์ธ์"์ ๋๋ค.
์๊ณ ๋ฆฌ์ฆ์ ์ ๋๋ก ์ดํดํ๋ ๊ฒ์ ์๋ง๋ ์์ ํ ์ฝ์ง ์์ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ์์ํ๊ณ ์ถ๋ค๋ฉด ๋ถ๋ช ํ ๋ ํฐ ํ๋ก์ ํธ๊ฐ ๋ ๊ฒ์ ๋๋ค. ๊ด์ฌ์ด ์๊ณ ์ด๋ค ์์ผ๋ก๋ ๊ตฌํํ๋ ค๋ ๊ฒฝ์ฐ ์งํํ์ญ์์ค.
๊ทธ๊ฒ์ ๊ตฌํํ๋ ๊ฒ๋ scikit-learn์ ๋ฃ๋ ๊ฒ๊ณผ๋ ์๋นํ ๋ค๋ฆ ๋๋ค. ์ฌ๊ธฐ์๋ ํ ์คํธ, ๋ฌธ์, ์ฌ์ฉ์ ๊ฐ์ด๋ ๋ฐ ์์ ์ฝ๋ ์์ฑ๋ ํฌํจ๋ฉ๋๋ค.
์ฒซ ๋ฒ์งธ ์๋์์๋ ํ์คํ numpy๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ด๋ถ์ ์ผ๋ก blas๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋งค์ฐ ๋น ๋ฆ
๋๋ค.
Cython์ ์ฌ์ฉํ์ฌ ์๋๋ฅผ ๋์ด๋ ๊ฒ์ ํ์ด์ฌ ์ค๋ฒํค๋๊ฐ ๋ง์ ๊ฒฝ์ฐ์๋ง ์๋ฏธ๊ฐ ์์ต๋๋ค. BLAS ํธ์ถ์ ๋ชจ๋ ์๊ฐ์ ํ ์ ํ๋ค๋ฉด Cython์ ์ฌ์ฉํ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์์ต๋๋ค.
Cython๊ณผ numpy์์๋ ๊ด์ฐฎ์ต๋๋ค. ์ ๋ ๋น์์ด RVM์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒ์ ๋ชฐ๋์ต๋๋ค.
ARD ๋ฐ RVM ๊ด๊ณ์ฉ. ์ ๋ ARD์ ๋ํด ์ ๋ชจ๋ฆ
๋๋ค. ๊ทธ๋ฌ๋ ์ฐธ์กฐ 2์์ ์ ์๋ RVM์ด ARD๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค๊ณ ๋งํ์ต๋๋ค. (213) 8ํ.
์ด์จ๋ ARD๋ ์ด๋ป๊ฒ ์๋ํฉ๋๊น?
ARD๋ Bishops ์ฑ ๊ณผ ์ฌ์ฉ ์ค๋ช ์ ์๋ ์ค๋ช ๋์ด ์์ต๋๋ค. ๊ทธ๊ฒ์ ๊ฐ์ค์น์ ๋๊ฐ์ ๊ฐ์ฐ์์์ ์ฐ์ ์ ์ผ๋ก ๋๊ณ RVM์ด ์ํํ๋ ๊ฒ๊ณผ ๋์ผํ ๋ถ์ฐ์ ์ถ์ ํ๋ ค๊ณ ์๋ํฉ๋๋ค. ๊ทธ ๋ง์ต๋๊น?
๋๋ ์ฌํ์ด ๋ค์๊ณผ ๊ฐ์ด ์ธ๊ธํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค.
http://books.nips.cc/papers/files/nips20/NIPS2007_0976.pdf
์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๊ตฌํ์ด ์๋๋๋ค. @vmichel์ด ๊ตฌํํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋น์ ์ ๊ทผ ๋ฐฉ์์ ์ด ๋ฌธ์๊ฐ ๋ค์๊ณผ ์ ์ฌํ ๊ณ ์ ์์์ ์ ๊ทผ ๋ฐฉ์์ ๋ชฉ์ ์ผ๋ก ํฉ๋๋ค.
์ขํ ํ๊ฐ ์ ๊ทผ. ์ด ์ฝ๋๋ ํ์คํ ์ฌ๋์ด ํ์ํฉ๋๋ค...
@agramfort ๊ฐ์ฌํฉ๋๋ค. ๊ถ๊ธํ์ต๋๋ค. ์์ธํ๋ ์ ๊ฐ๋ดค์ง๋ง ๋ ผ๋ฌธ๋ง ์ฐธ๊ณ ๊ฐ ๋๋ ์ค ์์๋๋ฐ...
์ฌ์ฉ๋ bishop์ ์ฅ์ ์ธ์ฉํ์ฌ ๋ค๋ฅธ ๋ฌธ์๋ฅผ ๋์ ๊ตฌํํด์ผ ํ๋ค๋ ์ค๋ช ์ ์ถ๊ฐํด ์ฃผ์๋ฉด ๋๋จํ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
(ํ์ฌ ํ ์คํธ ์ค์ํธ์์ ๊ฐ์ฅ ๋๋ฆฐ ๊ฒ ์ค ํ๋๋ ๊ณตํต ํ ์คํธ์ ๋ณด์คํด ๋ฐ์ดํฐ ์ธํธ์ ARD๋ฅผ ๋ง์ถ๋ ๊ฒ์ ๋๋ค)
@agramfort ๊ฐ์ฌํฉ๋๋ค. ๊ถ๊ธํ์ต๋๋ค. ์์ธํ๋ ์ ๊ฐ๋ดค์ง๋ง ๋ ผ๋ฌธ๋ง ์ฐธ๊ณ ๊ฐ ๋๋ ์ค ์์๋๋ฐ...
์ฌ์ฉ๋ bishop์ ์ฅ์ ์ธ์ฉํ์ฌ ๋ค๋ฅธ ๋ฌธ์๋ฅผ ๋์ ๊ตฌํํด์ผ ํ๋ค๋ ์ค๋ช ์ ์ถ๊ฐํด ์ฃผ์๋ฉด ๋๋จํ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
์ฐธ์กฐ : https://github.com/scikit-learn/scikit-learn/pull/1530
Btw๋ ์ผ๋ฐํ ์ ํ ์น์ ์ด
๋ชจ๋ธ์ ์ผ๋ฐํ๋ ๋ชจ๋ธ์ด ํฌํจ๋์ด ์์ง ์์ต๋๊น?
์ด๊ฒ์ ๋ก์ง์คํฑ ํ๊ท๋ฅผ ์ํํฉ๋๋ค.
ARD์๋ ๋น์ทํ ๋ฐฉ๋ฒ์ด ์๋์ง ๊ถ๊ธํฉ๋๋ค. ๊ทธ๊ฒ์ ๋ฉ์ง ๊ฒ์ ๋๋ค
ํ์ฌ ARD ๊ตฌํ์ ์๋นํ ๋๋ฆฝ๋๋ค :-/
ARD์ ๊ฐ์ฅ ์ ๋งํ Rapid solver๋ ๋ค์์ ๊ตฌํํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ค์์์ ๋
ธ์ถ๋ ์ ๋ต:
http://books.nips.cc/papers/files/nips20/NIPS2007_0976.pdf
์ผ๋ง ์ ์ ์์ฑํ ์ฝ๋๋ฅผ ์์ ์ผ๋ก ์ฎ๊น๋๋ค.
๋๊ตฐ๊ฐ ARD ์์ ์ ํ๊ณ ์ถ๋ค๋ฉด ์ ์ฉํ ์ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค.
https://gist.github.com/4494613
๊ฒฝ๊ณ : ๋ง์ด ํ
์คํธ๋์ง ์์์ผ๋ฉฐ ์ ํ์ฑ์ ๋ณด์ฅํ์ง๋ ์์ง๋ง
์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
@amueller
๋๋ http://books.nips.cc/papers/files/nips20/NIPS2007_0976.pdf ์์ ARD๋ฅผ ๋ถ์ํ๊ณ RVM๊ณผ ARD๊ฐ ๋์ผํ ๋ชฉ์ ํจ์๋ฅผ ์ต์ ํํ๊ธฐ๋ฅผ ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐจ์ด์ ์ ์ด ๊ธฐ๋ฅ์ ์ต์ ํํ๋ ๋ฐ ์ฌ์ฉ๋ ๋ฐฉ๋ฒ์์ ๋ํ๋ฉ๋๋ค. RVM์์ ์ ์๋ค์ ๋๋ถ๋ถ์ ๊ฐ์ค์น๊ฐ 0์ ๊ฐ๊น๋ค๋ ๊ฒ์ ์์์ฐจ๋ ธ๊ณ ์ด๋ฅผ ์ฌ์ฉํ์ฌ "๋น ๋ฅธ" ์๊ณ ๋ฆฌ์ฆ์ ๋์ถํ์ต๋๋ค.
์ด์ํ๊ฒ ๋ค๋ฆฐ๋ค. ๋ชฉ์ ์ด ๊ฐ์ผ๋ฉด ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ต์ ํ๋ฅผ ํ ์ ์์ด์ผ ํ์ง ์๊ฒ ์ต๋๊น?
๋ค, ๋น์ฐํ ๊ทธ๋์ผ ํฉ๋๋ค. ํ์ง๋ง RVM์ ์์ฑ์๋ ๋ ๋น ๋ฅด๊ณ ํฌ์ํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ค๋ฅธ ์ต์ ํ ์ ๋ต์ ์ฌ์ฉํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
@yedtoss ๋ค๋ฅธ ์ฐจ์ด์ ์ด ์๋ค๊ณ ํ์ ํฉ๋๋ค. ์ ์ ๋งํ๋ฏ์ด ์ด๊ฒ์ RVM์ด ๊ธฐ๋ฅ ๊ณต๊ฐ์์ ๋๋ ์ปค๋๊ณผ ํจ๊ป ์๋ํ๋ ๊ฒ์ผ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ARD ๊ตฌํ์ ๋์ฒดํ ์ ์์ต๋๊น? ํ์ง๋ง ๊ทธ๊ฒ์ ํ๊ท์ด๊ณ ๋ถ๋ฅ๋ฅผ ์ํฉ๋๋ค. ๋ง์ต๋๊น?
@agramfort ARD์ RVM์ ์ฐจ์ด์ ์ ๋ํด ์๊ณ ์์ต๋๊น?
@amueller
์ฒ์์ RVM์ ํ๊ท ๊ธฐ์ ์
๋๋ค. ๊ทธ๋ฌ๋ ์ ์๋ ๋ถ๋ฅ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ์ต๋๋ค. RVM์ ๋ชจ๋ ์ข
๋ฅ์ ์ปค๋์ ์ฌ์ฉํ์ต๋๋ค.
๋ด ๋ง์ ARD(A New View of Automatic Relevance Determination์ ๋ฐฉ์ ์ 2)์ RVM(ํฌ์ ๋ฒ ์ด์ง์ ๋ชจ๋ธ์ ๋ํ ๋น ๋ฅธ ํ๊ณ ๊ฐ๋ฅ์ฑ ์ต๋ํ์ ๋ฐฉ์ ์ 7)์ ๋ก๊ทธ ๊ฐ๋ฅ์ฑ์ด ๋์ผํ๋ค๋ ๊ฒ์
๋๋ค.
๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์์๋ณด๋ ค๋ฉด ์ ๋ฌธ์ ์ฝ์ด๋ด์ผ ํ ๊ฒ ๊ฐ์์....
๋ฏธ์ํด ์๋ค์ ๋๋ ๋ฒ ์ด์ง์ ์ฌ๋์ด ์๋๋ผ... ์ ๋ชจ๋ฅด๊ฒ ์ด
์๋ง...
RVM์ Microsoft์์ ํนํ๋ฅผ ๋ฐ์์ต๋๋ค.
๋ฏธ์น.
@larsmans @amueller ๋ฏธ๊ตญ์๋ RVM์ ๋ํ ํนํ๊ฐ ์์ง๋ง ์ ์๋ ์น ํ์ด์ง์์ GPLv2 Matlab ๊ตฌํ์ ๊ถ์ฅํ๋ฏ๋ก ๊ตฌํํด๋ ๊ด์ฐฎ์ ๊ฒ ๊ฐ์ต๋๋ค...
http://www.miketipping.com/sparsebayes.htm
์ต์์,
์์ ค๋ก์ค
@kalxas ๋ผ์ด์ ์ค์ ํนํ๋ ์๋นํ ์ง๊ตํ๋ฉฐ ํนํ GPLv2๋ ์ํํธ์จ์ด ํนํ๋ฅผ ๋ค๋ฃจ์ง ์์์ต๋๋ค. ์ด๋ฌํ ๊ตฌํ์ ๋ํ ๊ทํ์ ๊ถ๋ฆฌ๋ GPL์ด ๋ถ์ฌํ ๊ถ๋ฆฌ์ ํนํ ๋ณด์ ์๊ฐ ๋ถ์ฌํ ๊ถ๋ฆฌ์ ๊ต์ฐจ์ ์ ๋๋ค.
์ฆ, ์ง์ ๋ฒกํฐ ๋จธ์ ์ด AT&T์ ์ํด ํนํ๋ฅผ ๋ฐ์์ง๋ง ๊ทธ ํนํ๋ ๋ถ๋ช ํ ์งํ๋์ง ์์๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค. ๋น์ทํ ๊ฒ์ด RVM์ ๋ํด ์ ์ฆ๋ ์ ์๋ค๋ฉด ๊ทธ๊ฒ์ ๋ํด ์๊ฐ์ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
@larsmans ๋๋ dlib ๊ตฌํ์ ์์ํ numpy/python ํฌํธ๋ฅผ ์์ฑํ์ต๋๋ค. ํค๋์ ๋ฐ๋ฅด๋ฉด dlib์ implem์ 2008๋ ๋ถํฐ ์ฌ์ฉ๋์์ผ๋ฉฐ ๊ด์ฐฎ์ต๋๋ค. sklearn์ RVM์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ํด ์๊ฐ์ ๋ฐ๊พธ์๊ฒ ์ต๋๊น?
์ด์ ๋ํ @GaelVaroquaux ์ ์๊ฒฌ์ ๋ค์ด๋ณด์. dlib implem์ ํนํ ๋ผ์ด์ ์ค ์์ด ๋๋ฆฌ ์ฌ์ฉ๋๋ค๋ ๊ฒ์ ์ฆ๋ช ํ ์ ์๋ ํ ์๋ฌด ๊ฒ๋ ํ์ํ์ง ์์ต๋๋ค.
์ด ์ฃผ์ ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น? ๋๋ ์ต๊ทผ์ RVM์ ์กฐ์ฌํ๊ณ ์์๊ณ ์ฃผ๋ณ์ ์ฝ๋๊ฐ ์๋์ง ๊ถ๊ธํ์ต๋๋ค ...
๋น ๋ฅธ ๊ตฌํ์ ์ํด ์๋ํ ์ฌ๋์ ์๋ฌด๋ ์๋ค๊ณ ์๊ฐํ๋ฉฐ ์์ง ๋ฒ์ ์ํ๊ฐ ํ์คํ์ง ์์ต๋๋ค.
@jlopezpena dlib๋ฅผ ์ดํด๋ณด๋ฉด ์ฝ๋๊ฐ ๋งค์ฐ ๋ช ํํ๊ณ ํค๋(ํ ํ๋ฆฟ)๋ง ์์ต๋๋ค. numpy์์ ์ฌ์ฉํ C ํ์ฅ์ ๋น๋ํ๋ ๊ฒ์ ์๋นํ ์ฌ์์ผ ํฉ๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
๋๋ ์ต๊ทผ์ RVM์ ์ฃผ๋ก ๊ตฌํํ๋ Mike Tipping์ ๋ฌด๋ฃ SparseBayes MATLAB ํ๋ก๊ทธ๋จ์ MATLAB์์ Python์ผ๋ก ๋ฒ์ญํ์ต๋๋ค. https://github.com/jhallock7/SparseBayes-Python ์์ ์ฐพ์ ์ ์์ต๋๋ค. Mike Tipping์๊ฒ ์ฐ๋ฝ์ ์ทจํ๋๋ฐ ๊ทธ๋ Microsoft์ ํนํ๊ฐ ์๋์ ๋๋ฆฐ ์๊ณ ๋ฆฌ์ฆ์๋ง ํด๋นํ๋ ๋ฐ๋ฉด SparseBayes ํ๋ก๊ทธ๋จ์ http://www.miketipping.com/papers/met-fastsbl.pdf์ ์๋ ๋ ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ค๊ณ ๋งํ์ต๋๋ค. ๋ฐ๋ผ์ ๊ทธ์ ํ๋ก๊ทธ๋จ์ ์ผ๋ถ ํํ๊ฐ scikit-learn์ผ๋ก ์ ํ๋ ๊ด์ฐฎ์ ๊ฒ์ ๋๋ค. ์ ๋ ๋น๊ต์ Python์ ์ฒ์ ์ฌ์ฉํ๋ฏ๋ก ๋ฒ์ญ์ด ์์ฌ์ ์ฌ์ง ์์ด ๊ฐ์ ๋๊ฑฐ๋ ์์ ๋ ์ ์์ต๋๋ค.
๊ธฐ์ฌํด ์ฃผ์
์ ๊ฐ์ฌํ๊ณ ํนํ ํํฉ์ ํ์ธํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ด ์๊ณ ๋ฆฌ์ฆ์ด ๋๋ฆฌ ์ ์ฉํ์ง ์ฌ๋ถ์ ๋ํ ๋ ๋ค๋ฅธ ์ง๋ฌธ์ด ์์ต๋๋ค.
๋๋ ์ผ๋ง ์ ์ Bishop์ ์ฑ
์ ๋ง์ง๋ง์ผ๋ก ์ฝ์ ์ดํ๋ก ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ทธ ์ฌ์ฉ๋ฒ์ ๋ณธ ์ ์ด ์์ต๋๋ค.
ํฅ๋ฏธ๋ก์ด ์๋ ๊ต์ ๋ณด๋ค ๋ ๋์ ๋ถํ์ค์ฑ์ ์ ๊ณตํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์
๋๋ค.
๋๋ SVM์ด ๋ ๋น ๋ฆ
๋๋ค(SVM์ ๋ณด์ ํ๊ณ C๋ฅผ ๊ฒ์ํ๋ ค๋ฉด ๋ง์ ๊ต์ฐจ ๊ฒ์ฆ์ด ํ์ํฉ๋๋ค).
@amueller RVM(์ฃผ๋ก Revelance Vector Regression(RVR))์ ์ ๊ฒฝ ์์ ๋ฐ์ดํฐ ๋ถ์์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ๋ง์ ๋ ผ๋ฌธ์์ ์์ธก์ ์ํด SVR๋ณด๋ค ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ด scikit Learn ๋๊ตฌ ์์์ ์ถ๊ฐ๋ ์ ์๋ค๋ฉด ์๋ฒฝํ ๊ฒ์ ๋๋ค.
@amueller ๋๋ ๋ชจ๋ธ(์ฃผ๋ก ํ์ต/ํ๋ฌธ ๋ชฉ์ )์ ๋ง์ถ๊ธฐ ์ํด EM ๋๋ ๊ณ ์ ์์์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์ ์๋ ๋๋ฆฐ ๋ฒ์ ์ RVM์ ๊ตฌํํ์ผ๋ฉฐ ๋ช ๊ฐ์ง ์์์ ์ธ๊ธํ RVM๊ณผ SVR์ ์ฃผ์ ์ฐจ์ด์ ์ ํฌ์์ฑ, ์ฆ '์ง์์ ์'์
๋๋ค. ' ์์ธก์ ์ฌ์ฉ๋ ๋ฒกํฐ. ๋ง์ ๊ฒฝ์ฐ์ RVM์ SVR์ด ์ฌ์ฉํ๋ ๊ฒ์ ์ผ๋ถ์ ๋ถ๊ณผํ ์ง์ ๋ฒกํฐ์ ์์ ํจ๊ป SVR๊ณผ ์ ์ฌํ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํฉ๋๋ค.
( ์ฌ๊ธฐ๋ Tipping 2001์์๋ ์ฌ์ฉ๋ ๊ฐ๋จํ ์์
๋๋ค.)
@amueller (์ด์ ์๊ฒฌ์ ์ถ๊ฐ) ๊ทธ๋ฆฌ๊ณ ๋ถ๋ช
ํ ์ ์ ์์ ์ง์ ๋ฒกํฐ๋ ๋งค์ฐ ๋น ๋ฅธ ์์ธก์ ์๋ฏธํฉ๋๋ค.
RVM์ ๋ ๋ค๋ฅธ ์ฅ์ ์ ํ๋ฅ ์ ์น๋ฃ์
๋๋ค. ํ
์คํธ ์ธํธ์ ๋ชจ๋ ๋ฐ์ดํฐ ํฌ์ธํธ์ ๋ํ RVM์ ์ฌ์ฉํ๋ฉด ํฌ์ธํธ ์ถ์ ๋ฟ๋ง ์๋๋ผ ์์ธก ๋ถํฌ๋ ์ฐพ์ ์ ์์ต๋๋ค.
RVR์ ํ๋ฅ ๋ถํฌ๋ ์ ๊ณตํฉ๋๊น?
RVR ๋ฐ RVM์ด ํฌํจํ๊ธฐ์ ํฉ๋นํ ํ๋ณด์ธ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ง๋ง ์ต์ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด์๋ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. http://www.miketipping.com/papers/met-fastsbl.pdf ์ ๋๊น? ๊ฝค ์ค๋๋ ๊ฒ ๊ฐ์ต๋๋ค. SparseBayes ์ฝ๋ฉ ์คํ์ผ์.... ํฅ๋ฏธ๋กญ๊ณ , sklearn ๊ตฌํ์ ๊ธฐ์ด๊ฐ ๋๊ธฐ๋ณด๋ค๋ ์ฐธ์กฐ๋ก ๋ ์ ์ฌ์ฉ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ RVR์ ํ๋ฅ ๋ถํฌ๋ฅผ ์ ๊ณตํ์ง๋ง ์ด๋ค ๊ฒฝ์ฐ์๋ ์์ธก ๋ถํฌ์ ๋ถ์ฐ์ด ํ๋ จ ์ธํธ ์์ ์ ๋๋ฉ์ธ ์ธ๋ถ์ ์๋ ๋ฐ์ดํฐ ํฌ์ธํธ์ ๋ํด ๋ ์์ ์ ์์ต๋๋ค.
๋ด๊ฐ ์๋ ํ ๋น์ ์ด ์ธ๊ธํ RVM์ ๋ง์ง๋ง ๋ฒ์ ์ Tipping์ ์น์ฌ์ดํธ(๋ฒ์ 2)์ Matlab ๊ตฌํ์๋ ํด๋นํฉ๋๋ค.
๋ํ Kevin Murphy์ ์ฑ
์์ RVM๊ณผ SVM ์๋์ ๋ํ ํฅ๋ฏธ๋ก์ด ๋น๊ต๋ฅผ ์ฐพ์์ต๋๋ค.
"RVM์ ๋ํ ํ๋ จํ๊ธฐ์ ๊ฐ์ฅ ๋น ๋ฆ
๋๋ค. ์ด๊ฒ์ RVM ์ฝ๋๊ฐ Matlab์ ์๊ณ SVM ์ฝ๋๊ฐ C์ ์๋ค๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ "(14์ฅ, p.490). ๊ทธ๋ฌ๋ ๊ทธ๋ค์ ์์ ๋ฐ์ดํฐ ์ธํธ์ ๋ํด์๋ง ๋น๊ต๋ฅผ ํ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค.
@amueller RVM(์ฃผ๋ก revelance ๋ฒกํฐ ํ๊ท(RVR))์ ๋ค์์์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
์ ๊ฒฝ ์์ ๋ฐ์ดํฐ ๋ถ์.
๋๋ ํ์ ์ด ์์ง ์๋๋ค(๊ทธ๋ฆฌ๊ณ ๋๋ ์ ๊ฒฝ์์์ดฌ์์ ํ๋ค). ์ข์๊ฑด ๋ชป๋ดค์ด
๊ฒฝํ์ ๋น๊ต.
๊ฐ ๋ฐฉ๋ฒ์ RVM์ ๋ณ๋์ ํจํค์ง์ ํฌํจํ๋ ๊ฒ์
๋๋ค.
scikit-learn API๋ฅผ ์ฌ์ฉํ๊ณ ์ข์ ๊ฒฝํ์ ์์
์ ๊ถ์ฅํ์ฌ
์ ์ฉ์ฑ. ์ ์ฉํ๋ค๋ฉด scikit-learn์ ๋ณํฉํ์ญ์์ค.
์ผ๋ถ ์ ๊ฒฝ ์์ ์ฐ๊ตฌ์์๋ ๊ด๋ จ์ฑ ๋ฒกํฐ ํ๊ท(RVR) ๋ฐ
RVR๊ณผ SVR์ ๋น๊ตํ์ต๋๋ค.
๋ช ๊ฐ์ง๋ฅผ ๋์ดํ๋ ค๋ฉด:
http://www.sciencedirect.com/science/article/pii/S1053811910000108
http://www.sciencedirect.com/science/article/pii/S1053811910012644
http://www.sciencedirect.com/science/article/pii/S1053811910003459
http://www.nature.com/npp/journal/v39/n3/abs/npp2013251a.html
๊ทธ๋ฆฌ๊ณ RVR์ ํจํด ์ธ์ ๋๊ตฌ ์์์์ ๊ตฌํ๋ฉ๋๋ค.
์ ๊ฒฝ ์์ ๋ฐ์ดํฐ:
http://www.mlnl.cs.ucl.ac.uk/pronto/
RVR์ด scikit-learn์ ํฌํจ๋ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ต๊ณ ์ ์์
์์ด์
2015๋
10์ 15์ผ ๋ชฉ์์ผ ์คํ 12์ 57๋ถ, Gael Varoquaux [email protected]
์ผ๋ค:
@amueller RVM(์ฃผ๋ก Revelance Vector Regression(RVR))์ ๊ฝค
์ ์ฉํ
์ ๊ฒฝ ์์ ๋ฐ์ดํฐ ๋ถ์.๋๋ ํ์ ์ด ์์ง ์๋๋ค(๊ทธ๋ฆฌ๊ณ ๋๋ ์ ๊ฒฝ์์์ดฌ์์ ํ๋ค). ์ข์๊ฑด ๋ชป๋ดค์ด
๊ฒฝํ์ ๋น๊ต.๊ฐ ๋ฐฉ๋ฒ์ RVM์ ๋ณ๋์ ํจํค์ง์ ํฌํจํ๋ ๊ฒ์ ๋๋ค.
scikit-learn API๋ฅผ ์ฌ์ฉํ๊ณ ์ข์ ๊ฒฝํ์ ์์ ์ ๊ถ์ฅํ์ฌ
์ ์ฉ์ฑ. ์ ์ฉํ๋ค๋ฉด scikit-learn์ ๋ณํฉํ์ญ์์ค.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/scikit-learn/scikit-learn/issues/1513#issuecomment -148281784
.
๊ฐ ๊ธธ์ scikit-learn API๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๋์ ํจํค์ง์ RVM์ ๊ฐ๊ณ ์ ์ฉ์ฑ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ์ข์ ๊ฒฝํ์ ์์ ์ ๊ถ์ฅํ๋ ๊ฒ์ ๋๋ค. ์ ์ฉํ๋ค๋ฉด scikit-learn์ ๋ณํฉํ์ญ์์ค.
+1
์๋์ ์ผ๋ก ํธํ๋๋ https://github.com/AmazaspShumik/Bayesian-Regression-Methods/blob/master/Relevance%20Vector%20Machine%20%26%20ARD/rvm.py ๊ฐ set_params
๋ฐ get_params
๋๋ BaseEstimator
์์ ์์์ด ํ์ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ํ๋ ์ ์๋ https://github.com/jhallock7/SparseBayes-Python ์ด ์์ต๋๋ค.
@ZaixuCui ๊ตฌํ์ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์์ ๋ scikit-learn์ ์๊ธฐ๋ฅผ ์ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
@GaelVaroquaux ๋ฐ @mblondel ์ ๋์ํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. ๊ฑฐ์ 10๋ ๋์ ์๋ฌด๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ๋ฐํํ์ง ์์๋ค๋ฉด ์ฌ๋๋ค์ ๋ณ๋ก ๊ด์ฌ์ ๊ฐ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. [์ค, ํ์ค ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ง์ด 2003๋ ๋ถํฐ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ค์ libsvm์ 2005์ ๋๋ค.]
scikit์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ SVR, elastic-net์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
๋ฐ๋ผ์ RVR ๊ตฌํ์ด ์๋ ๊ฒฝ์ฐ matlab์ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค.
๊ธฐ๊ณ ํ์ต ๋ถ์์ ์ํํฉ๋๋ค.
๋งค์ฐ ๊ฐ์ฌํฉ๋๋ค.
๋น์ ์๊ฒ ์ต์ ์ ๊ธฐ์ํฉ๋๋ค
์์ด์
2015๋
10์ 15์ผ ๋ชฉ์์ผ ์ค์ 11์ 13๋ถ, Andreas Mueller [email protected]
์ผ๋ค:
๋ด ๋ง์
https://github.com/AmazaspShumik/Bayesian-Regression-Methods/blob/master/Relevance%20Vector%20Machine%20%26%20ARD/rvm.py
์๋์ ์ผ๋ก ํธํ๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ ๋๋ค. set_params ๋ฐ get_params๊ฐ ํ์ํ๊ฑฐ๋
BaseEstimator์์ ์์.๊ทธ๋ฆฌ๊ณ https://github.com/jhallock7/SparseBayes-Python ์ด ์์ต๋๋ค.
ํฌ์ฅ๋๋ค.@ZaixuCui https://github.com/ZaixuCui ์ ๋ค์ด๊ฐ๊ณ ์ถ์ผ์ธ์ ?
๊ตฌํ์ ์ฌ์ฉํ ์ค๋น๊ฐ ๋๋ฉด scikit-learn?@GaelVaroquaux https://github.com/GaelVaroquaux ์ ๋์ํ๋ ๊ฒฝํฅ์ด
๋ฐ @mblondel https://github.com/mblondel . ์๋ฌด๋ ๊ฒ์ํ์ง ์์ ๊ฒฝ์ฐ
๊ฑฐ์ 10๋ ๋์ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ฐํ์ง๋ง ์ฌ๋๋ค์ ๋ณ๋ก ๊ด์ฌ์ ๊ฐ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/scikit-learn/scikit-learn/issues/1513#issuecomment -148440665
.
scikit์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ SVR, elastic-net์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
๋ฐ๋ผ์ RVR ๊ตฌํ์ด ์๋ ๊ฒฝ์ฐ matlab์ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค.
๊ธฐ๊ณ ํ์ต ๋ถ์์ ์ํํฉ๋๋ค.
์์ ์ง์ ํ RVR์ ์ํํ๋ Python ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋
ผ์.
์์์ด ๊ณ ๋ง์
2015๋
10์ 19์ผ ์์์ผ ์ค์ 8:29 Gael Varoquaux [email protected]
์ผ๋ค:
scikit์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ SVR, elastic-net์ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
๋ฐ๋ผ์ RVR ๊ตฌํ์ด ์๋ ๊ฒฝ์ฐ matlab์ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค.
์ธ์
๊ธฐ๊ณ ํ์ต ๋ถ์์ ์ํํฉ๋๋ค.์์ ์ง์ ํ RVR์ ์ํํ๋ Python ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ ผ์.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/scikit-learn/scikit-learn/issues/1513#issuecomment -149213151
.
์ฐ๋ฆฌ์ ์๋ก์ด Gaussian Process ๊ตฌํ์ ๊ธฐ๋ฐ์ผ๋ก ์ด๊ฒ์ ๋งค์ฐ ๊ฐ๋ฒผ์ด ํด๋์ค๋ก ๊ตฌํํ ์ ์์์ต๋๊น? ๋ด๊ฐ ์ดํดํ๋ ํ RVR์ ํน๋ณํ ์ข ๋ฅ์ ์ปค๋์ด ์๋ GP์ ๋ถ์ฌ๋ ์ด๋ฆ์ผ ๋ฟ์ ๋๋ค.
์ด๊ฒ์ ์ต์ํ์ ๋ ธ๋ ฅ๋ง ํ์๋ก ํ์ง๋ง GP ์ค ํ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก RVR์ ๊ตฌํํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ ์ ํ์ง ์์ ์ ์์ต๋๊น? ์ฐธ์กฐ: @jmetzen
@amueller @GaelVaroquaux @ZaixuCui @yedtoss @jlopezpena
์๋
ํ์ธ์, scikit-learn API๋ฅผ ์ฌ์ฉํ์ฌ Relevance Vector Machine์ ๋น ๋ฅธ ๋ฒ์ ์ ๊ตฌํํ์ต๋๋ค.
๋ฐ๋ผ์ ๋๊ตฌ๋ ์ง ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ์์ ๋กญ๊ฒ ์ฌ์ฉํ์ญ์์ค.
์ฝ๋: https://github.com/AmazaspShumik/sklearn_bayes/blob/master/sklearn_bayes/rvm/fast_rvm.py
์ฝ๋์๋ 4๊ฐ์ ๊ตฌํ๋ ํด๋์ค๊ฐ ์์ต๋๋ค.
-ํ๊ทARD
-๋ถ๋ฅARD
-RVC
-RVR
๋ฐ๋ผ์ RegressionARD ๋ฐ ClassificationARD๋ ์ ์ฉํ ์ ์์ต๋๋ค.
@AmazaspShumik ๊ตฌํ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ํ๋ฅญํ ์ํ:+1:
@AmazaspShumik
๋น์ ์ ๋
ธ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋๋ ํ์คํ์ด ํจํค์ง๋ฅผ ์๋ ํ ๊ฒ์
๋๋ค.
์ต์ ์ ๋คํ์๊ธธ ๋ฐ๋๋๋ค.
์์ด์
@AmazaspShumik predict_proba ๋ฉ์๋๋ฅผ ๊ตฌํํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์๋ ์ฌ๋์ด ์์ต๋๊น?
์ฌ๊ธฐ PHP์ RVM์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ์ฌ๋์ด ์์ต๋๊น? ๋๋ RVm์ด ๋๋ฅผ ์ํด ์ค๋ช ํ ์ ์๋ค๋ ๊ฒ์ ์ดํดํ์ง ๋ชปํฉ๋๊น?
PHP์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ RVM์ด ์๋ ์ฌ๋์ด ์์ต๋๊น?
RVM์ Microsoft์์ ํนํ๋ฅผ ๋ฐ์์ต๋๋ค.
ํนํ๊ฐ ๊ณง ๋ง๋ฃ๋ฉ๋๋ค
2019-09-04
์์ ๋ง๋ฃ
@AmazaspShumik ๊ตฌํ์ ๋ํ ํ ๋ก ๋งํฌ๊ฐ ์์๋์์ต๋๋ค. ๊ด์ฌ์ด ์๋ ์ฌ๋๋ค์ ์ํด ์ฌ๊ธฐ์ ๋์ญ์์ค(๋ฐ ์ผ๋ถ ๋ค๋ฅธ ๊ตฌํ).
https://github.com/AmazaspShumik/sklearn_bayes - RVM + ์ผ๋ถ ๋ค๋ฅธ algs ๊ตฌํ
https://github.com/JamesRitchie/scikit-rvm - scipy๋ฅผ ์ฌ์ฉํ ๊ฐ๋จํ ๊ตฌํ
https://github.com/siavashserver/neonrvm - Python ๋ฐ์ธ๋ฉ์ ์ฌ์ฉํ C ๊ตฌํ
๋ํ ๊ด๋ จ ๋
ผ๋ฌธ ๋ชจ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
http://www.miketipping.com/sparsebayes.htm
๊ฑฐ๊ธฐ์ RVM์ C++ ๊ตฌํ์ด ์์ต๋๋ค(๋ฌธ์์ ๋ณด์ถฉ ์๋ฃ).
https://pubs.acs.org/doi/abs/10.1021/ci200128w
์ ํํ ์ฌ๊ธฐ:
https://pubs.acs.org/doi/suppl/10.1021/ci200128w/suppl_file/ci200128w_si_001.zip
Microsoft ํนํ๊ฐ ๋ง๋ฃ๋์์ต๋๋ค. sklearn์ ์ถ๊ฐํ ์ ์์๊น์?
ํ์ค ์๊ตฌ ์ฌํญ์ ์ฝ๊ฒ ์ง์ธ ์ ์์ผ๋ฏ๋ก ์ ์๋๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์๋ง๋ ์ข์/ํ์คํ ์๋ฅผ ๊ฐ๋ ๊ฒ์ด ํฅ๋ฏธ๋ก์ธ ์ ์์ต๋๋ค. scikit-rvm
๋ฐ sklearn_bayes
๋ ์ ์ง ๊ด๋ฆฌ๋์ง ์์ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ฌ์ ํ ์ ์ฉํ ์ ์์ต๋๋ค.
์๋ง๋ ์ด์ ์ค์ ๋ก ์์
์ ์ํํ๋ ค๋ ์ฑํผ์ธ์ด ๊ฐ์ฅ ํ์ํ ๊ฒ์
๋๋ค.
Murphy์ ์ฑ ์์ ๊ทธ๋ RVM ์ฑ๋ฅ์ด SVM๊ณผ ์ค์ ๋ก ์ ์ฌํ์ง๋ง ์ง์ ํ ํ๋ฅ ๋ก ์ ๋ฐฉ๋ฒ์ด๋ผ๋ ์ด์ ์ด ์์ผ๋ฏ๋ก ๋ณด์ ๋ ํ๋ฅ ์ ๋ต๋ณ์ผ๋ก ์ ๊ณตํ๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค. ์ฌ๊ธฐ https://github.com/probml/pmtk3/blob/master/docs/tutorial/html/tutKernelClassif.html ๊ทธ๋ ์์ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฉ๋ฒ์ ๋น๊ตํ์ต๋๋ค
๋ ๋๋ง๋ ๋ฒ์ ์ ๋ํ ๋งํฌ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๊น?
๋ํ ํ์ฅ์ฑ ๋ฌธ์ ๊ฐ ์์ ์ ์๋ค๋ ์ ์ ๊ฐ์ํ ๋ ์์ ๋ฐ์ดํฐ ์ธํธ์ ์๋ค๋ ๊ฒ๋ ๋๋ผ์ด ์ผ์ด ์๋๋๋ค.
@amueller http://htmlpreview.github.io/?https : //github.com/probml/pmtk3/blob/master/docs/tutorial/html/tutKernelClassif.html
๊ตฌํ์ ์ํด ๋ ธ๋ ฅํ๊ฒ ์ต๋๋ค. ๋์์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
SVM๋ณด๋ค RVM์ ์ฅ์ ์ค ํ๋์ธ IIRC๋ ์ต์ ํ ๋จ๊ณ๋ฅผ ์ํํ์ง ์๊ณ ๋ ์ต์ ์ C ๋งค๊ฐ๋ณ์๋ฅผ ์ฐพ์ ์ ์๋ค๋ ๊ฒ์
๋๋ค.
์์ ์๊ฐ ์ฐธ์กฐ ๊ตฌํ์ ๊ธฐ๊บผ์ด ๊ธฐ์ฌํ ๊ฒ์ธ์ง ๊ถ๊ธํฉ๋๋ค.
๊ธ์, ๊ทธ๊ฒ์ Matlab์ ์๊ณ Mike Tipping์ github์๋ ์์ต๋๋ค ...
์๋
ํ์ธ์ @amueller ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ๋ถ! ์ฐ๋ฆฌ๋ ์ด ์ค๋ ๋๋ฅผ ๋ณด๊ณ RVM์ sklearn ํธํ ๋ฒ์ (https://github.com/Mind-the-Pineapple/sklearn-rvm)์ ๊ตฌํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ JamesRitchie ๊ตฌํ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๋ค. ๋๊ตฐ๊ฐ ๊ธฐ๊บผ์ด ๊ทธ๊ฒ์ ์ดํด๋ณด๊ณ ํผ๋๋ฐฑ๊ณผ ๊ธฐ์ฌ(@themrzmaster)๋ฅผ ํ์ํ๋ค๋ฉด ์ข์ ๊ฒ์
๋๋ค. :)
์ฐ๋ฆฌ๋ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ ์ง ๊ด๋ฆฌํ๊ณ ๋ฒ์ 0.2์์ ๋น ๋ฅธ ๋ฒ์ ์ ๊ตฌํํ ๊ณํ์ด ์์ผ๋ฉฐ ์ธ์ ๊ฐ ์ด ์ฝ๋๊ฐ scikit-learn ๋ฉ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋์์ด ๋ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๐ ๐
์๋ ํ์ธ์ @amueller ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ๋ถ! ์ฐ๋ฆฌ๋ ์ด ์ค๋ ๋๋ฅผ ๋ณด๊ณ RVM์ sklearn ํธํ ๋ฒ์ (https://github.com/Mind-the-Pineapple/sklearn-rvm)์ ๊ตฌํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ JamesRitchie ๊ตฌํ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๋ค. ๋๊ตฐ๊ฐ ๊ธฐ๊บผ์ด ๊ทธ๊ฒ์ ์ดํด๋ณด๊ณ ํผ๋๋ฐฑ๊ณผ ๊ธฐ์ฌ(@themrzmaster)๋ฅผ ํ์ํ๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. :)
์ฐ๋ฆฌ๋ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ ์ง ๊ด๋ฆฌํ๊ณ ๋ฒ์ 0.2์์ ๋น ๋ฅธ ๋ฒ์ ์ ๊ตฌํํ ๊ณํ์ด ์์ผ๋ฉฐ ์ธ์ ๊ฐ ์ด ์ฝ๋๊ฐ scikit-learn ๋ฉ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋์์ด ๋ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๐ ๐
์๋
ํ์ธ์ @PedroFerreiradaCosta
์ด scikit-learn API๋ฅผ ํ
์คํธํ๋๋ฐ ์ฌ์ ํ ๋๋ฌด ๋๋ฆฐ ๊ฒ ๊ฐ์ต๋๋ค(์์ง ์๋ตํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค). ๊ทธ ์ด์ ๋ Windows์์ ๊ตฌํ๋ ์ ์๋ค๊ณ ์๊ฐํ์ญ๋๊น? ์๋๋ ๋ด๊ฐ ์ฌ์ฉํ ๊ฒ์
๋๋ค.
EMRVC(kernel='rbf', gamma='scale', n_iter_posterior=10, max_iter=500, compute_score=True , verbose=True ) ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค @themrzmaster @PedroFerreiradaCosta
์๋
ํ์ธ์ @mustuner์
๋๋ค ! API๋ฅผ ์ฌ์ฉํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
RVM์ ์๋ฅผ ๋ค์ด SVM(O(M^3))๋ณด๋ค ๊ณ์ฐ ๋ณต์ก๋๊ฐ ๋๊ธฐ ๋๋ฌธ์ ๋ง์ ์์ ๊ธฐ๋ณธ ํจ์๊ฐ ์๋ ๊ฒฝ์ฐ ์๋๊ฐ ๋๋ ค์ง ์ ์์ต๋๋ค. ์ด๋ ์ชฝ์ด๋ , ํ๋ก์ธ์ค ์๋๋ฅผ ๋์ด๊ธฐ ์ํด ํ ์ ์๋ ์ผ์ด ๋ง์ด ์์ต๋๋ค. ์ปค๋ ํ๋ ฌ์ ๋ฏธ๋ฆฌ ๊ณ์ฐํ์ฌ X ๋์ ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๊ธํ๊ฑฐ๋(kernel='precomputed'๋ก ์ค์ ) alpha_threshold์ ํฌ๊ธฐ๋ฅผ ์ค์ผ ์๋ ์์ต๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก 1e5๋ก ์ค์ ). ์ด ๋ ๋ฒ์งธ ์ต์
์ ๋ชจ๋ธ์ ์ ํ๋๋ฅผ ๋ฎ์ถ ์ ์์์ ์ผ๋์ ๋์ญ์์ค.
๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค! ์ถ๊ฐ๋ก ๋์์ ๋๋ฆด ์ ์๋๋ก ๋ฌธ์ ๋ฅผ ์์ ๋กญ๊ฒ ์ฌ์ญ์์ค.
์ต์์,
ํ๋๋ก
์๋ ํ์ธ์ @mustuner์ ๋๋ค ! API๋ฅผ ์ฌ์ฉํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
RVM์ ์๋ฅผ ๋ค์ด SVM(O(M^3))๋ณด๋ค ๊ณ์ฐ ๋ณต์ก๋๊ฐ ๋๊ธฐ ๋๋ฌธ์ ๋ง์ ์์ ๊ธฐ๋ณธ ํจ์๊ฐ ์๋ ๊ฒฝ์ฐ ์๋๊ฐ ๋๋ ค์ง ์ ์์ต๋๋ค. ์ด๋ ์ชฝ์ด๋ , ํ๋ก์ธ์ค ์๋๋ฅผ ๋์ด๊ธฐ ์ํด ํ ์ ์๋ ์ผ์ด ๋ง์ด ์์ต๋๋ค. ์ปค๋ ํ๋ ฌ์ ๋ฏธ๋ฆฌ ๊ณ์ฐํ์ฌ X ๋์ ์๊ณ ๋ฆฌ์ฆ์ ๊ณต๊ธํ๊ฑฐ๋(kernel='precomputed'๋ก ์ค์ ) alpha_threshold์ ํฌ๊ธฐ๋ฅผ ์ค์ผ ์๋ ์์ต๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก 1e5๋ก ์ค์ ). ์ด ๋ ๋ฒ์งธ ์ต์ ์ ๋ชจ๋ธ์ ์ ํ๋๋ฅผ ๋ฎ์ถ ์ ์์์ ์ผ๋์ ๋์ญ์์ค.
๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค! ์ถ๊ฐ๋ก ๋์์ ๋๋ฆด ์ ์๋๋ก ๋ฌธ์ ๋ฅผ ์์ ๋กญ๊ฒ ์ฌ์ญ์์ค.์ต์์,
ํ๋๋ก
@PedroFerreiradaCosta ๊ฐ์ฌํฉ๋๋ค
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์ @amueller ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ๋ถ! ์ฐ๋ฆฌ๋ ์ด ์ค๋ ๋๋ฅผ ๋ณด๊ณ RVM์ sklearn ํธํ ๋ฒ์ (https://github.com/Mind-the-Pineapple/sklearn-rvm)์ ๊ตฌํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ JamesRitchie ๊ตฌํ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๋ค. ๋๊ตฐ๊ฐ ๊ธฐ๊บผ์ด ๊ทธ๊ฒ์ ์ดํด๋ณด๊ณ ํผ๋๋ฐฑ๊ณผ ๊ธฐ์ฌ(@themrzmaster)๋ฅผ ํ์ํ๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. :)
์ฐ๋ฆฌ๋ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ ์ง ๊ด๋ฆฌํ๊ณ ๋ฒ์ 0.2์์ ๋น ๋ฅธ ๋ฒ์ ์ ๊ตฌํํ ๊ณํ์ด ์์ผ๋ฉฐ ์ธ์ ๊ฐ ์ด ์ฝ๋๊ฐ scikit-learn ๋ฉ์ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋์์ด ๋ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๐ ๐