2014-04-25 3 views
1

일련의 연속 데이터를 분류하기 위해 반복적 인 신경망을 사용하려고합니다. 좀 더 구체적으로 말하자면, 나는 센서로부터 읽는 시퀀스 (시간이 연속적이다)를 가지고 있는데, 나는이 패턴과 관련된 상태를 탐지 할 수있는 판독 값의 변화를 보는 알고리즘을 배워야한다.Pybrain을 사용한 시퀀스 패턴 인식

예 :

step_1 시간 : 1.4

시간 step_2 1

시차 _3 0.8

상태 = 걷기. 새 시퀀스 :

시간 1 단계 : 0.4

시간 2 단계 : 0.3

시간 3 단계 : 0.1

주 = 내가, 내가 실제로 12 개 센서가

앉아 편의상 일련의 숫자 만 표시합니다. (숫자는 실제가 아닙니다. 저는 그 아이디어를 알기 위해 노력하고 있습니다)!

Pybrain RNN으로 네트워크를 구축하려고하지만, 그런 종류의 정보를 감지 할 수있는 데이터 세트 컨테이너를 찾을 수 없습니다. SequentialData를 사용해 보았습니다.하지만 몇 가지 테스트를 한 후에는 무엇을 배웠는지를 숫자 시퀀스의 다음 요소로 알 수 있습니다. 여기에 내가 내 데이터 집합을 구축하는 방법 :

self.alldata = SequentialDataSet(ds.num_features, 1) 
# Now add the samples to the data set. 
idx = 1 
self.alldata.newSequence() 
for sample in ds.all_moves: 
    self.alldata.addSample(sample.get_features(), [ds.get_classes().index(sample.class_)]) 
    idx += 1 
    if (idx%6 == 0): #I want every 6 consecutive readings at a time 
    pdb.set_trace() 
    self.alldata.newSequence() 


self.tstdata, self.trndata = self.alldata.splitWithProportion(0.25) 

내가 다른이 할 수있는 방법에 대한 아이디어를 Pybrain 거래 어쨌든 분류 이런 종류의 문제로합니까?

답변

1

당신은이 전략을 구현할 수

해결책 : enter image description here

당신은 아마 12 개 센서 입력, 시간 단계의 t-1에서 분류를 나타내는 하나 개의 추가 입력을해야한다. 4 개의 입력 만 보여줌으로써 도면을 단순화했습니다.