Про нейронные сети.
Jul. 8th, 2002 02:04 amЯ СОВСЕМ в нейронных сетях не специалист, и вообще в распознавании, ни в науке, ни в жизни. НО
Некоторое время назад на работе я занималась некоторой задачей классификации. То-есть писала для нее программу. "Конкуренты" решали эту задачу с помощью нейронных сетей (насколько можно догадаться), я - совсем примитивно. Результаты - эффективность распознавания - были очень близкими. Теорию - какая должна быть эффективность,я не нашла. Возникло впечатление, что в надежде, что нейронные сети дадут хороший результат, есть что-то мистическое. Гораздо более мистическое. Я здесь напишу свое понимание, и приветствую любые возражения и (контр)примеры.
Значит есть сколько-то объектов, у которых класс известен, есть N признаков и надо определить к какому классу принадлежит данный объект. Отклонения параметров для членов класса от некоторого центра класса - гауссовские.
1) Вот мы говорим про Гаусса. А с какими параметрами? Их надо определить из уже расклассифицированных образцов.
Допустим, их очень много.
Ну ясно, находим среднее, корелляции, диагонализуем.
Сколько должно быть ошибок (при классификации нового объекта) можно найти теоретически и, если предположение о распределении верно,
меньше быть не может. При данном наборе признаков этого нового объекта, конечно.
Что означает что любой метод с очень большим тренингом будет не лучше описанного лобового.
2)А если объектов, например,100 а признаков 60 - не выйдёт.
Облако исходных расклассифицированных точек сильно вырожденно. Если образцов меньше 60 вообще плоскость
можно провести через них. Надо честно вычислыть сложную вероятность (то-есть сумму вероятностей принадлежности нового объекта к данному классу помноженных на вероятность данных параметрах при имеющихся эталонах).
Эта вполне поставленная и решаемая задача, но сложная численно.
Что делают нейронные сети? И то, что Вы описали, и многоступенчатые. Они задают форму кривой, разделяющей классы, и подбирают параметры этой кривой.
При этом часто в таком виде задачу не формулируют, тогда метод выглядит “естественно”. Но при увеличении образцов на “обучении” эта кривая не стремится к правильной- смотри пункт 1.
Пусть число образцов много меньше требуемого для метода 1. Тогда чем эта неизвестная “умная” кривая лучше “глупой” кривой, которую я задам руками и буду подбирать параметры?
Варианты:
а)В При большом числе образцов не то дает - ну так и нейронные сети тем дефектом страдают.
б)Вычислительной сложностью? Но и мы не лыком шиты и кривульку нарисуем так, чтобы параметры легко вычислялись.
в)И вроде (по моему совершенно неавторитетному мнению) - только примитивностью и тем, что ad hoc'ность незамаскированна.
Некоторое время назад на работе я занималась некоторой задачей классификации. То-есть писала для нее программу. "Конкуренты" решали эту задачу с помощью нейронных сетей (насколько можно догадаться), я - совсем примитивно. Результаты - эффективность распознавания - были очень близкими. Теорию - какая должна быть эффективность,я не нашла. Возникло впечатление, что в надежде, что нейронные сети дадут хороший результат, есть что-то мистическое. Гораздо более мистическое. Я здесь напишу свое понимание, и приветствую любые возражения и (контр)примеры.
Значит есть сколько-то объектов, у которых класс известен, есть N признаков и надо определить к какому классу принадлежит данный объект. Отклонения параметров для членов класса от некоторого центра класса - гауссовские.
1) Вот мы говорим про Гаусса. А с какими параметрами? Их надо определить из уже расклассифицированных образцов.
Допустим, их очень много.
Ну ясно, находим среднее, корелляции, диагонализуем.
Сколько должно быть ошибок (при классификации нового объекта) можно найти теоретически и, если предположение о распределении верно,
меньше быть не может. При данном наборе признаков этого нового объекта, конечно.
Что означает что любой метод с очень большим тренингом будет не лучше описанного лобового.
2)А если объектов, например,100 а признаков 60 - не выйдёт.
Облако исходных расклассифицированных точек сильно вырожденно. Если образцов меньше 60 вообще плоскость
можно провести через них. Надо честно вычислыть сложную вероятность (то-есть сумму вероятностей принадлежности нового объекта к данному классу помноженных на вероятность данных параметрах при имеющихся эталонах).
Эта вполне поставленная и решаемая задача, но сложная численно.
Что делают нейронные сети? И то, что Вы описали, и многоступенчатые. Они задают форму кривой, разделяющей классы, и подбирают параметры этой кривой.
При этом часто в таком виде задачу не формулируют, тогда метод выглядит “естественно”. Но при увеличении образцов на “обучении” эта кривая не стремится к правильной- смотри пункт 1.
Пусть число образцов много меньше требуемого для метода 1. Тогда чем эта неизвестная “умная” кривая лучше “глупой” кривой, которую я задам руками и буду подбирать параметры?
Варианты:
а)В При большом числе образцов не то дает - ну так и нейронные сети тем дефектом страдают.
б)Вычислительной сложностью? Но и мы не лыком шиты и кривульку нарисуем так, чтобы параметры легко вычислялись.
в)И вроде (по моему совершенно неавторитетному мнению) - только примитивностью и тем, что ad hoc'ность незамаскированна.