pip install tensorflow
pip install keras
ipython 실행 후
import tensorflow as tf
import keras 로 확인
딥러닝 실행
model.compile(loss = 'mean_squared_error', optimizer = 'adam', metrics=['accuracy])
-> optimizer에 값을 안넣어주면 경사하강법이 디폴트
평가된 결과
model.evaluate(X,Y)[1]
-> [0]에는 loss값 error값이 들어가고 1번이 accuracy
1. 필요한 라이브러리를 임포트 함
2. 데이터 불러오기
- 어떤 특정한 시작 숫자를 정해주면 컴퓨터가 정해진 알고리즘에 의해 마치 난수처럼 보이는 수열을 생성함. --> seed
시드는 보통 현재 시각등을 이용하여 자동으로 정해지지만 사람이 수동으로 설정할 수도 있음. 특정한 시드값이 사용되면 그 다음에 만들어지는 난수들은 모두 예측할 수 있음.
3. 환자의 기록과 수술 결과를 구분하여 저장
4.
- add가 두줄이므로 두 개의 층을 가진 모델을 만든 것임
- 맨 마지막 층은 결과를 출력하는 '출력층'이됨
- 나머지는 모두 '은닉층'의 역할
- 각각의 층은 Dense라는 함수를 통해 구체적으로 그 구조가 결정됨
- 30이라고 되있는 것은 30개의 노드를 만들겠다는 것.
[입력층, 은닉층]
- input_dim = 입력 데이터로부터 몇개의 값이 들어올지 정하는 것
- 첫 번째 은닉층에 input_dim을 적어줌으로써 첫번째 dense가 은닉층+입력층의 역할을 겸함
- 은닉층의 각 노드는 17개의 입력값으로부터 임의의 가중치를 가지고 각 노드로 전송되어 활성화 함수를 만남
- activation = 활성화함수를 무엇으로 할 것인지(여기서는 relu) -> 출력층으로 전달됨
[출력층]
- 출력 값을 하나로 정해서 보여줘야 하므로 출력층의 노드수는 1개
- 여기서는 sigmoid를 활성화 함수로 사용
5.
- 앞서 지정한 모델이 효과적으로 구현될 수 있게 여러 가지 환경을 설정해 주면서 컴파일 하는 부분
- 어떤 오차함수를 사용할지 정해야함!!
- optimizer = 최적화 (여기서는 adam)
[참고자료]
- 평균제곱오차는 수렴하기까지의 시간이 오래걸린다는 단점이 있음.
- 교차 엔트로피는 출력값에 로그를 취해서 오차가 커지면 수렴 속도가 빨라지고 오차가 작아지면 속도가 감소하게끔
-> 주로 분류문제에서 많이 사용됨. (자세한건 ppt 참고)
6. 실행화면
'딥러닝' 카테고리의 다른 글
0802 keras 실습 [초음파 광물 예측] - 과적합 피하기 (0) | 2019.08.02 |
---|---|
0802 keras 실습 [아이리스 분류문제] (0) | 2019.08.02 |
0802 keras 실습 [파마 인디언 데이터 분석하기] (0) | 2019.08.02 |
0802 딥러닝 이론 2 (0) | 2019.08.02 |
0802 딥러닝 기초 (0) | 2019.08.02 |