Форум: "Прочее";
Текущий архив: 2011.06.05;
Скачать: [xml.tar.bz2];
Внизk-means/c-means перед обучением нейронной сети Найти похожие ветки
← →
И. Павел © (2011-02-17 09:19) [0]Здравствуйте.
Подскажите, пожалуйста, как правильнее выполнить такую задачу:
1. Исходные данные - таблица продаж, в которой указано количество товара, проданное за каждый день, например, в пределе 10-15 последних лет.
2. Исходные данные подвергаются обработке методами k-means или c-means.
3. Обработанные методом кластеризации, данные отправляются в нейронную сеть. Так проводится обучение сети.
4. Ну а дальше уже сеть функционирует.
Подскажите, пожалуйста, что лучше сделать выходом кластеризации и, следовательно, входом в нейронную сеть?
У меня пока есть 2 варианта:
1. Те же точки, что и поступили на вход кластеризации. Но только значение в каждой из этих точек будет уже равно значению центра кластеризации кластера, которому точка принадлежит (т.е. имели [1 3 4 2 4 5 6 5 9] а после кластеризации получили, например [3 3 3 3 7 7 7 7 7]). Если пользователь выберет c-means, то, если точка (дневная продажа) на 10% принадлежит к кластеру с центром = 100 и на 90% к кластеру с центром = 200, то значение в этой точке = 0.1*100 + 0.9*200 = 190 (правилен ли такой способ?).
2. Центры кластеризации (т.е. имели [1 3 4 2 4 5 6 5 9] а после кластеризации получили, например [3 7]). Недостатки этого метода очевидны: во-первых число кластеров хотя бы на порядок меньше числа исходных точек. А на маленьком числе точек система не обучится. Во-вторых: исходные данные (дневные продажи) расположены на временной оси равномерно (есть значение для каждого дня), а центры кластеризации расположены на временной оси не равномерно. Т.е. если передавать на вход нейронной сети центры кластеризации, то вместе с ними нужно будет передавать еще и даты, которым эти центры соответствуют. Уж больно разнотипные входные данные - числа продаж и даты, и я думаю, что такая нейронная сеть будет почти не обучаема...
PS: лично я бы вообще не делал кластеризации исходных данных, ИМХО эта операция только добавит неопределенность, но задачу не я ставлю.
Заранее спасибо.
← →
Jeer © (2011-02-17 09:56) [1]http://logic.pdmi.ras.ru/~yura/internet/02ia-seminar-note.pdf
http://www.ccas.ru/voron/download/Clustering.pdf
http://www.nd.edu/~flynn/papers/Jain-CSUR99.pdf
http://www.machinelearning.ru
http://www.intuit.ru/department/database/datamining/
http://ru.wikipedia.org/wiki/K-means
http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/cmeans.html
http://www.basegroup.ru/library/analysis/
← →
И. Павел © (2011-02-17 10:14) [2]> [1] Jeer © (17.02.11 09:56)
Большое спасибо за ссылки!
Особенно за первые 2 книги. Уже начал читать - все четко и ясно описано. Попробую 3 тожде прочитать, если осилю :)
Про существования сайта http://www.machinelearning.ru даже не знал.
← →
TUser © (2011-02-17 11:17) [3]
> правилен ли такой способ?
Что значит "правильный"? Правильный способ - тот, который решает поставленную задачу. А тут задача не поставлена, кроме "применить метод такой-то". В этом смысле - правильный, метод будет применен.
Только тут к психоаналитику надо - а вы действительно хотите применить кластеризацию, хотите об этом поговорить и т.д.
Имхо, могла бы быть такая задача - выделить из исходных данных те, где продажи более или менее стабильны. Понятно, что если данные 11111122222233333, то кластеры очевидны, а предсказывать что-то внутри кластера - нейросети нафиг не нужны. Можно так: разбить исходные данные на группы, где продажи ведут себя сходным образом, то есть колебания внутри кластера можно объявить следствием малозначительных причин. И далее предсказывать, исходя из того, что сначала шли такие-то кластеры такой-то продолжительности, какой будет следующий кластер, и сколько он продлится.
Только непонятно, почему именно k-means для такой задачи. А если кластеров у тебя не к, не угадал число? Ну и кластер у тебя тут - набор последовательно идущих чисел, что принципиально. Имхо, тут сглаживание какое-нибудь надо.
← →
Гость (2011-02-17 11:19) [4]спасибо 2.
← →
И. Павел © (2011-02-17 12:08) [5]> Имхо, тут сглаживание какое-нибудь надо.
Полностью согласен. Я сам уже это предложил. Тем более что входные данные, как оказалось, не равномерно распределены по датам, а учить нейронную сеть на неравномерных значениях (передавая ей не только значения, но и интервалы между ними) будет сложно, да и едва ли это будет эффективнее, чем результат, который получится после подготовки данных обычной интерполяцией.
> Можно так: разбить исходные данные на группы, где продажи
> ведут себя сходным образом, то есть колебания внутри кластера
> можно объявить следствием малозначительных причин. И далее
> предсказывать, исходя из того, что сначала шли такие-то
> кластеры такой-то продолжительности, какой будет следующий
> кластер, и сколько он продлится.
А это мысль. Передавать в нейронную сеть значения в центре кластеризации и длину кластеров. Думаю, это наиболее естественный путь - объединить k/c-means с нейронными сетями. Правда, опять-таки будет 2 типа входов, но если кластеров будет достаточно много, попробую этим способом.
Что касается кривоватых условий задачи - лично я предполагаю (хотя достоверных сведений нет), что преподаватель где-то прочитал, что нейронные сети и k-means - это два вида Data Minding и решил, что два этих метода взаимозаменяемы и можно решить задачу сначала одним, потом другим, а потом сравнить результат. А когда ему сказали, что это не получится, т.к. методы направлены на разные виды обработки данных, то сказал, что тогда нужно применить эти методы поочереди: сначала использовать k-means а потом нейронную сеть. Но это мое ИМХО.
← →
TUser © (2011-02-17 12:14) [6]
> что преподаватель где-то прочитал
эээ, диплом кому-то делаешь?
← →
И. Павел © (2011-02-17 12:22) [7]> эээ, диплом кому-то делаешь?
Скорее помогаю формализовать задачу. По крайней мере уже не будет написан диплом "Сравнение методов k-means и нейронных сетей в вопросах прогнозирования".
← →
TUser © (2011-02-17 12:28) [8]А судя по дате на календаре тема диплома вполне может уже быть утверждена и не подлежать изменению :-(
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2011.06.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c