|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 9, 2003 19:23:48 Блин, я, наверное, плохо объяснил. Скажем так, на входе 3 нейрона. Назначим им 1, 2, 3 соответственно. Один раз сеть выдала 2, потом пару раз 3, потом 1. КАК ОЦЕНИВАТЬ ЭТИ РЕЗУЛЬТАТЫ? Как подсчитывать среднеквадратическое и т.п.? Вот я тут читаю одну статейку по поводу применения NN ко вторичной структуре. Тут китайцы надрессировали свою NN выдавать 8 ответов. А потом чего пишут - я выпал в осадок - "where ... is the predicted content of the secondary structure element ... fot kth protein, while ... is the content actually observed". Формулу, по понятным причинам здесь я напечатать не могу. Ну вот скажи, допустим (в статье НИ СЛОВА!!!) они обозначили 1 выход как 2, 2 - как 3, 3 - как 4 и т.п. В формуле они ВЫЧИТАЮТ одно значение из другого - т.е., скажем, становится возможным вычитание 4-5? Ведь с физической точки зрения такой ответ - бред пьяного - иначе и не назовешь. Вот я тебя и спрашиваю - как статистику гнать на ответе? Какие числовые значения назначать выходам, чтобы это выглядело разумным? Я понятно спросил? |
|
|
Дата: Сен 9, 2003 19:40:10 Т.е. получается сеть при одинаковых запросах на входе генерирует разные ответы на выходе? |
|
|
Дата: Сен 9, 2003 19:49:59 Ни в коем случае. Просто они создали монстра. На вход подаются разные данные и сеть должна классифицировать проблему. Просто мне совсем не ясно, как они обрабатывают результат! |
|
|
Дата: Сен 9, 2003 20:42:19 Честно говоря я не могу представить (или чего то не догоняю ;)) для чего это делается. У меня есть предположение что это сеть с самообучением. А все эти махинации нацелены на обучении сети (статья во вложении). _1020407200__paper.zip |
|
|
Дата: Сен 9, 2003 20:46:56 Для каждого класса, нужно сформировать вектор, который есть правильный ответ сети при предъявлении ей объекта данного класса. Затем берем какую нибудь функцию, от выхода сети и эталонного вектора, и на каком эталонном векторе эта функция достигнет максимума, к тому классу и относим этот объект. Допустим есть у нас три класса и три выходных нейрона. Пусть для первого класса сеть должна выдать (1,0,0) для первого класса, (0,1,0) - для второго и (0,0,1) для третьего. В качестве функции возьмем скалярное произведение, то есть на каком выходе будет максимальное значение к тому классу и отнесем объект. (0.8,0.2,0.3) - объект первого класса (0.2,0.7,0.5) - второго (0.1,0.1,0.9) - третьего Можно еще установить какое нибудь пороговое значение, допустим если на всех выходах значение меньше 0.4 - считаем что объект на принадлежит ни к одному классу. Или если разница между максимальным и вторым по величине значением меньше 0.1. (0.3,0.1,0.1) - считаем, что класс неизвестен (0.2,0.65,0.7) - // - Если выходы сети бинарные, то просто сравниваем на равенство, если выходной вектор не совпадает ни с одним из эталонных, то объект не классифицирован. |
|
|
Дата: Сен 9, 2003 21:16:21 Black_mirror Нафига тогда производить вычитание одного выхода из другого |
|
|
Дата: Сен 9, 2003 21:35:26 Fixer Зверская статья. Надо будет когда-нибудь вдумчиво почитать на досуге. Black_mirror Объяснение хорошее, спасибо. Только вот, действительно, эти ребята не делали ничего такого. Каждый вход интерпретировался как некая цифра (как это дело обстоит с точки зрения теории, мне и думать страшно), а потом, для подсчета статистики эти ребята занимались вычитанием! *********************************** Вот смотри. Сеть с 210 входами и 8 выходами. На первом - определение того, является ли рассматриваемый белок альфа-спиралью, втором - бета, четвертом - пи и т.д. Не суть важно. В статье НИ СЛОВА по поводу того, как ребята эта дело нумеровали. Потом они вычитают выходной показатель из эталонного (т.е. допустим, сеть выдала, что белок альфа, а на самом деле - он пи) и считают статистику. Я ничего не могу понять! Кто не дружит с головой? |
|
|
Дата: Сен 9, 2003 21:44:47 Не знаю что там делают китайцы, но вычитать вектор выданный сетью из эталонного вполне разумно. Так мы получаем вектор ошибки. Если у них сеть обрабатывает данные переменной длины, и они вводятся допустим со сдвигом на одно значение, то вполне может потребоваться для вычисления ошибки, и соседние выходы друг из друга вычитать. |
|
|
Дата: Сен 9, 2003 21:50:10 Black_mirror Да понятно все с твоим вектором. Ясно. Хорошо объяснил. Вопросов нет. Другие есть :)) Если ответ сети обрабатывается НЕ КАК ВЕКТОР, как тогда? |
|
|
Дата: Сен 9, 2003 21:52:15 Похоже что китайцы в самом деле вычисляют вектора ошибок, а потом их обрабатывают. Если мы возьмем и просуммируем модули или квадраты этих векторов, то получим примерное количество ошибок. Нужно только на константу подходящую разделить. |
|
|
Дата: Сен 9, 2003 21:53:05 На самом деле трудно строить предположение на пустом месте. Хотелось бы узнать тип нейросети который они используют. |
|
|
Дата: Сен 9, 2003 21:56:09 Ответ сети в любом случае можно рассматривать как вектор. |
|
|
Дата: Сен 9, 2003 21:59:28 |
|
|
Дата: Сен 9, 2003 22:00:17 The first criterion is the average absolute error, ..., of each secondary structure element, calculated for each sample (protein): формула выше where k is the predicted content of the secondary structure element for the kth protein, while d[stack k ] is the content actually observed. |
|
|
Дата: Сен 9, 2003 22:00:49 Fixer Back propagation. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.091 |