Гаусстың технологиялық бағдарламалық жасақтамасын салыстыру - Comparison of Gaussian process software

Бұл қорытынды жасауға мүмкіндік беретін статистикалық талдау бағдарламалық жасақтамасын салыстыру Гаусс процестері жиі қолданады жуықтау.

Бұл мақала тұрғысынан жазылған Байес статистикасы, ол әдетте қолданылатыннан өзгеше терминологияны қолдануы мүмкін кригинг. Келесі бөлімде кестеде келтірілген ақпараттың математикалық / есептеуіш мағынасын контексттік терминологиядан тәуелсіз нақтылау керек.

Бағандардың сипаттамасы

Бұл бөлімде төмендегі кестедегі бағандардың мағынасы егжей-тегжейлі көрсетілген.

Шешушілер

Бұл бағандар. Шешу үшін қолданылатын алгоритмдер туралы сызықтық жүйе арқылы анықталады дейін ковариациялық матрица, яғни ядроны бағалау арқылы құрылған матрица.

  • Дәл: ма жалпы нақты алгоритмдер жүзеге асырылады. Бұл алгоритмдер әдетте бірнеше мың мәліметтер нүктелеріне сәйкес келеді.
  • Мамандандырылған: мамандандырылған ба дәл есептердің нақты кластарына арналған алгоритмдер жүзеге асырылады. Қолдау көрсетілетін мамандандырылған алгоритмдер келесі түрде көрсетілуі мүмкін:
    • Kronecker: тор деректеріндегі ажыратылатын ядролардың алгоритмдері.[1]
    • Toeplitz: біркелкі орналасқан мәліметтер бойынша қозғалмайтын ядролардың алгоритмдері.[2]
    • Семисеп.: жартылай бөлінетін ковариация матрицаларының алгоритмдері.[3]
    • Сирек: оңтайландырылған алгоритмдер сирек ковариациялық матрицалар.
    • Блок: оңтайландырылған алгоритмдер қиғаш блок ковариациялық матрицалар.
  • Шамамен: ма жалпы немесе мамандандырылған шамамен алгоритмдер жүзеге асырылады. Қолдау көрсетілетін алгоритмдер келесі түрде көрсетілуі мүмкін:
    • Сирек: кіріс кеңістігінде «индукциялық нүктелер» жиынын таңдауға негізделген алгоритмдер.[4]
    • Иерархиялық: а-мен ковариация матрицасын жуықтайтын алгоритмдер иерархиялық матрица.[5]

Кіріс

Бұл бағандар Гаусс процесі бағаланатын нүктелер туралы, яғни. егер процесс болса .

  • ND: көпөлшемді енгізуге қолдау көрсетіле ме. Егер ол болса, көп өлшемді шығару әрқашан кіріске өлшемді қосу арқылы мүмкін болады, тіпті тікелей қолдау болмаса да.
  • Нақты емес: ерікті емеснақты енгізуге қолдау көрсетіледі (мысалы, мәтін немесе күрделі сандар ).

Шығу

Бұл бағандар процестің нәтижесінде алынған мәндер туралы және олардың сәйкестендіру кезінде қолданылатын мәліметтермен байланысы туралы.

  • Ықтималдығы: ерікті емесГаусс ықтималдығы қолдау көрсетіледі.
  • Қателер: деректер нүктелеріндегі біркелкі емес өзара байланысты қателіктер Гаусстың ықтималдығы үшін қолдана ма. Қателерді ядро ​​компонентін қосу арқылы қолмен өңдеуге болады, бұл баған оларды бөлек манипуляциялау мүмкіндігі туралы. Ішінара қателерді қолдау келесі түрде көрсетілуі мүмкін:
    • iid: деректер нүктелері болуы керек тәуелсіз және бірдей бөлінген.
    • Байланысты емес: деректер нүктелері тәуелсіз болуы керек, бірақ әр түрлі үлестірімге ие болуы мүмкін.
    • Стационарлық: деректер нүктелерін өзара байланыстыруға болады, бірақ ковариация матрицасы а болуы керек Toeplitz матрицасы, атап айтқанда, бұл дисперсиялар біркелкі болуы керек дегенді білдіреді.

Гиперпараметрлер

Бұл бағандар қандай да бір жолмен нақты есептің анықтамасына енетін, бірақ Гаусс процесі сәйкес келмейтін айнымалылардың мәндерін табу туралы, мысалы, ядро ​​формуласындағы параметрлер туралы.

Егер «Алдыңғы» және «Артқы» ұяшықтардың екеуі де «Қолмен» болса, онда бағдарламалық жасақтама оңтайландыру / іріктеу алгоритміне енуге болатын шекті ықтималдықты және оның гр.ентті гиперпараметрлерін есептеу интерфейсін ұсынады, мысалы. градиенттік түсу немесе Марков тізбегі Монте-Карло.

Сызықтық түрлендірулер

Бұл бағандар процеске және оның сызықтық түрлендірулеріне мәліметтер нүктелерін бір уақытта орналастыру мүмкіндігі туралы.

  • Дерив.: кез-келген дифференциалданатын ядро ​​үшін ядро ​​тегістігі рұқсат етілген максимумға дейін туындылардың ерікті санын алуға бола ма. Ішінара сипаттамалардың мысалы, кейбір ядролар үшін максималды туынды немесе орындалу болуы мүмкін. Интегралдарды туындылардан жанама түрде алуға болады.
  • Ақырлы: ақырлы ерікті сызықтық түрлендірулерге көрсетілген мәліметтер нүктелерінде рұқсат етіледі.
  • Қосынды: әр түрлі ядроларды жинақтап, әр қосымшаға сәйкес процестерге бөлек қол жеткізуге бола ма. Бұл ақырлы сызықтық түрлендірудің нақты жағдайы, бірақ ол жалпы сипат болғандықтан бөлек жазылады.

Салыстыру кестесі

Аты-жөніЛицензияТілШешушілерКірісШығуГиперпараметрлерСызықтық түрлендірулерАты-жөні
ДәлМамандандырылғанШамаменNDНақты емесЫқтималдығыҚателерАлдыңғыАртқыДерив.АқырлыҚосынды
PyMC3ApachePythonИәKroneckerСирекNDЖоқКез келгенӨзара байланыстыИәИәЖоқИәИәPyMC3
GPvecchiaGNU GPLRИәЖоқСирек, иерархиялықЖоқЖоқЭкспоненциалды отбасыӨзара байланыстыЖоқЖоқЖоқИәИәGPvecchia
GpGpMITRЖоқЖоқСирекNDЖоқГауссӨзара байланыстыИәИәЖоқИәИәGpGp
GPy[6]BSDPythonИәЖоқСирекNDЖоқКөптегенБайланысты емесИәИәЖоқЖоқЖоқGPy
pyGPs[7]BSDPythonИәЖоқСирекNDГрафиктер, қолменБернуллиiidҚолменҚолменЖоқЖоқЖоқpyGPs
СтэнBSD, GPLәдетИәЖоқЖоқNDЖоқКез келгенӨзара байланыстыИәИәЖоқИәИәСтэн
GPyTorch[8]MITPythonИәЖоқСирекNDЖоқБернуллиЖоқБірінші RBFGPyTorch
GPML[9][10]BSDMATLABИәЖоқСирекNDЖоқКөптегенiidҚолменҚолменЖоқЖоқЖоқGPML
fbm[10]ТегінCИәЖоқЖоқNDЖоқБернулли, ПуассонБайланысты емес, стационарлықКөптегенИәЖоқfbm
gptkBSDRИәБлок?СирекNDЖоқГауссЖоқҚолменҚолменЖоқЖоқЖоқgptk
SuperGaussGNU GPLR, C ++ЖоқToeplitz[a]Жоқ1DЖоқГауссЖоқҚолменҚолменЖоқЖоқЖоқSuperGauss
целерит[3]MITPython, Джулия, C ++ЖоқСемисеп.[b]Жоқ1DЖоқГауссБайланысты емесҚолменҚолменЖоқЖоқцелерит
ДжорджMITPython, C ++ИәЖоқИерархиялықNDЖоқГауссБайланысты емесҚолменҚолменЖоқЖоқҚолменДжордж
жүйке-тангенттер[11][c]ApachePythonИәБлок, KroneckerЖоқЖоқГауссЖоқЖоқЖоқЖоқЖоқЖоқжүйке-тангенттер
СТКGNU GPLMATLABИәЖоқЖоқNDЖоқГауссБайланысты емесҚолменҚолменЖоқЖоқҚолменСТК
UQLab[12]МеншіктікMATLABUQLab
ooDACE[13]МеншіктікMATLABNDЖоқooDACE
GPstuff[10]GNU GPLMATLAB, RИәЖоқСирекNDЖоқКөптегенКөптегенИәБірінші RBFGPstuff
GSToolsGNU LGPLPythonИәЖоқЖоқNDЖоқГауссЖоқЖоқЖоқЖоқЖоқЖоқGSTools
GPRApacheC ++ИәЖоқСирекNDЖоқГауссiidКейбіреулер қолменҚолменБіріншіденЖоқЖоқGPR
scikit-үйренуBSDPythonИәЖоқЖоқ1DЖоқБернуллиscikit-үйрену
PyKrigeBSDPython2D, 3DЖоқPyKrige
GPflow[6]ApachePythonИәЖоқСирекКөптегенИәИәGPflow
Аты-жөніЛицензияТілДәлМамандандырылғанШамаменNDНақты емесЫқтималдығыҚателерАлдыңғыАртқыДерив.АқырлыҚосындыАты-жөні
ШешушілерКірісШығуГиперпараметрлерСызықтық түрлендірулер

Ескертулер

  1. ^ SuperGauss суперфастты жүзеге асырады Toeplitz шешуші есептеу қиындығымен .
  2. ^ целерит шешуге болатын ядролардың белгілі бір субальгебрасын ғана жүзеге асырады .[3]
  3. ^ жүйке-тангенсі - бұл шексіз кең нейрондық желілерге арналған мамандандырылған пакет.

Пайдаланылған әдебиеттер

  1. ^ П. Каннингем, Джон; Гилбоа, Элад; Saatçi, Yunus (ақпан 2015). «Құрылымдық Гаусс процестері үшін өлшемді қорытынды жасау». Үлгіні талдау және машиналық интеллект бойынша IEEE транзакциялары. 37 (2): 424–436. дои:10.1109 / TPAMI.2013.192. PMID  26353252. S2CID  6878550.
  2. ^ Лейт, Дж .; Чжан, Юнонг; Leithead, W. E. (2005). «O (N2) операцияларын және O (N) деңгейлерін сақтауды Toeplitz есептеуіне негізделген уақыттық сериялы Гаусс процесінің регрессиясы». Шешімдер мен бақылау бойынша 44 IEEE конференциясының материалдары: 3711–3716. дои:10.1109 / CDC.2005.1582739. S2CID  13627455.
  3. ^ а б c Бригадир-Макки, Даниэль; Ангус, Рут; Агол, Эрик; Амбикасаран, Сиварам (9 қараша 2017). «Астрономиялық уақыт серияларына қосымшалармен жылдам және ауқымды Гаусс процесін модельдеу». Астрономиялық журнал. 154 (6): 220. arXiv:1703.09710. Бибкод:2017AJ .... 154..220F. дои:10.3847 / 1538-3881 / aa9332. S2CID  88521913.
  4. ^ Кинонеро-Кандела, Хоакин; Расмуссен, Карл Эдуард (5 желтоқсан 2005). «Гаусс процесінің сирек регрессиясының біртұтас көрінісі». Машиналық оқытуды зерттеу журналы. 6: 1939–1959. Алынған 23 мамыр 2020.
  5. ^ Амбикасаран, С .; Бригадир-Макки, Д .; Грингард, Л .; Хогг, Д. В .; O'Neil, M. (1 ақпан 2016). «Гаусс процестеріне арналған жылдам жылдам әдістер». Үлгіні талдау және машиналық интеллект бойынша IEEE транзакциялары. 38 (2): 252–265. arXiv:1403.6015. дои:10.1109 / TPAMI.2015.2448083. PMID  26761732. S2CID  15206293.
  6. ^ а б Мэттьюс, Александр Г. ван дер Уилк, Марк; Никсон, Том; Фудзии, Кейсуке; Букувалас, Алексис; Леон-Виллагра, Пабло; Гахрамани, Зоубин; Хенсман, Джеймс (сәуір 2017). «GPflow: TensorFlow пайдаланатын Гаусс процесінің кітапханасы». Машиналық оқытуды зерттеу журналы. 18 (40): 1–6. arXiv:1610.08733. Алынған 6 шілде 2020.
  7. ^ Нейман, Марион; Хуанг, Шань; Э. Марталер, Даниэль; Керстинг, Кристиан (2015). «pyGPs - Гаусс процесінің регрессиясы мен жіктелуіне арналған Python кітапханасы». Машиналық оқытуды зерттеу журналы. 16: 2611–2616.
  8. ^ Гарднер, Джейкоб Р; Плейс, Джеофф; Биндель, Дэвид; Вайнбергер, Килиан Q; Уилсон, Эндрю Гордон (2018). «GPyTorch: Графикалық процессордың үдеуімен Blackbox Matrix-Matrix Gaussian Process» (PDF). Нейрондық ақпаратты өңдеу жүйесіндегі жетістіктер. 31: 7576–7586. arXiv:1809.11165. Алынған 23 мамыр 2020.
  9. ^ Расмуссен, Карл Эдуард; Никиш, Ханнес (қараша 2010). «Машиналық оқытуға арналған Гаусс процестері (GPML) құралдар жинағы». Машиналық оқытуды зерттеу журналы. 11 (2): 3011–3015. дои:10.1016/0002-9610(74)90157-3. PMID  4204594.
  10. ^ а б c Ванхатало, Джарно; Рихимяки, Яакко; Хартикайнен, Джуни; Жыланки, Паси; Толванен, Вилл; Вехтари, Аки (сәуір 2013). «GPstuff: Гаусс процестерімен байес модельдеу». Машиналық оқытуды зерттеу журналы. 14: 1175−1179. Алынған 23 мамыр 2020.
  11. ^ Новак, Роман; Сяо, Лечао; Хрон, Джири; Ли, Джэхун; Алеми, Александр А .; Соль-Дикштейн, Яша; Шоенхольц, Сэмюэл С. (2020). «Нейрондық тангенттер: жылдам және қарапайым шексіз жүйке жүйелері Python-да». Оқу өкілдіктері бойынша халықаралық конференция. arXiv:1912.02803.
  12. ^ Марелли, Стефано; Судрет, Бруно (2014). «UQLab: MATLAB-та белгісіздік мөлшерін анықтауға арналған негіз» (PDF). Осалдық, белгісіздік және тәуекел. Мөлшерлеу, азайту және басқару: 2554–2563. дои:10.3929 / ethz-a-010238238. Алынған 28 мамыр 2020.
  13. ^ Кукуйт, Иво; Дхейн, Том; Demeester, Piet (2014). «ooDACE құралдар жәшігі: икемді нысанға бағытталған Kriging іске асыруы» (PDF). Машиналық оқытуды зерттеу журналы. 15: 3183–3186. Алынған 8 шілде 2020.