syoma 1 30 октября, 2016 Опубликовано 30 октября, 2016 · Жалоба Народ подскажите, есть ли какие либо алгоритмы или как реализовать такое. Например человек периодически делает какое-то определенное действие - например, включает и выключает свет. Выполнение/невыполнение этого действия, а также конкретный момент зависит от определенных факторов - дня недели, времени суток, состояния погоды. В общем случае известно какие факторы влияют на принятие решения, но неизвестно каким именно образом они влияют на принятие решения. Собственно вопрос в том, что можно, конечно, изучить поведение человека и на основе этого найти условия и на основе этих условий создать алгоритм, но это требует ручной анализ и не будет адаптивным. С другой стороны есть месяцы наблюдений за этим процессом и вся информация записана в виде логов. Т.е. когда был включен свет, какая тогда была погода, день недели, что произошло до этого и т.д. И поэтому хотелось бы придумать такой алгоритм, которому бы на вход подавались данные факторы, затем он обучался бы на исторических данных и в конце концов мог бы предсказывать момент включения/отключения света с определенной долей вероятности. Желательно высокой. Т.е. фактически нашел нужные условия сам. И в конце концов мог заменить человека. Я так понимаю, это связано с нейросетями, но сам с ними не знаком. Мне кажется эта задача должна сравнительно легко решаться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
count_enable 0 30 октября, 2016 Опубликовано 30 октября, 2016 · Жалоба Почитайте статьи известного Geohot'a. Он добился значительного успеха в создании автопилота, обучая нейронку на примере своей езды. Сеть "смотрит" сенсорами и пытается уловить закономерности, почему живой водитель ведёт себя так или иначе. Для временных сценариев отлично подходят рекуррентные НС. Это стандартный метод анализа и прогнозирования временных рядов, машинного перевода, генерации текстов. Готовые библиотеки есть в матлабе - вообще можно всё кликая мышкой сделать, или использовать популярные сейчас Caffe/Theano. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 30 октября, 2016 Опубликовано 30 октября, 2016 · Жалоба Я так понимаю, это связано с нейросетями, Не обязательно. Есть нечеткая логика ("Fuzzy logic"). Придумана и обоснована моим земляком Лотфи Заде (Lotfi Askar Zadeh). P.S. "Предметом нечёткой логики считается исследование рассуждений в условиях нечёткости, размытости, сходных с рассуждениями в обычном смысле, и их применение в вычислительных системах" В целом же, посмотрите сколько "на коленках" придумано методов принятия решений для систем поддержки принятия решений (Decision Support System, DSS): - информационный поиск; - интеллектуальный анализ данных; - поиск знаний в базах данных; - рассуждение на основе прецедентов; - имитационное моделирование; - эволюционные вычисления и генетические алгоритмы; - нейронные сети; - ситуационный анализ; - когнитивное моделирование; - нечеткая логика; - др. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tujhjd1980 0 11 ноября, 2016 Опубликовано 11 ноября, 2016 · Жалоба Ну как бы я б глядел в сторону Python. Библиотека sklearn. Втупую - решающие деревья попробовать бы попробовал. Может и пойдет такая модель. Ествественно зависит от объема данных обучающих. https://habrahabr.ru/post/202090/ - для понимания примерного. Но в этой библиотеке есть все инструменты, надо только научиться ими пользоваться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 11 ноября, 2016 Опубликовано 11 ноября, 2016 · Жалоба Ну как бы я б глядел в сторону Python. Библиотека sklearn. Втупую - решающие деревья попробовать бы попробовал. Может и пойдет такая модель. Ествественно зависит от объема данных обучающих. https://habrahabr.ru/post/202090/ - для понимания примерного. Но в этой библиотеке есть все инструменты, надо только научиться ими пользоваться. Спасибо. Но вот я чего не понимаю - в статье описывается статистика и алгоритмы, направленные на то, чтобы найти корреляцию между различными признаками, без объяснения почему они вдруг влияют на результат. Это понятно. Например задача по Титанику - есть результат и признаки, без объяснения зависимостей. Но у меня на входе - временные данные. Т.е. в общем случае это лог-файл. Получается, чтобы их обработать алгоритмом, мне нужно их перевести в какой-то другой формат, аналогичный указанному в статье. Вопрос как это сделать, если важно не столько выполнение/невыполнение события (аналогично с примером из Титаника можно считать включение/невключение света как спасся/не спасся). Но как быть с моментом времени для этого события? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 11 ноября, 2016 Опубликовано 11 ноября, 2016 · Жалоба Но как быть с моментом времени для этого события? Времена года (зима, осень, весна, лето); время суток (утро, полдень, вечер, ночь); погода ( безоблачно, облачно, туман, дождь, снег..) и т.д. Т.е. сделать кластеризацию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tujhjd1980 0 21 ноября, 2016 Опубликовано 21 ноября, 2016 · Жалоба Спасибо. Но вот я чего не понимаю - в статье описывается статистика и алгоритмы, направленные на то, чтобы найти корреляцию между различными признаками, без объяснения почему они вдруг влияют на результат. Это понятно. Например задача по Титанику - есть результат и признаки, без объяснения зависимостей. Но у меня на входе - временные данные. Т.е. в общем случае это лог-файл. Получается, чтобы их обработать алгоритмом, мне нужно их перевести в какой-то другой формат, аналогичный указанному в статье. Вопрос как это сделать, если важно не столько выполнение/невыполнение события (аналогично с примером из Титаника можно считать включение/невключение света как спасся/не спасся). Но как быть с моментом времени для этого события? А временной момент вам действительно нужен? Может он вообще никак не влияет? А если нужен - ну ок, правильно выше написали, отнесите конкретное значение времени к одному из классов. Типа - утро, день, вечер, ночь. ДАлее - можете уточнять (раннее утро, утро, позднее утро и т.д.). Это не суть. Важнее понять как эту всю информацию использовать в дальнейшем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
enclis_ 0 14 декабря, 2016 Опубликовано 14 декабря, 2016 · Жалоба Не обязательно. Есть нечеткая логика ("Fuzzy logic") ... Нейронные сети в каком-то смысле есть обобщение нечёткой логики и систем принятия решений. В общем случае нейронные сети работают лучше чем нечёткая логика. Но как быть с моментом времени для этого события? Вам уже написали, что здесь наверное подойдут рекуррентные нейронные сети (LSTM, GRU итд). Для анализа временных рядов можно также попробовать сверточные нейронные сети. Если втупую бустинг, деревья или нейронные сети не дают требуемой точности, то надо смотреть какие признаки больше влияют на результат и отбрасывать те, которые почти не влияют на него. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 16 декабря, 2016 Опубликовано 16 декабря, 2016 · Жалоба Если втупую .. Топику стоит выложить часть логов и задачу в целом - это многим интересно и ожидаются бесплатные подсказки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Топику стоит выложить часть логов и задачу в целом - это многим интересно и ожидаются бесплатные подсказки. Да логи есть любые. Например, вот лог от датчика освещения, датчика движения и состояния диммера в различное время суток(утром, днем, вечером): 10/10/16 07:17:03.234 /myhome/state/Lumin_Hall 9 10/10/16 07:18:03.239 /myhome/state/Lumin_Hall 9 10/10/16 07:19:03.250 /myhome/state/Lumin_Hall 10 10/10/16 07:19:12.732 /myhome/state/Hall_motion OPEN 10/10/16 07:19:12.745 /myhome/command/Light_Hall/state 25 10/10/16 07:19:19.330 /myhome/state/Hall_motion CLOSED 10/10/16 07:19:32.358 /myhome/command/Light_Hall/state 0 10/10/16 07:20:03.240 /myhome/state/Lumin_Hall 10 10/10/16 07:20:45.698 /myhome/state/Hall_motion OPEN 10/10/16 07:20:45.714 /myhome/command/Light_Hall/state 25 10/10/16 07:20:56.337 /myhome/state/Hall_motion CLOSED ... 10/09/16 15:14:14.743 /myhome/state/Lumin_Hall 1000 10/09/16 15:15:14.803 /myhome/state/Lumin_Hall 1000 10/09/16 15:16:14.884 /myhome/state/Lumin_Hall 1000 10/09/16 15:16:26.837 /myhome/state/Hall_motion OPEN 10/09/16 15:16:33.975 /myhome/state/Hall_motion CLOSED 10/09/16 15:16:36.948 /myhome/state/Hall_motion OPEN 10/09/16 15:16:47.991 /myhome/state/Hall_motion CLOSED 10/09/16 15:16:51.524 /myhome/state/Hall_motion OPEN 10/09/16 15:16:55.989 /myhome/state/Hall_motion CLOSED 10/09/16 15:17:14.917 /myhome/state/Lumin_Hall 1000 10/09/16 15:18:14.979 /myhome/state/Lumin_Hall 1000 10/09/16 15:19:15.043 /myhome/state/Lumin_Hall 1000 10/09/16 15:19:23.918 /myhome/state/Hall_motion OPEN 10/09/16 15:19:35.155 /myhome/state/Hall_motion CLOSED 10/09/16 15:19:37.060 /myhome/state/Hall_motion OPEN 10/09/16 15:19:51.172 /myhome/state/Hall_motion CLOSED 10/09/16 15:20:03.101 /myhome/state/Hall_motion OPEN 10/09/16 15:20:11.197 /myhome/state/Hall_motion CLOSED 10/09/16 15:20:15.103 /myhome/state/Lumin_Hall 1000 ... 10/08/16 19:56:23.492 /myhome/state/Lumin_Hall 15 10/08/16 19:57:23.480 /myhome/state/Lumin_Hall 12 10/08/16 19:58:23.480 /myhome/state/Lumin_Hall 11 10/08/16 19:59:23.477 /myhome/state/Lumin_Hall 15 10/08/16 19:59:58.442 /myhome/state/Hall_motion OPEN 10/08/16 19:59:58.458 /myhome/command/Light_Hall/state 100 10/08/16 20:00:02.684 /myhome/state/Hall_motion CLOSED 10/08/16 20:00:15.699 /myhome/command/Light_Hall/state 0 10/08/16 20:00:23.477 /myhome/state/Lumin_Hall 11 10/08/16 20:00:26.161 /myhome/state/Hall_motion OPEN 10/08/16 20:00:26.175 /myhome/command/Light_Hall/state 100 10/08/16 20:00:30.699 /myhome/state/Hall_motion CLOSED 10/08/16 20:00:41.180 /myhome/state/Hall_motion OPEN 10/08/16 20:00:41.194 /myhome/command/Light_Hall/state 100 10/08/16 20:00:47.696 /myhome/state/Hall_motion CLOSED 10/08/16 20:00:50.205 /myhome/state/Hall_motion OPEN 10/08/16 20:00:50.226 /myhome/command/Light_Hall/state 100 10/08/16 20:00:55.696 /myhome/state/Hall_motion CLOSED Lumin_Hall - текущая освещенность - <20 - это темно, 1000 - это день. Hall_motion - датчик движения в коридоре Open - движение есть, Close нет. Light_Hall/state - состояние светильника 100 - максимальная яркость, 25 - низкая яркость, 0 - выключен. Такие логи есть по многим параметрам - температура на улице, статистика включения света на кухне, в туалете, управление жалюзями и т.д. Запись логов ведется круглосуточна и будет доступна за года и месяцы. Вопрос - как с помощью машинного обучения из этих логов выделить закономерности, что Темно -> Вечер -> Есть движение -> Включили свет на полную, но в то же время Темно -> Утро -> Есть движение -> Включили свет на минимум, а днем вообще свет не включается? Т.е. чтобы после того, как закономерности найдены, полученный алгоритм мог бы сам управлять светом без ручного программирования алгоритма управления (как собственно обычно сегодня реализуется в системах УД). Т.е. как бы вырисовывается такая концепция обучения умного дома: - ставим умный дом и датчики, выясняем у жильцов, что им примерно хочется. - включаем нужные модули в режим обучения, ждем, пока не соберется нужно количество данных, пока пользователи продолжают все делать вручную - т. е. изучаем привычки пользователей. - переключаем модули в режим исполнения. Оставляем пользователям кнут и пряник для дальнейшего самообучения - если свет вдруг включился, когда не нужно, или наоборот не включился когда нужно, пользователь должен иметь возможность указать контроллеру на ошибку, а контроллер уточнить входные данные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
count_enable 0 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Вообще не понимаю зачем здесь какое-то машинное обучение. Базовый набор правил, задаваемый примитивным конечным автоматом. Есть движение - включаем свет пропорционально уровню освещенности. Какой другой сценарий предполагается? Светить, когда никого нет каждую Пятницу, 13? В День Земли вырубать всю РЭА на территории? Если человек вошел два раза и вышел на протяжении одной минуты, начать моргать морзянкой "Нефиг шляться, человечишко"? Кажется кто-то стреляет даже не из пушки, а из ЗРК по воробьям и пытается допилить радар чтобы ракеты наводились на птичек, а не самолёты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Кажется кто-то стреляет даже не из пушки, а из ЗРК по воробьям и пытается допилить радар чтобы ракеты наводились на птичек, а не самолёты. В этом-то и смысл - современный смартфоновый процессор в 1000 раз мощнее обычного восьмибитника. Почему-бы не использовать это преимущество? Вообще не понимаю зачем здесь какое-то машинное обучение. Базовый набор правил, задаваемый примитивным конечным автоматом. Есть движение - включаем свет пропорционально уровню освещенности. Конечно можно решить автоматом, как оно собственно и решено в тех логах. Но для этого нужно данный алгоритм разработать и настроить. А это первая проблема - вот не хочу я заниматься программированием каждого чиха в том числе и таких простых вещей. А хочу, чтобы один или два раза показал, и робот, как слуга начал повторять и с каждым разом все лучше и лучше. Весь смысл в том, чтобы убрать программирование. Вообще. И пусть для этого хоть триллион вычислений понадобится - компьютерное время сейчас дешевое. Какой другой сценарий предполагается? Светить, когда никого нет каждую Пятницу, 13? В День Земли вырубать всю РЭА на территории? Если человек вошел два раза и вышел на протяжении одной минуты, начать моргать морзянкой "Нефиг шляться, человечишко"? А я не знаю и не хочу знать, какие сценарии предполагаются. Вот такие требования. Кто-то хочет поярче, кто-то потемнее. У кого-то глаза чувствительные, у кого-то нет. Кому-то надо поспать, кто-то рано встает. Кто-то включает свет и вечером и утром, а кто-то только вечером. Или только утром. Сценарии могут быть разные, но решение - одинаковым. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба С учетом того, что энергосберегайки (разные) не допукают диммирования - это вообще все туфта. Регулировать количеством? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба С учетом того, что энергосберегайки (разные) не допукают диммирования - это вообще все туфта. Регулировать количеством? Есть LED, которые прекрасно диммируются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость TSerg 19 декабря, 2016 Опубликовано 19 декабря, 2016 · Жалоба Есть LED, которые прекрасно диммируются. Ну да, если это не просто стандартная LED лампочка. В общем случае, задача не решается. В один и тот же коридор входят по-очереди: - нормальный чел; - чел в инвалидной коляске; - чел с пониженным зрением - чел на костылях с пониженным зрением и т.д. И хто будет их желания распознавать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться