Приложения для церковного языка программирования - PullRequest
12 голосов
/ 31 марта 2010

Кто-нибудь работал с языком программирования Церковь ? Кто-нибудь может порекомендовать практическое применение? Я только что обнаружил это, и хотя это звучит так, как будто оно решает некоторые давние проблемы в области ИИ и машинного обучения, я скептически отношусь к этому. Я никогда не слышал об этом, и с удивлением обнаружил, что он действительно существует уже несколько лет, будучи объявленным в газете Церковь: язык для порождающих моделей .

Ответы [ 4 ]

6 голосов
/ 07 апреля 2010

Я не уверен, что сказать по поводу практического применения. Является ли моделирование когнитивных способностей с помощью генеративных моделей «практическим приложением» в вашем уме?

Ключевое значение Церкви (по крайней мере, сейчас) заключается в том, что она позволяет тем из нас, кто работает с вероятностными решениями проблем ИИ, более простым способом моделирования. По сути, это подмножество Lisp.

Я не согласен с Крисом С, что это вообще игрушечный язык. Хотя некоторые из этих проблем логического вывода могут быть воспроизведены на других языках (я построил несколько в Matlab), они, как правило, не очень многократно используются, и вы действительно должны любить работать в 4 и 5 для глубоких циклов (я ненавижу это).

Вместо того, чтобы решать проблему таким образом, Черч использует рекурсивные преимущества lamda calaculus, а также допускает так называемое запоминание, которое действительно полезно для порождающих моделей, поскольку ваша порождающая модель часто отличается от одного испытания за пробой - хотя для тестирование вам действительно нужно это.

Я бы сказал, что если то, что вы делаете, имеет какое-либо отношение к байесовским сетям, иерархическим байесовским моделям, вероятностным решениям POMDP или динамическим байесовским сетям, то я думаю, что Церковь - это большая помощь. Что бы это ни стоило, я работал и с Ноем, и с Джошем (двумя из авторов Черча), и ни у кого сейчас нет лучшего подхода к вероятностному выводу (ИМХО).

2 голосов
/ 23 января 2014

Церковь является частью семейства вероятностных языков программирования, что позволяет отделить оценку модели от ее определения. Это делает вероятностное моделирование и умозаключение намного более доступными для людей, которые хотят применить машинное обучение, но сами не являются исследователями машинного обучения.

Долгое время вероятностное программирование означало, что вам придется придумывать модель для ваших данных и самостоятельно оценивать модель: у вас есть некоторые наблюдаемые значения и вы хотите изучить параметры. Структура модели тесно связана с тем, как вы оцениваете параметры, и вам необходимо иметь достаточно глубокие знания в области машинного обучения, чтобы правильно выполнять вычисления. Недавние вероятностные языки программирования - это попытка решить эту проблему и сделать вещи более доступными для исследователей данных или людей, выполняющих работу, в которой применяется машинное обучение.

В качестве аналогии рассмотрим следующее:

Вы программист и хотите запустить какой-нибудь код на компьютере. Еще в 1970-х вы должны были писать ассемблер на перфокартах и ​​передавать их в мэйнфрейм (для которого вам нужно было бронировать время), чтобы запустить вашу программу. Сейчас 2014 год, и существуют высокоуровневые, простые для изучения языки, на которых можно писать код, даже не зная, как работает компьютерная архитектура. По-прежнему полезно понимать, как компьютеры работают для записи на этих языках, но у вас нет , и гораздо больше людей пишут код, чем если бы вам приходилось программировать перфокартами.

Вероятностные языки программирования делают то же самое для машинного обучения со статистическими моделями. Кроме того, Церковь не единственный выбор для этого. Если вы не приверженец функционального программирования, вы также можете проверить следующие рамки для байесовского вывода в графических моделях:

0 голосов
/ 08 апреля 2010

Вы знаете, что лучше описывает Церковь, чем то, что я сказал? Эта статья MIT: http://web.mit.edu/newsoffice/2010/ai-unification.html

Это немного более гиперболично, но я не застрахован от оптимизма, представленного в этой статье.

0 голосов
/ 01 апреля 2010

Скорее всего, статья должна была быть опубликована в Первоапрельский день. Вот еще одна статья, датированная поздним маршем прошлого года. http://dspace.mit.edu/handle/1721.1/44963

...