기본 콘텐츠로 건너뛰기

신경망 with [개발자를 위한 머신러닝] (2/2)

신경망

2. 단층 및 다층 퍼셉트론

  • 네트워크는 입력층, 은닉층, 출력층 방향으로 연결되어 있음
  • 각 층내의 연결과 출력층에서 입력층으로의 직접적인 연결은 존재하지 않는 전방향 (Feedforward) 네트워크
  • 역전파 방법을 사용해 가중치를 조정

전방향(Feedforward) 신경망

  • 일반적으로 인공신경망은 다층 퍼셉트론을 의미
  • 피드포워드 신경망(FNN: Feedforward Neural Network)이라고도 함
  • 은닉층이 늘어날수록 계산량이 증가
  • 일반적으로 역전파 알고리즘을 사용하여 학습

역전파

예측된 결과와 실제값의 차이인 에러의 역전파를 통해 가중치를 구함

  1. 피드포워드 과정 실행
  2. 에러의 역전파 계산
  3. 가중치 조정 
역전파 구조의 순서도
신경망에서 다룰수 있는 문제의 유형
  • 회귀 문제와 분류 문제에 모두 사용 가능
  • 회귀/함수 근사 문제
  • 분류 문제(2개의 클래스, 1개의 출력)
  • 분류 문제(다중 클래스, 클래스당 하나의 출력)

단층 퍼셉트론 예제 코드

참고










댓글

이 블로그의 인기 게시물

Message Queue 란 무엇인가

Message Queue 란 무엇인가?? 메시지 지향 미들웨어(Meesage Oriented Middleware: MOM)은 비동기 메시지를 사용하는 다른 응용 프로그램 사이에서 데이터 송수신을 의미 MOM을 구현한 시스템을 메시지 큐(MessageQueue: MQ)라 함 Producer(sender) 가 메시지를 큐에 전송하면 Consumer(receiver) 가 처리하는 방식으로, producer 와 consumer 에 message 프로세스가 추가되는 것이 특징 메시지 큐의 장점 비동기(Asynchronous): Queue에 넣기 때문에 나중에 처리할 수 있습니다. 비동조(Decoupling): 애츨리케이션과 분리할 수 있습니다. 탄력성(Resilience): 일부가 실패 시 전체에 영향을 받지 않습니다. 과잉(Redundancy): 실패할 경우 재실행 가능합니다. 보증(Guarantees): 작업이 처리된걸 확인할 수 있습니다. 확장성(Scalable): 다수의 프로세스들이 큐에 메시지를 보낼 수 있습니다. 메시지 큐 종류 Apache ActiveMQ, Apache Kafka, Apache Qpid, Apache RocketMQ, Beanstalkd, Enduro/X, HTTPSQS, JBoss Messaging, JORAM, RabbitMQ, Sun Open Message Queue, and Tarantool 등 Apache ActiveMQ Java Message Service (JMS)를 사용하는 오픈소스 MQ Java, C, C ++, C #, Ruby, Perl, Python, PHP 등 다양한 크로스 언어 클라이언트 및 프로토콜 지원 Spring 지원으로 Spring xml config 메커니즘 이용 가능 JDBC 지원으로 DB 높은 퍼포먼스 가능 높은 퍼포먼스를 위해 클러스터링 구성 가능 Restful API 제공 단 모니터링 도구제공하지 않음 ...