2017-01-18 4 views
0

Недавно я начал с машинного обучения. Я хочу создать модель машинного обучения для системы обнаружения пожара в режиме реального времени. Входные данные - это экологические функции, а выходные данные - возможность огня. Когда Time = 0, мы устанавливаем огонь. Так, например:Как создать модель машинного обучения для системы обнаружения пожара?

Time Temperature CO CO2 ... ... Fire_Possibility 
    -20 20   ** **   Low 
    -15 21   ** **   Low 
    -10 19   ** **   Low 
    -5 20   ** **   Low 
    0 22   ** **   Med 
    5 25   ** **   Med 
    10 27   ** **   High 
    15 31   ** **   High 
    ... ... 
    ... ... 

Я пытаюсь обучить нейронную сеть с Weka, так что для каждого момента, рассчитать скорость изменения и относительное значение для каждого атрибута, а затем обучить модель, как это:

Time Tem_Rate_of_change  Tem_Relative_value CO CO2 ... ... Fire_Possibility 
    -20 0      0     ** **   Low 
    -15 1      1     ** **   Low 
    -10 -2      -1     ** **   Low 
    -5 1      0     ** **   Low 
    0 2      2     ** **   Med 
    5 3      5     ** **   Med 
    10 2      7     ** **   High 
    15 4      11     ** **   High 
    ... ... 
    ... ... 

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

ответ

1

В вашем случае, я думаю, что вам нужно сделать, по крайней мере 3 вещи:

  • Feature инжиниринг: тщательно разработать набор функций inclusing выбора соответствующих функций на основе данных, создания деривата функции, отбрасывая не (например, я думаю, что ваше текущее время не является релевантной функцией, или есть математическое соотношение/корреляция между возможностью времени и огня?). Для этого вы можете получить помощь от алгоритмов выбора и пакетов.
  • Выполните «Диагностика машинного обучения» и изучите кривые построения: это поможет вам определить, есть ли у вас подфармирование, переобучение и в зависимости от ваших результатов. Определите свое следующее действие (директива в зависимости от случая).
  • Выполните анализ ошибок: проанализируйте некоторые примеры мискассификации и проверить, являются ли в них шаблон или общее поведение, классифицируйте их и думайте в действиях, которые могли бы помочь улучшить классификацию.

И еще один совет: вместо того, чтобы попробовать класс 3 класса, попробуйте двоичный классификатор и получите реальное число от 0 до 1, представляющее вероятность возникновения пожара.

Смежные вопросы