AzoftSpotlight

CAUSALITY – причинная связь. Модели, рассуждения и выводы.

By admin on December 3, 2010
Comments Off

Оригинальная статья представляет первый выпуск книги Джудия Перл

causality

Предисловие

Главная цель многих исследований в физических, поведенческих, социальных, и биологических науках – разъяснение отношений эффекта причины в переменных или событиях. Однако, возникают разногласия и споры относительно соответствующая методология для извлечения такого отношения из данных—или даже из теорий.

Два основных вопроса причинной связи – это: (1) Какое эмпирическое доказательство необходимо для легитимного вывода причинно-следственных связей? Учитывая, то мы готовы принять причинную информацию о явлении, какие выводы мы можем сделать из этой информации, и как? Эти вопросы остались так и без ответа, частично, потому, что у нас не было ясной семантики для причинных требований, а частично потому, что у нас не было эффективных математических инструментов для представления причинных вопросов или получения причинных ответов.

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

В этой книге представлено систематическое описание причинных трансформаций. Она адресована, прежде всего, читателям, интересующимся статистикой, искусственным интеллектом, философией, когнитивистикой, медицинскими и социальными науками. После описания концептуальных и математических достижений в области причинных следствий, в книге сделан акцент на практические методы объяснения потенциальных причинно-следственных связей из данных, получения причинно-следственных связей путем комбинирования знаний и данных, предсказывания эффектов действий и политики, оценки объяснения наблюдаемых событий и сценариев, и—в более общем смысле—идентификации и объяснения предположений, необходимых для обоснования причинных требований.

Десять лет назад, когда я начала написание Вероятностных Рассуждений в Интеллектуальных Системах (1988), я работала в пределах эмпирической традиции. В этой традиции вероятностные отношения формируют основы человеческих знаний, тогда как причинная связь просто предоставляет полезные способы сократить и организовать замысловатые образцы вероятностных отношений. Сегодня, мои взгляды совсем другие. Я считаю, что причинно-следственные связи – это основные стандартные блоки как физической действительности, так и человеческого понимания этой действительности, и я расцениваю вероятностные отношения как поверхностные явления причинной машины, которая лежит в основе и стимулирует наше понимание мира.

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

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

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

Последовательность обсуждения выстроена в более или менее хронологическом порядке, согласно которому наша команда в Калифорнийском университете в Лос-Анджелесе изучала данную тему, и таким образом, сведения дополнены нашим видением этих событий. После вводной главы (Глава 1) мы начинаем с самых трудных вопросов того, как можно обнаружить причинно-следственные связи в исходных данных (Глава 2) и что может гарантировать корректность обнаруженных связей. Затем мы переходим к вопросам идентификации — а именно, предсказывания прямого или косвенного влияния действий и политики комбинаций данных, а также фрагментарного знания того, где могут работать причинно-следственные связи (Главы 3 и 4). Значения этих результатов для общественных и медицинских наук обсуждается в Главах 5 и 6 (соответственно), где представлено исследование понятия структурных уравнений и соединения. В Главе 7 предложена формальная теория контрафактивных и структурных моделей вместе с обсуждением и объединением связанных подходов в философии, статистике, и экономике. Применения контрафактивного анализа показаны в Главах 8 – 10, где разработаны методы ограничения причинно-следственных связей и проиллюстрировано применение к несовершенным экспериментам, юридической ответственности, и вероятности необходимой, достаточной, и однособытийной причинной связи. Завершает книгу конспект лекции (Эпилог), прочитанной мной в Калифорнийском университете в Лос-Анджелесе, об основных исторических и концептуальных аспектах причинной связи.

Читателям, которые для начала хотели бы познакомиться с нематематическими аспектами причинной связи, рекомендуем начать чтение книги с Эпилога, а затем обратить внимание на другие исторические/концептуальные части книги: Разделы 1.1.1, 3.3.3, 4.5.3, 5.1, 5.4.1, 6.1, 7.1, 7.4, 7.5, 8.3, 9.1, 9.3, и 10.1.4. Читателям, которые стремятся разобраться непосредственно в математических аспектах и вычислительных инструментах, рекомендуем начать с Раздела 7.1, а затем продолжить чтение в следующем порядке: Раздел 1.2, Глава 3, Разделы 4.2 – 4.4, Разделы 5.2 – 5.3, Разделы 6.2 – 6.3, и Главы 8 – 10.

Советы для выступающих перед публикой

By admin on November 22, 2010
Comments Off

Оригинальная статья опубликована Mark D. Hill, Апрель 1992; отредактирована Январь 1997


Вещи, о которых стоит задуматься.

1.    Устная речь отличается от письменного сообщения У ваших слушателей будет только одна возможность услышать и понять то, о чем вы им расскажете. Они не смогут «перечитать» напонятные места. Часто вы будете не первым выступающим, которого они услышат за сегодняшний день. Если аудитория не может задавать вопросы во время вашего доклада, очень важно ясно излагать свои мысли. Есть два хорошо известных способа эффективно донести ваши идеи. Первый от английского K.I.S.S. (keep it simple stupid) – изъясняйтесь до банального просто. Сфокусируйтесь на одной-трех идеях и постарайтесь запомнить их. Подумайте, сколько вы помните из собеседования на прошлой неделе. Второй способ: повторяйте ключевые пункты – сначала скажите им, о чем вы будете говорить (введение), затем перейдите к сути, а после повторите, о чем вы им рассказали (подведение итога).

2.    Задумайтесь о своей аудитории Большинство аудиторий неоднородны по готовности услышать вас: кто-то специалист той же области, что и вы; кто-то специализируется в смежной области; кто-то разбирается в этом очень слабо или вовсе не разбирается. Кто важен вам? Донесли ли вы до последних хоть что-то? Попробуйте ориентировать основную часть вашего доклада на профессионалов, а подведение итогов можно адаптировать подо всех.

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

4.    Выступление на публике Сложно представить работу, меньше чем за 20-30 минут.

5.    Подготовка Смотри также Давид Паттерсон «Как подготовить плохое выступление»


Примерная схема выступления на конференции

Эта схема выступления – примерный план, а не жесткий регламент. Большинство хороших ораторов в среднем тратят две минуты на слайд (не считая слайд с заголовком и содержанием), т.е. двадцатиминутная презентация укладывается примерно в 10 слайдов.

  • Название/Автор/Соавторы (1 слайд)
  • Введение (1 слайд). Раскройте суть проблемы критично и конструктивно (Какую мысль вы хотите донести до своей аудитории? Это резюме устного выступления)
  • План доклада (1 слайд).  Представьте структуру доклада. Некоторые докладчики предпочитают размещать этот пункт внизу слайда с названием. (Аудитория любит предсказуемость)
  • Фон
    • Мотивация и обозначение проблем (1-2 слайда). Почему это должно всех заботить. Многи исследователи переоценивают, сколько аудитория знает о проблеме, которой они  занимаются.
    • Работа по проекту (0-1 слайд). Раскройте этот вопрос поверхностно или пропустите. Ссылайтесь на свою статью, предложите слушателям найти там более подробную информацию.
    • Методы (1 слайд). Раскройте этот вопрос быстро, тезисно. Ссылайтесь на свою статью, предложите слушателям найти там более подробную информацию.
    • Результаты (4-6 слайдов). Расскажите об основных реультатах и ключевых моментах. Это основная часть доклада. Внутренняя структура этого пункта может сильно варьироваться в зависимости от цели исследования докладчика. (Не раскрывайте все ерзультаты поверхностно; вместо этого подробно расскажите об основных результатах. Недостаточно просто представить цифры; Поясните числовые данные, наполните их смыслом. Не вставляйте большие таблицы с числами.)
  • Выводы (1 слайд)
  • Дальнейшая планируемая работа по проекту (0-1 слайд). Факультативно представьте проблемы, которые поднимает этот проект.
  • Приложения (0-3 слайда). Факультативно подготовьте пару экстра-слайдов (не включенных в план вашего доклада) для ответа на ожидаемые вопросы (Часто задаваемые вопросы: решенные проблемы, недостатки методов, планируемая работа над проектом).

Академические интервью

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

  • Возьмите 20-тиминутную презентацию.
  • Расширьте 5-тиминутное введение до 20-ти минут, чтобы рассказать о сути проблемы, почему она важна и подчеруните суть того, что вы сделали.
  • Составьте оставшуюся часть доклада (минус выводы и дальнейшая работа)
  • Добавьте 10 минут выдержек из вашей статьи (чтобы показать глубину исследования). Это нормально вывести людей за пределы вашей специализации, при условии, что следующим же шагом вы вернете их в тему.
  • Подведите итоги и расскажите о планах дальнейших разработок так, чтобы это всем было понятно.
  • Посвятите следующие 10 минут всем остальным вещам, которые вы сделали (чтобы показать ширину проделанной работы)
  • Приберегите 5 минут на вопросы (чтобы продемонстрированность свою самоорганизованность)

Другие типы выступлений

Другие выступления следует готовить, руководствуясь теми же самыми принципами, ориентируясь на аудиторию и риторическую цель. Например, презентация проекта в выпускном классе, в первую очередь должна быть ориентирована на преподавателя, а затем на одноклассников. Ее цель – получить хорошую оценку слушателей, показав, что была проделана хорошая работа. Однако методы должны быть описаны гораздо более подробно, чем в выступлении на конференции. Благодарности Спасибо Jim Goodman, Jim Larus, and David Patterson за их полезные комментарии. Текущая версия этого документа "http://www.cs.wisc.edu/~markhill/conference-talk.html".


Как сделать провальный доклад

David A. Patterson

Факультет информатики университета California-Berkeley, примерно 1983 год

10 заповедей (с пояснениями, собранными из речей Паттерсона Марком Хиллом)

1.    Не будь аккуратным К чему отнимать время от исследований и тратить их на подготовку слайдов? Не заботься о правописании, грамматике и разборчивости. Кого волнует, что думают 50 человек?

2.    Экономь пространство Слайды стоят дорого. Если ты сможешь тратить на пять слайдов меньше в каждом из четырех докладов в год, ты сэкономишь $7.00 в год!

3.     Не возжелай краткости Ты хочешь поддержать стереотип, что инженеры не умеют писать? Всегда используй законченные предложения, а не только ключевые слова. Если возможно, используй целые абзацы и читай каждое слово.

4.    Не делай слайды слишком понятными Тебе нужен интерес зрителя! Рисунки бросаются в глаза.

5.    Не пиши крупно Будь скромным – используй шрифт помельче. Важные люди сидят на первых рядах. Кого волнует галерка?

6.    Не раскрашивай Обилие ярких цветов свидетельствует о некачественно проведенном исследовании. Это нечестно выделять одни слова на фоне других.

7.    Не используй иллюстрации Конфуций сказал «Изображение может сказать больше, чем десять тысяч слов», но Дейкстра говорит «Картинки лишь для слабых умов» Кому ты поверишь? Мудрости веков, или человеку, который впервые посчитал метки goto?

8.    Не встречайся ни с кем глазами Тебе следует отводить взгляд, чтобы показывать уважение. А загородившись экраном, можно добавить таинственности

9.    Не пропускай слайды в длинном докладе Ты подготовил слайды; люди пришли выслушать твою речь; поэтому просто говори быстрее. И, если нужно, опусти итоги и заключение.

10.    Не репетируй Опять же – к чему тратить время исследований на репетицию доклада? Это может отнять несколько часов от твоих двухлетних трудов. Как можно будет выступить непринуждённо, если ты репетировал? Но если всё же репетировал, то спорь с каждым предложением, которое получишь и будь уверен, что твой доклад длится дольше того времение, за которое ты должен его представить. Заповедь 10 особенно важна. Если ты нарушишь остальные 9, она может тебя спасти.

Канонический вид Java-класса

By admin on November 18, 2010
Comments Off

Оригинальная статья опубликована Joseph Bergin, 13 сентября 2009

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

public class Name extends Object implements Cloneable, java.io.Serializable
{ 	public Name()
	{	... DO NOT call non final methods from here.
	}

	public String toString()
	{	return ... 
	}

	public boolean equals(Object o)
	{	... Defines an Equivalence relation
			Reflexive: a.equals(a) must return true.
			Symmetric: If a.equals(o) then o.equals(a) as well. 
			Transitive: If a.equals(b) and b.equals(c), then a.equals(c).
		... Note that Symmetric is usually the difficult one to be sure of. 
	}

	public int hashCode()
	{	... Consistent with equals: two "equals" objects should have same hashCode result.
	}
}

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

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

Метод toString используется Java системой ввода/вывода, а также некоторыми другими частями системы Java. Также данный метод полезен при поиске ошибок в программе, поскольку он предоставляет информацию об объекте и его полях, и программист видит, что происходит в программе, просто указывая интересные ему объекты.

Стандартное тело равенства выглядит примерно так:

public boolean equals(Object o)
{	if(o == null) return false;
	if(getClass() != o.getClass()) return false;
	return ... depending on fields of o and this. 
}

Объект представления равенства по умолчанию использует ==, относящемуся к равенству. Хотя такое сравнение зачастую ошибочно, поскольку не принимается во внимание значение объект. Метод hashCode применяется для расположения объектов в хеш-таблицах (Hashtable и HashMap) в качестве ключей. Если hashCode не соответствует равенствам, хеш-таблица будет работать неправильно. Если тестирование равенств основывается на некоторых установленных полях класса, основой hashCode должны быть эти же поля. (На ошибку в ранней версии указал Оуэн Эстрэчен из Университета Дьюка).

Очень важно чтобы метод равенств использовал параметр указываемого Объекта. При указывании для метода более конкретных параметров, многие компоненты системы перестанут работать правильно, несмотря на то, что уточнение параметров может казаться правильным. Это потому, что равенства вызываются системным кодом в очень редких ситуациях, а указанное Вами равенство со специфическими параметрами не будет вызвано, поскольку динамический полиморфизм не используется в параметрах.

В некоторых классах может быть реализован java.io.Serializable, к которому нет требований. Он позволяет сохранять объект в файл или передавать его по сети.

В большинстве классов должен быть реализован метод Cloneable, а также метод возвращения точной копи:

	public Object clone()
	{	...
	}

По умолчанию этот метод защищен и при обращении к нему, вызывается CloneNotSupportedException

Заметьте, для инициализации большинства полей не требуется использование конструктора. Это можно сделать с помощью объявлений --, даже если для этого Вам необходимо вызвать функцию.

Также. Все Ваше поля должны быть приватными. Для доступа подклассов к некоторым полям можно использовать защищенный доступ.

ПРИМЕЧАНИЕ для пользователей Java 2. Если вы создаете класс в Java 2 (версия Java 1.2 или более поздняя), убедитесь в целесообразности реализации в вашем классе сравнительного интерфейса. Если его нет, объекты вашего класса не смогут быть сохранены в качестве ключей в TreeMaps. При реализации данного интерфейса также потребуется метод

public int compareTo(Object other)

public int compareTo(Object other)
{	...
}

Данный метод возвращает отрицательное значение, если значение может быть "меньше" другого, и положительное – если значение "больше" другого или ноля, если значения одинаковы. Заметьте, равенства должны быть согласованными с compareTo, то есть, если значение равенства true, compareTo должно выдавать ноль.

Как в большинстве классов Java 5 (как минимум тех, где сортируется объекты) должен быть реализован сравнительный интерфейс (из java.lang).

	class Foo implements Comparable<Foo>{
		int compareTo(Foo value){
			...
		}
	} 
 

Это позволяет сравнивать объекты в классе. Если а "меньше" b, a.compareTo(b) выдаст отрицательное значение. В общем, если a.equals(b), то a.compareTo(b) должно выдавать значение 0. Также a.compareTo(b) должен иметь знак, противоположный знаку b.compareTo(a). Фактически, compareTo формирует эквивалентное соотношение значений (симетрическое, переходное и возвратное), а также общий порядок. Методы java.util.Collections могут сортировать элементы автоматически, если они сортируются в массиве данных и т.д.. Также их можно вставлять в отсортированные коллекции, например, в отсортированный список, однако, есть и другие способы.

About

This is an area on your website where you can add text. This will serve as an informative location on your website, where you can talk about your site.

Subscribe to our feed

Search

Admin