Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.002 c
15-1298150996
Юрий
2011-02-20 00:29
2011.06.05
С днем рождения ! 20 февраля 2011 воскресенье


2-1298280359
>|<
2011-02-21 12:25
2011.06.05
как проверить, что файл открыт


2-1298927662
Sashka
2011-03-01 00:14
2011.06.05
Работа с AsyncCall


2-1298442017
snl73
2011-02-23 09:20
2011.06.05
Градиентная представление массива данных


2-1298526442
AltCtrlDel
2011-02-24 08:47
2011.06.05
Многоязыковое приложение. ITE не нравится





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский