Home
김예나
Cancel

[혼공머신러닝 8-1] 합성곱 신경망

이번 장은 코드 없이 개념 설명 위주로, 합성곱 신경망의 구성요소인 필터, 특성 맵, 패딩, 스트라이드, 풀링에 관해 배웠습니다. 이번 장의 발표를 위해 추가로 필터와 특성 맵은 어떤 의미인지, 왜 합성곱 신경망을 사용하는지에 관해 공부한 내용을 함께 적겠습니다. 책에서는 합성곱을 이미지 위에 도장을 찍는 것으로 표현하였습니다. 이처럼 4 x ...

[혼공머신러닝 7-3] 신경망 모델 훈련

이번 장에서는 과대적합을 판단하기 위하여 검증 세트의 손실 함수 값을 함께 표시해보고, 과대적합의 해결 방법으로 드롭아웃을 배웠습니다. 또한, 이미 훈련한 모델을 저장해서 불러오는 방법과 모델의 가장 좋은 결과를 저장하고 모델을 조기종료하는 콜백도 배웠습니다. 1. 검증 세트의 손실 곡선 그리기 epoch가 늘어날수록 훈련 세트의 손실 함수 값은 ...

[혼공머신러닝 7-2] 심층 신경망

이번 장에서는 저번 장에서 배웠던 가장 기본적인 신경망에 층을 추가하거나, 활성화 함수를 변경하거나, 옵티마이저를 변경하는 것으로 더 복잡한 신경망을 만드는 것을 배웠습니다. 1. 층 추가하기 저번 장에서 만들었던 밀집층의 출력 수를 10에서 100으로 늘리고, 100개의 출력값을 10개의 출력값을 가지는 새 층에 넣는 방법으로 새 층을 추가할 수...

[혼공머신러닝 7-1] 인공 신경망

이번 장에서는 드디어 딥러닝을 처음 배우기 시작했습니다. 가장 간단한 딥러닝 모델은 로지스틱 회귀와 같은 과정을 거쳐 계산하므로 먼저 로지스틱 회귀로 다중 분류를 해보고, 같은 데이터셋으로 keras와 tensorflow를 이용하여 인공 신경망으로 다중 분류를 해보았습니다. 1. fashion mnist 데이터 셋 mnist는 0 ~ 9의 숫자로 ...

PCA에 관한 의문

PCA를 공부하면서 대체 SVD로 기저 V를 구하는 방법과 공분산 행렬로 구하는 방법이 뭐가 다른지, SVD는 어떤 방식으로 V를 구하는 건지에 관해 여러모로 골머리를 앓았었는데 오늘 의문이 있었던 부분들이 잘 정리되어 포스팅을 해보려 합니다. 1. SVD에서 기저 V를 구하는 방법 이전 포스팅에서 SVD에서 기저 V를 구하는 방법에 관해 소개하였...

PCA

저는 PCA를 가장 큰 분산을 담도록 하는 주성분 벡터들을 찾아 그 중 일부를 사용한 새로운 좌표축을 정의해 기존의 데이터를 정사영시키는 것이라 이해했습니다. 다만, 그 주성분 벡터를 찾는 과정에서 핸즈온 머신러닝 책에서는 특이값 분해를 이용한다고 하였고, 제가 항상 참고하던 영상에서는 covariance matrix의 eigenvetor라 하였기에 ...

[혼공머신러닝 6-3] PCA

이번 장에서는 차원 축소의 보편적인 방법인 PCA에 관해서 배웠습니다. 원리에 관해서는 선형대수 시간에 배웠던 것이 얼핏 떠오르기는 하는데 제대로 이해하려면 다시 책을 펼쳐봐야 할 것 같습니다.(자그마치 3년 전에 들었던 강의…) 따라서 이번 포스팅에서는 혼공머신러닝 책에서 배운 내용 위주로 코드를 쭉 정리하고, 다음 번 포스팅에서 이번에 다루지 못했...

k-means 알고리즘

지난 시간에 k-means 알고리즘에 관해 발표했는데, 당시에는 내용이 너무 쉬워 따로 준비할 필요가 없다고 생각했었지만 막상 발표를 마치고 보니 다루지 못한 부분이 많았던 것 같아 따로 포스팅하게 되었습니다. k-means 알고리즘의 과정을 말로 표현하면 다음과 같습니다. (1) 랜덤으로 각 클러스터의 중심들을 정한다. (2) 샘플들로부터 각 클...

[혼공머신러닝 6–2] k-means 알고리즘과 엘보우

저번 장에서는 어떤 데이터가 사과이고, 파인애플이고, 바나나인지 알고 있었기 때문에 각 클러스터의 평균을 쉽게 계산할 수 있었지만, 실전에서는 그것을 알 수가 없습니다. 따라서 어디가 클러스터의 중심인지를 직접 찾아내야 합니다. 그것을 찾아내기 위해서 k-means 알고리즘을 도입합니다. k-means 알고리즘은 임의로 클러스터의 중심을 정한 후 클...

[혼공머신러닝 6–1] 군집 알고리즘

이번 장에서는 비정형 데이터를 처음 다루게 되는데, 그 중에서도 사진 데이터를 분류합니다. 우선, 데이터를 준비해 봅시다. 1. 데이터 확인 !wget https://bit.ly/fruits_300_data -O fruits_300.npy # !:리눅스 셀 명령어 wget:원격 주소에서 데이터 다운로드 import numpy as np import...