2017-05-02 1 views
0

Keras를 사용하여 심층적 인 학습을 기반으로 침입 탐지 시스템을 개발하려고합니다.Keras의 숫자 데이터 집합에 Autoencoder 사용

우리는 정상적인 네트워크 트래픽을 시뮬레이션했으며 CSV 파일 (네트워크 패킷 필드 (IP 소스, 포트 등)의 숫자 데이터 세트)로 준비했습니다. 하지만 신경망을 훈련시키는 비정상적인 (악의적 인) 패킷이 없습니다.

그런 문제를 조사한 결과 Autoencoder가 자율 학습에 좋은 접근 방법이라는 것을 알았지 만 그 점은 내가 깊은 학습에 익숙하지 않은 것이고이 예제는 이미지 데이터 세트에 Autoencoder를 사용하는 https://blog.keras.io/building-autoencoders-in-keras.html이라는 것을 발견했습니다. .

들어오는 패킷이 정상인지 또는 악의적인지 예측하기 위해 Autoencoder (또는 필자의 경우 유용)를 숫자 CSV 데이터 세트와 함께 사용하고 싶습니다.

권장 사항은 무엇입니까?

당신은 예를 들어, 사용하여 파이썬으로 숫자 데이터 집합을로드 할 수

+0

어떤 권장 사항을 원하십니까? 이미지는 수치 데이터이므로 제공하는 링크의 예가 적합합니다. 이 [블로그 게시물] (http://wiseodd.github.io/techblog/2016/12/10/variational-autoencoder/)을 통해 올바른 코스를 찾을 수 있습니다. Keas 2 이전 일임을 알고 있어야합니다. – dhinckley

+0

위의 링크는 처음 몇 줄의 코드에서 'encoding_dim'이라는 용어, 인코딩 차원은 무엇이며 내 데이터 집합의 적절한 인코딩 희미한 점을 어떻게 계산할 수 있습니까? @ 단 힌 클리 –

답변

0

나는 답을 발견했다 numpy 텍스트를로드하십시오. 그런 다음 엔코더 및 디코더 네트워크를 지정합니다 (기본적으로 Keras 레이어 모듈을 사용하여 신경 네트워크를 설계합니다). 인코더의 입력 레이어가 데이터를 허용하고 디코더의 출력 레이어가 동일한 차원인지 확인하십시오. 그런 다음 Keras 손실로 적절한 손실 함수 (최소 제곱, 크로스 엔트로피 등)를 다시 지정하십시오. 마지막으로, (깜짝!) Keras 옵티 마이저로 옵티 마이저를 지정하십시오.

그게 다! '실행'을 누르고 autoencoder 자동 인코딩을 봅니다 (자동 인코딩이 수행하는 방식이기 때문에). 이것을 구성하는 방법에 대한 훌륭한 자습서가 필요한 경우

관련 문제