부산대 강의 마무리 - 비지도학습, 벡터화 개념 정리
여름방학동안 부산대 강의를 들으면서 흥미로웠던 개념, 부족하다고 느꼈던 개념에 대해서 정리해보겠습니다.
먼저 부산대 강의를 들으면서 비지도 학습에 대한 내용이 흥미로웠습니다. 기존에 배운 feature, label로 학습을 하는 지도학습과 달리 오직 feature만으로도 학습이 된다는 점이 신기했습니다.
강의에서는 클러스터링 기법은 계층적 군집 방식과 비계층적 군집방식의 k-means 방식에 대해 배웠습니다. 그리고 추가적으로 찾아보니 위의 방식같은 분류뿐만 아니라, 차원축소에도 비지도학습이 사용된다고 합니다. 여기서의 차원축소란 시각화를 위해 데이터셋을 2차원으로 변경하거나 이미지 데이터를 압축하는 경우가 있습니다. 이 차원축소의 대표적인 방식이 PCA,주성분 분석 방식이 있습니다.
그 다음으로는 강의에서 벡터라이제이션 부분에 대한 언급이 없어서 따로 찾아서 공부해 보았습니다.
for-loop를 이용하여 계산하면 굉장히 시간이 오래걸려서 가급적 동시에 처리할 수 있도록 벡터화를 통해 하나의 instruction으로 연산할 수 있도록 vectorization을 해주어야합니다. 위 그림을 보면 두번째 레이어에서 weight 5개가 있고 그 weight 5개를 아래와 같이 벡터라이제이션 해줍니다.
위 그림은 레이어 하나 안에 있는 한 뉴런인데, 뉴런안에 있는 weight, 인풋, 아웃풋 등을 전부 아래의 식에서 나온 것과 같이 벡터라이제이션을 해줘야합니다. 벡터라이제이션에 대한 내용은 실습 시 코드를 짤 때도 벡터의 크기를 맞추는 것이 매우 중요합니다.