powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Воскресный SOM и классификация векторов
25 сообщений из 35, страница 1 из 2
Воскресный SOM и классификация векторов
    #39966819
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

Лет 5 назад Илья поднял хорошую тему Тяпничный Кохонен.

Я решил поднять. Я также решил расширить scope и включить сюда все языки разработки.

Вобщем SOM и Кохонен.

Пример как может выглядеть SOM в виде картинки




Модератор: Удалено по просьбе ТС


Еще вариант представления SOM от MathLab. Видимо здесь надо смотреть не на цвет а на полигоны типа Вороного.





Вопросы от меня.

1) Что может делать самоорганизующаяся карта кохонена (Self-organizing map — SOM) ? В данном случае меня
интересуют не картинки а именно выводы или заключения? Пример с Ирисами Фишера мне понятен. Это
визуальная классификация. Но мне нужно нечто большее. Например критерий близости. Тоесть
я хотел-бы глядя на SOM иметь утверждения что вектор V1 ближе к вектору V2 например чем вектор
V3. Или это невозможно?

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

Код: sql
1.
2.
3.
4.
vector[0] = {1.0, -1.0, 3.5, 0.1, ....... (здесь еще 50 коэффициентов) }
vector[1] = {....}
.....
vector[330000] = {...}



Как долго я буду тренировать SOM для достижения результата? Хватит ли у меня ресурсов?
Обязательно ли обучать по эпохам? Могу-ли я прервать и рестартонуть обучение если вижу
что есть какой-то недостаток у начального расклада? Например центры близких по принзакам
кластеров родились в дальних углах карты?

3) Какое количество кластеров максимально возможно?

4) Как сильно влияет начальный расклад (рандомные веса) на получаемый мной результат? Могу ли я искусственно
внести центры кластеризации если я заранее знаю или я заранее хочу получить притяжение векторов к известным
мне центрам?

5) Раскраска . Что брать в качестве цвета если у меня - порядка 40 центров кластеров? Я предполагал взять
формулу HSV и по цветовому тону (Hue) который меряется в 360 градусов поделить его на 40 и просто получить
360 / 40 = 9 градусов и по каждому углу использовать его цветовой тон. Насколько это будет удобно? Может
цвета будут такие близкие что неразличимы? И надо будет брать какую-то штриховку.

6) Связность соседних ячеек. Насколько важно делать хексагональные? Насколько я понял из статей
это важно для упрощения расчета ближних соседей. А если соседи дальние?

7) Библиотеки визуализации прямогуольных и гексагональных плиток. Я находил разные
примеры. Причем интересно что на JavaScript больше всего. Думаю что это тренд нашего времени - делать
инфографику на JS. Чтож. Я не против. Если вы - JS-кодер и знаете такую либу - прошу подсказать.
Вы сэкономите мне много времени.

8) Оптимизации . Нужны ли мне всегда double расчеты? Что паралеллится в потоках? Что SIMD-ится?

Приветсвуется.
- ваши алгоритмы и реализации в сорцах (бинари не надо!)
- примеры практического использования SOM вами

Не приветсвуются
- коробочные решения и готовые продукты. Мне их обсуждать не интересно т.к. не о чем говорить.
Я хотел-бы говорить об алгоритмах. В крайнем случае я готов принять их просто как пример
доказательства наличия какого-либо свойства у SOM.

Линки по теме

Их тыщи. Я давать не буду. Полезных мало. Как и в ГА во всех статьях просто описываются
общие рекоменадции. Но нет ничего конкретного. По всей видимости я буду искать литературу.
Может Саймон Хайкин об этоп писал?
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39966861
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
во-первых, зачем запихивать в пост закачку с десяток метров?

Теперь, за глубокой давностью чтения всего такого я только для затравки обозначу ИМХО по пунктам.
1) Используется для класификации чего-либо. Вот что можно с еёпомощью понастроить, для того и используется.
Метрика (близость векторов) какая подходит для задачи и какая для визуализации.

6) М.б. это визуальная близость наподобие нашего "по радиусу", сосед моего соседа и т.д.

5) На уровне средней интенсивности, цветовой охват (локус) самый широкий. 10град угол в целом читается,когда их немного как на сотовой картинке. Если вперемежку, возможны пограничные цветовые иллюзии,например с оппозитными цветами.
Если интенсивность повышать или понижать, локус сжтягивается в точку. Понятно. Ночью все кошки серы.

4) Заранее можно. Остальное моё оценочное: На сравнении с кластерным анализом и градиентными спусками. В любом случае ищется локальный минимум на пересечённой местности. Пока крутой спуск катимся быстро. И от нужной точности зависит тоже.

Вообще важно предусмотреть, чтобы поправки к весам не вводили систему в осцилирование.

П.С.
Вспоминаю, как у нас показывали на различении 5-10 стационарных кроликов, нарисованных на экране. Сетка приближалась десятками минут. На ПК АТ.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39966894
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98
mayton,
во-первых, зачем запихивать в пост закачку с десяток метров?


Где там десяток метров? Ну не знаю. Что у вас там. DSL-модем чтоли?

Теперь, за глубокой давностью чтения всего такого я только для затравки обозначу ИМХО по пунктам.
1) Используется для класификации чего-либо. Вот что можно с еёпомощью понастроить, для того и используется.
Метрика (близость векторов) какая подходит для задачи и какая для визуализации.

6) М.б. это визуальная близость наподобие нашего "по радиусу", сосед моего соседа и т.д.

Ну это сходу понятно. Классификация. Енот-полоскун из семейства енотовых.

Допустим у меня уже эта карта есть. Что еще кроме? Могу я сказать что енот ближе к собаке чем росомаха?
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39966895
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98

5) На уровне средней интенсивности, цветовой охват (локус) самый широкий. 10град угол в целом читается,когда их немного как на сотовой картинке. Если вперемежку, возможны пограничные цветовые иллюзии,например с оппозитными цветами.
Если интенсивность повышать или понижать, локус сжтягивается в точку. Понятно. Ночью все кошки серы.

Что это за термин такой локус ? Вроде как в математике я не слышал. Локальный максимум?

Да еще идея появилась. Кроме Hue, есть еще Saturation. Еще одно измерение. И если грамотно
его использовать у нас просто станет меньше системных цветов. Зато появятся более бледные
(дизайнерские цвета). И тогда плавный переход между двумя классами в SOM может быть обозначен
как гашение контраста.



И тогда можно делить 360 на 20 + еще 360 на 20 где saturation = 50% к примеру.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39966904
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98

Вообще важно предусмотреть, чтобы поправки к весам не вводили систему в осцилирование.

Дада. Хороший вопрос. Как подобрать такой набор коэффициентов.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39966918
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу оффлайн. Даже краткий просмотр кажный раз производит закачку, к-рую остановить проще всего разрывом связи.

Локус - термин "цветопространственный". А вот как раз в той книжечке Джадд, Вышецки ...
"Плоская территория" (или её граница) цветового охвата зрением ли, спектрофотометром ли ... Обычно на плоскости, где составляющая интенсивности==0. Форма зависит от системы цветовых координат.
Ни одна точка не спроецируется вне локуса.
Для РГБ - тот самый треугольник, перпендикулярный оси интенсивности.
Для человечьего зрения форма "полуовала", по краю к-рого "чистые" цвета отвечают нанометрам ~390-720.
S - это ползанье по оси интенсивностей. Имеем 3--хмерное яйцо. Чем выше, тем ярче, но и тем уже, горизонтальный срез яйца, локус. Аналогично вниз по оси. Самые насыщенные оттенки на уровне серой точки. Про эффекты среднего арифметического для неконтрастной системы координат я недавно писал.

aftarДада. Хороший вопросс. Как подобрать ...Х-ха! ИМХО это самое главное в модели, вот они, обратные распространения ошибок ... Вроде за это отвечает твоя программа, модифицирующая веса так, чтобы уменьшить суммарную неоптимальность.
Целился в левый глаз, попал в правый, надо подкрутить прицел - общий принцип таков. Без тензорных)) формул наверное никак.
Например пытаться обеспечить сходимость. В частном случае, последовательность сжимающих отображений сходится к единственной точке.
Пусть кто плотно этим занимался скажут.


aftarМогу я сказать что енот ближе к собаке чем россомаха?Глядя на векторы весов? Ах, вот для чего нужна близость векторов ...
Так, тихо! На картинке соты - что это, кластеры невронов сетки? Нужнен показометр карты сетки? Вообще-то я уже не помню, будут ли для Кохонена они разнесены пространственно как у Хопфилда?

Наверное это кластеры, классифицирующие объекты? Наши кролики были оттдельно сидящими невронами. Ну а для весов положено АПИ.
Показать 2-3 связи объектов на плоскости нетрудно. Что делать для Dim=N?
Ссвязи близости образуют типично не планарный граф. Их не всегда можно Архимедово расположить на плоскости, чтобы можно было линейкой измерить расстояние и сравнить.

Ага! теперь вопрос близости начинаю понимать о чём)) Ответ: теоретически можно, но надо придумывать в зависимости от задачи. Универсальная манхэттенская метрика будет лишь грубым приближением для этого.
И показометр может не отражать близость правильно. Т.е. я не уверен, что цветными кляксами можно наглядно показать близость всех со всеми. На графе кластеров если, да по графской метрике ...
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39966929
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98
Пишу оффлайн. Даже краткий просмотр кажный раз производит закачку, к-рую остановить проще всего разрывом связи.

Да. Я попрошу модератора удалить толстую .gif картинку с моего первого поста которая приводит
к проблемам у некоторых пользователей.

Спасибо.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39966996
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98
Глядя на векторы весов? Ах, вот для чего нужна близость векторов ...
Так, тихо! На картинке соты - что это, кластеры невронов сетки?

Нужнен показометр карты сетки? Вообще-то я уже не помню, будут ли для Кохонена они разнесены пространственно как у Хопфилда?


Дада. Хороший вопрос. Я почитаю насчет Хопфилда. Тоже не хватает знаний. Насколько я помню
Хопфилд - тоже учится без учителя и сводит векторы к ограниченному набору классов. Вроде
как - близко к SOM.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39967006
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте - более приближенный к реальности пример. Это то над чем я рассеянно думаю.

Социальная сеть sql.ru имеет профили мемберов. Они характерны распределением постов
по подфорумам. К примеру ваш покорный слуга постит в C++/Prog/Java примерно в равной
пропорции. Мехматовец и Усов - чисто Программинг. Мой вечный консультант по математике
дружище exp98 - имеет профиль на 50% программирование + еще несущественный сет
прочих интересов которые я поскипал.

Вот теперь вопрос. Я искусственно расставил центры кластеров Prog/FoxPro/C++/Java по углам.
Мне было так удобно. Теперь. Можно - ли переставлять местами плитки в процессе обучения
для достижения той самой "близости" например по Пифагорову расстоянию между векторами?
Тоесть предполагаем что те координаты измерений которые не были указаны - равны
вещестенному нулю.

В классическом Сом-е насколько я понимаю просто идет коррекция весов плиток но они при
этом - стационарны.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39967183
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я возьму паузу на подумать. Помимо другого на ходу впадаю в спячку, а мы ещё не жрамши. А сейчас немного о том, чтобы найти общий язык.
Собственно открытый вопрос. Насколько на выходе кластеры образуют геометрически компактные области?
В основном сейчас пишу, что понимаю я.
Низ рисунка нормальный. Вроде сеть Кохонена такова. Линейный слой входных векторов, к-рые надо классифицировать. Выходной слой 2-мерный - сетка невронов.
Но сеть пустая, её ещё нужно поучить разделению на группы. Нужна обучающая выборка векторов. Попутно в выходном слое формируются веса связей между невронами. Кто-то придумал для визуаилзации рисовать соты. Но надо, видимо ручками, связать то как сеть среагировала на выборку, образовав некие кластеры, с собственно смыслами, к-рые содержались в выборке.
После этого можно начать собственно классифкацию. Конкретнее сейчас не скажу.

В данном примере должно предполагаться, что обучение произведено и вх. вектора типа (10000) (01000)(00100)... дают на выходе центры в сотах Fox, Java .... Могут ли кластеры в сотах передвигаться? Но обычно из связей считают некую суммарную функцию типа динамического уравнения Гамильтона. Похоже, что надо близость по ней интерпретировать в виде близости по геометрии.
Но м.б. я и чушь написал. Надо подучить матчасть.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39967504
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую сам ответить на вопрос. Вобщем на слое SOM нет никаких мемберов.
Там - абстрактные нейроны которые взаимодействуют с соседями. Результатом
обучения будет являться низкочастотная поверхность признаков.

По сути центры кластеров будут экстремумами.

Далее. Если ее интерполировать я уже могу расставить векторы mayton, exp, DimaT
так как мне будет удобно но они не будут стоять точно на плитке. Скорее всего будут
лежать гдето на границе. И даже по несколько мемберов могут занимать одну материальную
точку этой SOM поверхности.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39967505
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В идеале центры я должен не расставлять мышкой а они должны образоваться из нейровов-победителей
которые под себя должны подстроить соседей.

Открытый вопрос остался для меня. Нет строгого условия единственности центра кластера. Как с этим быть?

Фиксить просто перезапуском обучения с новым seed-раскладом?
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39967549
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интерполирование обычных функций вида y=f(x) по Симпсону я делал.
А вот поверхность из гексагонов.... или треугольников.... Как?
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39968065
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНет строгого условия единственности центра кластера. Как с этим быть?Сэ ля ви. Это самоорганизация, детка.
Если конечно речь о непредсказуемости, а не о получении 2-х центров одномоментно.
Мне всё-таки непонятно как расположить на плоскости 5-6 геометрически равноудалённых точек.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39968069
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98
Мне всё-таки непонятно как расположить на плоскости 5-6 геометрически равноудалённых точек.

Ээээ... это моя постановка?
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39968380
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так явно нет,но мой вопрос закономерен после начального вопроса авторя хотел-бы глядя на SOM иметь утверждения что вектор V1 ближе к вектору V2 например чем вектор V3. и также если размерность входных векторов >2.

И к п.4 автор4) ...если я заранее знаю или я заранее хочу получить притяжение векторов к известным мне центрам? НА случай заранее известного кол-ва центров можно попытать радиально-базисную сетку. Правда подробности я не изучал.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39968622
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98
НА случай заранее известного кол-ва центров можно попытать радиально-базисную сетку. Правда подробности я не изучал.

Да про это тоже читал.

Из хороших новостей. Нашел у себя (!) книжку Роберт Каллан - Основные Концепции НС.
Хоть что-то цельное. Шрифт - ужасный. Иллюстрации и формулы еще хуже. Но пока для начала пойдет.
Главу - 3.2. Самоорганизующася карта признаков. я сфоткаю.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39968846
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему " карта признаков "? СОМ вроде для нейронов? а признаки - атрибут вх.данных. Или здесь признак==кластер?
И мы 11-мерные векторы схлопываем на 2мерную плоскость. Через посредство нейронов-преобразователей.
В общем-то можно. .Для этого нужна уверенность, что в данных огромная "схожесть". Но всё равно на 2Д тесно, чтобы близость большого кол-ва исходных кластеров иллюстрировать близостью нейронов на 2Д.
Вот этот момент больше всего интересует как описывают и чем мотивируют.
И где примеры графиков зависиомсти близости нейронов от близости исходных кластеов? - как выглядят эти "эллипсоиды рассеяния" ...
Об этом кто-нибудь пишет? Иначе все эти иллюстрации с СОМами для заманухи.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39968867
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98
Об этом кто-нибудь пишет? Иначе все эти иллюстрации с СОМами для заманухи.

Я сегодня отсканирую хотя-бы эту главу из Каллана.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39968870
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из хороших новостей. Пока субботний карантин продолжается я собрал обучающую выборку.

(Не вручную разумеется а роботом)

Вот наши ключевые поля векторов. Это наиболее известные мне никнеймы распределение
постов по форумам которых я примерно знаю и следовательно визуально могу проверить
корректность самого вывода SOM.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
dht=> select id,nickname,messages from member_info;
   id   |      nickname       | messages 
--------+---------------------+----------
  27971 | mayton              |    46816
  43489 | Dima T              |    14788
 111626 | exp98               |     2294
 142913 | ViPRos              |     9856
 251867 | полудух             |     1341
  95030 | booby               |     1952
 110363 | Basil A. Sidorov    |    10191
 263304 | Алексей Роза        |      208
  57183 | Изопропил           |    31469
 247232 | Gennadiy Usov       |     2140
 261581 | crutchmaster        |     1220
  49068 | Соколинский Борис   |    12557
   1350 | SergDanceHits       |      157
  97422 | hVostt              |    17541
  21430 | miksoft             |    38339
  88727 | mad_nazgul          |     5330
 252521 | Дмитрий Мух         |     3504
 223550 | Valentin Kolesnikov |     3289
 257822 | PetroNotC Sharp     |     4882
 132113 | Siemargl            |     6330
  19857 | softwarer           |    62140
  11587 | Leonid Kudryavtsev  |     8590
  22920 | MasterZiv           |    34592
 122827 | ZyK_BotaN           |   108604
 101262 | kealon(Ruslan)      |     5926
(25 rows)



И есть отдельно значения векторов. Они очень толстые и не помещаются на экран. Поэтому
я покажу только 3-4 штуки из них чтоб было ясно.

Код: sql
1.
2.
3.
4.
5.
6.
7.
   id   |                                                                                                                                                                                                                                                                                                         hist                                                                                                                                                                                                                                                                                                         
--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  27971 | {"148": 0.01, "149": 0.03, "150": 0.1, "151": 20.11, "152": 0.08, "153": 0.37, "154": 0.03, "155": 0.01, "156": 0, "157": 0.59, "158": 0.09, "159": 0.01, "160": 0, "161": 28.44, "162": 0.05, "163": 0.02, "164": 0.13, "165": 0.03, "166": 0.04, "167": 0.04, "168": 7.79, "169": 0.1, "170": 0.05, "171": 0.03, "172": 0.01, "173": 0, "174": 0.03, "175": 1.5, "176": 0.03, "177": 1.73, "178": 0.24, "179": 0.03, "180": 1.15, "181": 3.34, "182": 0.01, "183": 0, "184": 1.26, "185": 0, "186": 28.56, "187": 0.74, "188": 1.22, "189": 0.19, "190": 0.04, "191": 1.73, "192": 0.01, "193": 0.02, "194": 0.02}
  43489 | {"148": 0.76, "151": 22.63, "153": 0.16, "154": 0.02, "156": 39.55, "157": 0.01, "158": 0.01, "163": 0.01, "164": 2.07, "165": 0.06, "168": 0.01, "169": 0.05, "172": 1.04, "175": 0.16, "176": 0.02, "177": 1.91, "178": 7.25, "180": 3.01, "183": 0.02, "184": 0.13, "186": 20.95, "187": 0.02, "188": 0.08, "189": 0.02, "191": 0.02, "193": 0.01, "194": 0.02, "195": 0.01}
 111626 | {"149": 0.27, "151": 2.83, "153": 1.06, "156": 0.22, "158": 0.09, "161": 0.09, "162": 0.58, "163": 15.1, "167": 0.49, "168": 7.31, "169": 0.04, "173": 1.15, "174": 0.13, "176": 0.13, "177": 0.18, "178": 0.53, "179": 0.18, "180": 17.14, "183": 0.89, "184": 0.09, "186": 48.45, "188": 0.89, "189": 1.59, "193": 0.18, "196": 0.4}
 251867 | {"150": 0.97, "151": 32.59, "154": 0.3, "157": 0.97, "158": 2.54, "161": 2.09, "164": 0.07, "165": 3.36, "166": 0.07, "167": 0.07, "168": 0.37, "169": 8.5, "170": 5.44, "172": 0.22, "175": 1.19, "177": 0.15, "178": 0.15, "180": 5.37, "184": 0.37, "186": 11.11, "187": 8.05, "188": 12.53, "189": 1.94, "191": 0.22, "194": 0.07, "196": 1.27}
(4 rows)



И справочник ключей векторов. Я экономил место в базе и нормализовывал длинные названия форумов.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
 key |                         value                         
-----+-------------------------------------------------------
 148 | ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM
 149 | Android
 150 | ASP.NET
 151 | C++
 152 | Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M
 153 | Delphi
 154 | ERP и учетные системы
 155 | Firebird, InterBase
 156 | FoxPro, Visual FoxPro
 157 | Hardware
 158 | HTML, JavaScript, VBScript, CSS
 159 | IBM DB2, WebSphere, IMS, U2, etc
 160 | iOS
 161 | Java
 162 | Microsoft Access
 163 | Microsoft Office
 164 | Microsoft SQL Server
 165 | MySQL
 166 | NoSQL, Big Data
 167 | OLAP и DWH
 168 | Oracle
 169 | PHP, Perl, Python
 170 | PostgreSQL
 171 | PowerBuilder
 172 | SQLite
 173 | Sybase ASA, ASE, IQ
 174 | Test
 175 | Unix-системы
 176 | Visual Basic
 177 | Windows
 178 | WinForms, .Net Framework
 179 | XML, XSL, XPath, XQuery
 180 | Вопрос-Ответ
 181 | Другие СУБД
 182 | Другие: Mac OS, PalmOS, BeOS, PocketPC
 183 | Наши за рубежом
 184 | Обсуждение нашего сайта
 185 | Отчетные системы
 186 | Программирование
 187 | Проектирование БД
 188 | Работа
 189 | Разработка информационных систем
 190 | Разработка под мобильные платформы
 191 | Сравнение СУБД
 192 | Тестирование и QA
 193 | Управление процессом разработки ИС
 194 | Юридические вопросы в ИТ
 195 | 1С
 196 | Вакансии
 197 | WCF, Web Services, Remoting
 198 | WPF, Silverlight
 199 | Серверный JavaScript (node.js, ringo, nitro, sling)
 200 | Oracle Forms
 201 | IBExpert
 202 | Oracle APEX
 203 | Сертификация и обучение
 204 | Informix
 205 | SharePoint
 206 | Обсуждение рассылки



Вот к пример "161": 28.44 означает что я постил 28% сообщений из Java.

Если у какого-то мембера отсуствует кака-то пара "X" : Y то это означает что у него 0% постов в этом форуме.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39968920
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недостаточная выборка, в лучшем случае для Кохоннена кластеры будут Си-Программинг-ВопрОтвет-Дельфи-Оракл. Обучающую выборку рекомендуют в десятки раз больше. Во вх.данные надо элика включить, известный ник.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39968921
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98, это не проблема. Найду больше.

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

Тогда лопнет моя идея поискать схожие хромосомы. Или схожие сферы интересов.

P.S. Элик пойдет VIP-ом. Будет хардкодом зашит во все эксперименты. Равно как и я и еще штук 10 чел.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39969002
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подсобрал чуть больше векторов (щас уже более 500). Публикую здесь для статистики просто фрагмент.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
2027 | {"164": 100}
   2022 | {}
   2028 | {"164": 100}
   2021 | {}
   2024 | {"153": 30, "155": 30, "164": 40}
   2020 | {"164": 100}
   2025 | {}
   2023 | {}
   2026 | {"164": 100}
   2033 | {"153": 0.19, "168": 98.85, "175": 0.38, "184": 0.58}
   2031 | {"164": 100}
   2038 | {"164": 100}
   2032 | {"164": 100}
   2039 | {}
   2035 | {"164": 100}
   2037 | {}
   2030 | {"162": 28.57, "180": 71.43}
   2034 | {"164": 100}
   2036 | {"164": 100}
   2046 | {"188": 25, "196": 75}
   2045 | {"168": 93.33, "181": 6.67}
   2043 | {"180": 100}
   2042 | {}
   2116 | {"153": 100}
   2117 | {"164": 95.45, "165": 4.55}
   2114 | {"162": 4.55, "164": 95.45}
   2113 | {}
   2119 | {}
   2129 | {"164": 100}
   2128 | {"153": 1.82, "164": 32.73, "165": 1.82, "186": 63.64}
   2120 | {"164": 100}
   2124 | {"158": 14.29, "164": 28.57, "165": 14.29, "169": 42.86}
   2127 | {"173": 100}
   2121 | {}
   2125 | {"164": 100}
   2126 | {"191": 100}
   2135 | {"164": 100}
   2133 | {}
   2137 | {"164": 66.67, "165": 4.76, "167": 28.57}
   2138 | {"164": 100}
   2130 | {"164": 100}
   2132 | {"164": 100}
   2136 | {"162": 7.89, "163": 0.88, "168": 87.72, "195": 0.88, "200": 2.63}
   2131 | {"162": 100}
   2142 | {"164": 100}
   2147 | {"162": 40, "164": 60}
   1397 | {"162": 33.33, "164": 66.67}
   1399 | {"164": 100}
   1396 | {}
   1404 | {"164": 100}
   1407 | {"164": 100}



Как видно часть мемберов - вообще не постили ничего. И часть - постили в 1 форум.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39969081
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понял. Я немножко не совсем корректно (не-репрезентативно собираю сведенья).

Самые ранние members начинаются где-то с id > 1000. Я по ним иду. Они датируются датой
регистрации примерно 2004 год. На этот момент скруль еще не был развит как много-профильный
и как следствие я получаю искаженную выборку где например подфорум MS-SQL преобладает.

И неудивительно.

Тоесть моя стратегия собирать по счетчику id в корне неверная. Нужен некий random shuffle
всех id-шников от 1000 примерно до 250_000 (это примерное количество зареганных ников
на данный момент).

Воооот. Что еще посчитать? Наверное количество полосок гистограмм по годам с 2004 до 2021.
Я думаю что в 2010 форум уже насытился и приобрёл нужное число подфорумов до такого
уровня чтобы уже было репрезентативно.

Что еще? Ну какой-то процентиль могу посчитать теперь. 95% мемберов имеют количество
посещаемых подфорумов не менее..... и т.д.
...
Рейтинг: 0 / 0
Воскресный SOM и классификация векторов
    #39969139
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подсобрал еще немного в режиме random-shuffle. Старые данные я не удалял а просто делал merge.

Вот так вышло. 1200 учебных векторов. Колонка справа cnt_hist это количество полосок гистограммы.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
   id   |           nickname           | messages |     registered      |     last_update     | cnt_hist 
--------+------------------------------+----------+---------------------+---------------------+----------
 122827 | ZyK_BotaN                    |   108611 | 2009-03-19 00:00:00 | 2020-06-15 00:00:00 |       18
   1740 | Glory                        |   104760 |                     |                     |       34
  19857 | softwarer                    |    62151 | 2004-03-10 00:00:00 | 2020-06-14 00:00:00 |       34
   2262 | locky                        |    62034 |                     |                     |       33
  30055 | Гаджимурадов Рустам          |    61439 | 2004-10-30 00:00:00 | 2020-06-12 00:00:00 |       17
  27971 | mayton                       |    46858 | 2004-09-18 00:00:00 | 2020-06-15 00:00:00 |       47
  21430 | miksoft                      |    38344 | 2004-04-13 00:00:00 | 2020-06-14 00:00:00 |       41
   4313 | tchingiz                     |    36801 | 2002-10-29 00:00:00 | 2020-06-15 00:00:00 |       35
  22920 | MasterZiv                    |    34592 | 2004-05-19 00:00:00 | 2020-06-11 00:00:00 |       47
  57183 | Изопропил                    |    31470 | 2006-04-22 00:00:00 | 2020-06-14 00:00:00 |       31
  24806 | Elic                         |    29821 | 2004-07-05 00:00:00 | 2020-05-14 00:00:00 |       14
  16348 | Гусена                       |    26841 | 2003-12-04 00:00:00 | 2017-03-06 00:00:00 |        8
  27590 | tru55                        |    19784 | 2004-09-09 00:00:00 | 2020-06-09 00:00:00 |       33
   4045 | hDrummer                     |    18227 | 2002-10-17 00:00:00 | 2018-07-01 00:00:00 |       31
  97422 | hVostt                       |    17541 | 2007-12-17 00:00:00 | 2020-06-13 00:00:00 |       28
  43489 | Dima T                       |    14789 | 2005-08-23 00:00:00 | 2020-06-14 00:00:00 |       28
  49068 | Соколинский Борис            |    12557 | 2005-12-03 00:00:00 | 2020-06-11 00:00:00 |        9
   1533 | ChA                          |    10994 |                     |                     |       14
  46017 | MsDatabaseru                 |    10937 | 2005-10-10 00:00:00 | 2019-10-04 00:00:00 |       23
 110363 | Basil A. Sidorov             |    10192 | 2008-08-06 00:00:00 | 2020-06-14 00:00:00 |       17
   1464 | tygra                        |     9998 |                     |                     |       20
   9662 | SY                           |     9881 | 2003-05-29 00:00:00 | 2020-06-14 00:00:00 |        3
 142913 | ViPRos                       |     9856 | 2010-05-12 00:00:00 | 2020-06-13 00:00:00 |       23
  11587 | Leonid Kudryavtsev           |     8590 | 2003-07-29 00:00:00 | 2020-06-13 00:00:00 |       37
   1978 | ВладимирМ                    |     7854 |                     |                     |       10
  94564 | suPPLer                      |     7794 | 2007-10-31 00:00:00 | 2017-06-14 00:00:00 |       16
 132113 | Siemargl                     |     6330 | 2009-09-24 00:00:00 | 2019-12-05 00:00:00 |       49
   2206 | ASCRUS                       |     5994 |                     |                     |       35
 101262 | kealon(Ruslan)               |     5926 | 2008-02-20 00:00:00 | 2020-06-09 00:00:00 |       32
 146456 | xtender                      |     5456 | 2010-07-29 00:00:00 | 2020-06-12 00:00:00 |       14
  88727 | mad_nazgul                   |     5330 | 2007-07-28 00:00:00 | 2020-06-12 00:00:00 |       21
   2436 | Зайцев Фёдор                 |     5308 | 2002-07-17 00:00:00 | 2015-11-13 00:00:00 |       15
 257822 | PetroNotC Sharp              |     4891 | 2019-05-31 00:00:00 | 2020-06-14 00:00:00 |        7
   2188 | AAron                        |     4324 |                     |                     |       18
 145849 | Roman Mejtes                 |     3837 | 2010-07-15 00:00:00 | 2020-06-14 00:00:00 |       25
   2186 | ziktuw                       |     3552 |                     |                     |       22
  10469 | arni                         |     3544 | 2003-06-24 00:00:00 | 2019-10-23 00:00:00 |       20
 252521 | Дмитрий Мух                  |     3505 | 2018-09-03 00:00:00 | 2020-06-14 00:00:00 |       30
 223550 | Valentin Kolesnikov          |     3291 | 2015-06-19 00:00:00 | 2020-06-14 00:00:00 |       19
   2354 | Jimmy                        |     3136 | 2002-07-11 00:00:00 | 2009-09-03 00:00:00 |       19
   1775 | ЗоринАндрей                  |     3004 |                     |                     |       11
   1626 | Tosh                         |     2956 |                     |                     |       22
   7389 | AI                           |     2817 | 2003-03-10 00:00:00 | 2020-05-14 00:00:00 |       11
   2406 | Евгений Фадеев               |     2375 | 2002-07-16 00:00:00 | 2016-05-04 00:00:00 |        9
 111626 | exp98                        |     2295 | 2008-09-01 00:00:00 | 2020-06-14 00:00:00 |       25
   1558 | saint                        |     2262 |                     |                     |       17
 247232 | Gennadiy Usov                |     2140 | 2018-01-28 00:00:00 | 2020-06-13 00:00:00 |        1
   2435 | MiCe                         |     1996 | 2002-07-17 00:00:00 | 2013-03-03 00:00:00 |       11
  95030 | booby                        |     1953 | 2007-11-08 00:00:00 | 2020-06-15 00:00:00 |       21



Думаю этого достаточно пока.
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Воскресный SOM и классификация векторов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]