Пределы применимости байесовского подхода

Автор Тема: Пределы применимости байесовского подхода  (Прочитано 29033 раз)

kuuff

  • Старожил
  • *****
  • Сообщений: 2 133
  • +220/-52
    • Просмотр профиля
Очень интересный разговор, но безумно утомительный: это цитирование на цитировании сильно мешает следить за происходящим и отнимает кучу времени.

Я попробую так, без цитирования.

Начну с мышления. Мышление -- это процесс, который может быть подчиняется законам логики (то есть строит в результате утверждение, которое истинно, и это может быть показано логическими методами), может быть не подчиняется, но это процесс. Логика -- это не более чем набор правил. Это разделение очень хорошо видно в Prolog'е. Это логический декларативный язык программирования, в котором задача формулируется в виде логических утверждений о связях между элементами задачи, но процесс поиска решения скрыт от программиста, и там, в скрытой части, спрятаны неочевидные алгоритмы. Алгоритмы, которые не относятся к предмету изучения логики как науки, эти алгоритмы изучаются информатикой.

В конце-концов, прежде чем можно будет применять логику, необходимо разбить реальность на отдельные объекты, как-то категоризировать её, выделить значимые признаки, установить связи между объектами/признаками, сформировать знания в виде пригодном для потребления логикой. А сам по себе процесс установления связей никак не описывается логикой, а вот психология именно его называет мышлением.

То, что делается "логикой" не так уж и сложно, ну, во-всяком случае, для меня это не выглядит такой уж захватывающей проблемой -- эти проблемы решаются или почти решаются алгоритмически. Такого рода проблемы для меня выглядят инструментальными, в том смысле, что их решать надо для того, чтобы проверить свои представления о том, как надо категоризировать мир. Ну, например, можно ли поделить всю психику на такие процессы как ощущения, восприятие, представление, мышление, память, внимание, речь, эмоции, личность? Понятно, что можно взять и поделить, никто не запретит, но будет ли это удачным делением? Судя по всему нет: если в результате такой категоризации, выходит так, что для любых процессов X и Y нам приходится говорить о том, что они взаимопроникают друг в друга, и при этом между ними нет чёткой границы, то это плохая категоризация. В результате деления процессов на категории, мы получаем граф, в котором вершины категории, а рёбра -- взаимопроникновения, и этот граф фактически полный, то есть в нём присутствуют все возможные рёбра (ну или может почти все). А это худший вариант сложности системы. Так что это плохая категоризация.

И отсутствие хорошей категоризации психических процессов говорит о том, что думать о действительно сложных проблемах у нас пока не получается. Но, я отмечу, прогресс всё же есть: если сравнить то, что было 100 лет назад, и то что есть сейчас, то разница есть. Хотя попытки категоризировать психические явления всё так же буксуют. Остаётся лишь надеятся, что когда-нибудь это удастся, и вот тогда психология станет естественно-научной дисциплиной, и ею можно будет заниматься пребывая в иллюзии о том, что мышление и логика -- это одно и то же, ну или что-то очень похожее.

Да, попытки найти такую категоризацию, сами по себе не очень практичны: они не имеют прямого практического применения. Но без них невозможно построить естественно-научную дисциплину. Да и практичность, как таковая, вообще не очень свойственная науке. Фарадей, говорят, выставлял за дверь тех посетителей своей лаборатории, которые начинали задавать ему вопросы типа "зачем ты суёшь гвоздь в катушку? чем это может быть полезно?" А, между прочим, 50 лет опытов Фарадея легли в основу учения об электромагнетизме и, в конечном итоге, в основу всей современной электронной техники. Это были невероятно полезные исследования, но современникам это было не очень понятно. Даже сам Фарадей не понимал тех перспектив, которые откроются тогда, когда электричество будет исследовано. Тут ведь проблема в том, что для понимания перспектив электричества необходимо понимать электричество, а для этого нужно сначала исследовать его.

Поиски такой категоризации связаны с работой если не на всех уровнях абстракции, то сразу на нескольких: если я придумал какой-то механизм, на основании которого работает психика, то я должен показать как все процессы подчиняются этому механизму, я должен показать, как этот механизм реализуется на нейронах (т.е. показать как его редуцировать), и я должен подняться на уровень выше, и показать как эти механизмы стали собой в процессе эволюции, может быть как на это влиял социум (что тоже выход на уровень выше: на систему более высокого уровня, для которой система-психика лишь элемент). Неплохо было бы ещё показать как редуцировать социум к действию нашего основного механизма психики. Вот тогда можно будет говорить о том, что наши теоретические изыскания чего-то да стоят. И вот тогда можно будет превращать теоретическую психологию в практическую дисциплину. Пока же практика и теория -- это две совершенно разные области знаний. По-крайней мере та часть психологии, которую можно хоть как-то назвать естественно-научной, почти никак не связана с практикой. Практика -- это набор рецептов для получения того или иного результата, которая теорию использует, в лучшем случае, как объяснительную модель, для объяснения задним числом того, что уже было сделано.

И про байесианство. Оно ведь закладывает субъективность в саму природу суждения о достоверности. В определение вероятности. Частотный подход определяет вероятность как объективную величину независящую от наблюдателя: это ведь предельный переход по n->oo, частоты появления исхода. А байесовское определение говорит что первая априорная вероятность добывается как-нибудь, хоть подкидыванием монеты (или путём "калибровки себя"), а затем каждое наблюдение приводит к обновлению значения вероятности, к переходу от априорных вероятностей к апостериорным. И совершенно нормально и естественно при таком подходе, что два разных агента будут иметь разные распределения вероятностей исходов для одного и того же события: у разных агентов разный опыт, значит и значения разные. Хотя если у всех агентов достаточно большой опыт, то их оценки вероятности будут отличаться не сильно. А если мы устремим опыт в бесконечность, то все получат в пределе одинаковые вероятности. Но бесконечного опыта не бывает, и байесианство заточено на работу в условиях ограниченного опыта.


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

Мнение, что "сначала была порождена идея, а потом она была реализована" - очень похожа на результат КИ знание задним числом.
Вполне допускаю, что человека, обладающего "очень широким видением ситуации" для "порождения глубокой идеи" могло и не быть, было найдено удачное частное решение (в рамках командной деятельности), которое оказалось легко обобщаемым и легло в основу архитектурного решения.
У них был некоторый опыт. UNIX была не первой операционной системой написанной той командой, сначала был Multics, написанный на ассемблере, затем они создали язык C, и на нём написали UNIX.
Идея взялась не на пустом месте, она не материализовалась из чистого вакуума, но была сформирована из опыта. Я полагаю, что этот опыт взялся из того простого факта, что им приходилось по нескольку раз создавать очень похожие друг на друга API для доступа к разным ресурсам -- к собственно файлам, к пайпам, к FIFO и ко всем прочим IPC, которые они закладывали в Multics. А необходимость всяких разных IPC возникли из другой идеи -- разбить задачу обработки текстов на много маленьких кусочков, которые можно будет складывать потом друг с другом как кубики. Хотелось единообразия, чтобы grep читал бы данные из stdin, но под этим stdin мог бы прятаться любой IPC, повышая таким образом универсальность grep'а.
И мы можем говорить, что это было случайностью, но то, что вы описываете, тот процесс в котором "частная идея" постепенно обобщается, потом становится общим принципом, и -- вау -- мы получили простую и логичную ОСь -- это вообще процесс мышления как таковой. Вопрос лишь в том, какая часть этого мышления выполнялась "в голове", а какая "наглядно действенно", то есть посредством написания кода, разглядыванием результата, допиливанием, перепиливанием и прочим.
И да, всё же я соглашусь, это могло быть случайностью, могло быть даже очень маловероятным исходом, может быть тут работает эффект выжившего: может быть тысячи команд имели тысячу идей, и из них выстрелила ровно одна, та которая оказалась удачной, когда её реализовали и смогли оценить. Но, кстати, даже в таком обобщении -- это тот же самый процесс мышления, только масштабированный -- распараллеленный по многим мозгам.

И какая разница в этом контексте, каким образом родилась идея? Идея подчинила себе многих программистов. А если мы глянем на модель разработки linux, то увидим там иерархию разработчиков, которая выполняет не только функции формализации принятия решений (не голосованием же принимать серьёзные решения, так?), но и функции разделения ролей в разработке. И чем выше разработчик в этой иерархии, тем более крупными категориями он мыслит. Его в меньшей степени интересует как происходит управление устройством в том коде, который прислал разработчик драйвера, сколько соответствие этого кода критериям качества и всяким прочим критериям, которые построены уже с точки более системного взгляда на вещи. Торвальдс, находящийся на вершине иерархии, начинает ругаться матом, когда ему приходится сталкиваться с кодом, который не удовлетворяет критериям качества, потому что эти проблемы должны решаться на более низких уровнях иерархии. И, такого рода иерархия возникает в любой достаточно масштабной инженерной деятельности, я полагаю. Я сталкивался не только с разработкой ПО, и видел примерно то же самое.