다들 설 연휴 잘 보내셨나요? 필자는 정신없는 연휴를 보내고 왔습니다. 할머니의 고봉밥을 몇 그릇씩 먹고, 에너자이저 사촌 동생들을 하루종일 놀아주고 나니 벌써 연휴가 끝나있네요😂 집에 돌아와서 녹다운하고 있을 때 혼공학습단의 존재가 갑자기 머릿속을 휙 하고 지나갔습니다. 아차! 싶었네요ㅎㅎ 이번주 학습을 할까 말까 수백 번은 고민한 것 같은데 그래도 기왕 시작한 거, 완주는 해야지 싶어 노트북을 켰습니다.
그럼, 마지막 혼공학습단 미션 시작해보겠습니다!!
Ch 07-1. 인공 신경망
✔️ 실습
1) 데이터 준비: 패션 MNIST 데이터셋 사용
- TensorFlow 사용
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
티셔츠 | 바지 | 스웨터 | 드레스 | 코트 | 샌달 | 셔츠 | 스니커즈 | 가방 | 앵글 부츠 |
2) 로지스틱 회귀로 패션 아이템 분류
: 확률적 경사 하강법 이용
- 1차원 배열로 변환
- 모델 학습 : 반복 횟수를 늘려도 성능이 크게 향상 X
✔️ 인공 신경망(Artificial Neural Network, ANN)
- 구성
- 출력층: 신경망의 최종 값을 만듦. 이를 바탕으로 클래스를 예측
- 뉴런(=유닛): 출력층을 계산하는 단위. 선형 계산이 이루어짐
- 입력층: 픽셀값 자체. 특별한 계산을 수행하지 X
- 텐서플로와 케라스
- 텐서플로: 구글이 오픈소스로 공개한 딥러닝 라이브러리. 저수준 API와 고수준 API로 구성
- 케라스: 텐서플로의 고수준 API. 2015.03 François Cholletet가 만듦
✔️ 인공 신경망 실습
1) 데이터 준비
- 앞서 사용한 훈련 데이터, 타깃 데이터 사용
- 검증 세트를 별도로 덜어내어 사용
2) 인공 신경망 제작
- 활성화 함수: 뉴런의 선형 방정식 계산 결과에 적용되는 함수
3) 인공 신경망으로 패션 아이템 분류하기
- 손실 함수
- 이진 분류: loss = 'binary_crossentropy'
- 다중 분류: loss = 'categorical_crossentropy'
*sparse_categorical_crossentropy: 정수로된 타깃값을 사용해 크로스 엔트로피 손실을 계산하는 것
*one-hot encoding: 타깃값을 해당 클래스만 1이고 나머지는 모두 0인 배열로 만드는 것
✅ 확인문제
Q. 어떤 인공 신경망의 입력 특성이 100개이고 밀집층에 있는 뉴런 개수가 10개일 때 필요한 모델 파라미터의 개수는?
A: 100*10 + 10 = 1010
Q: 케라스의 Dense 클래스를 사용해 신경망의 출력층을 만들려고 한다. 이 신경망이 이진 분류 모델이라면 activation 매개변수에 어떤 활성화 함수를 지정해야 하나?
A: sigmoid
Q: 케라스 모델에서 손실 함수와 측정 지표 등을 지정하는 메서드는?
A: compile(): 훈련 전 설정 단계를 반드시 거쳐야 함!
Q: 정수 레이블을 타깃으로 가지는 다중 분류 문제일 때 케라스 모델의 compile() 메서드에 지정할 손실 함수로 적절한 것은?
A: 다중 분류: loss = 'categorical_crossentropy'
'Activities > [혼공단 11기] 머신러닝+딥러닝' 카테고리의 다른 글
5주차_Ch.06 비지도 학습 (0) | 2024.02.04 |
---|---|
4주차_Ch.05 트리 알고리즘 (3) | 2024.01.28 |
3주차_Ch.04 다양한 분류 알고리즘 (5) | 2024.01.21 |
2주차_ Ch.03 회귀 알고리즘과 모델 규제 (1) | 2024.01.14 |
1주차_Ch.02 데이터 다루기 (2) | 2024.01.02 |