본문 바로가기

COMPUTING/AI

근황2 & 혼공 머신러닝 + 딥러닝 5주차 공부 인증

여러가지

안녕하세요
한 주만에 다시 블로그 글을 쓰는 건데 굉장히 오랜만에 쓰는 듯한 기분이 드는 건 왜일까요? 요즘 생활이 많이 숨 가쁘게 지나가서 그런가 같아요. 사는 대로 생각한다는 것을 절실하게 느끼고 있습니다 ㅋㅋ 저번 주 월요일부터 저는 학교 동아리 방에서 살다시피 하고 있습니다. 일요일을 제외하고 매일 모여서 점심 12시 반부터 오후 10시까지 계속 기타 연습하고 있기 때문이죠. 처음에는 정말 힘들고 지쳤는데 지금은 그럭저럭 즐기면서 하고 있습니다. 뭐든 일이든 일주일만 투자하면(100시간 정도?) 못할 일이 없다는 것을 새삼 느끼고 있습니다.

그래서 꼭 일요일만큼은 저만의 시간을 가지면서, 이번 주차 과제를 하려고 했습니다. 그런데 지난 일요일(2/5)에는 부모님께서 제가 있는 곳에 놀러 오셨기 때문에 저녁 시간이 지나고 밤 시간이 되서야 할 수 있었습니다. 일주일만에 보는 엄마, 아빠인데 뭐랄까.. 너무 반가웠다는 말로는 많이 부족한 느낌이었어요. 오셨다는 전화를 받고 기숙사 방을 박차고 나갔었는데, 저 멀리서 한아름 아들을 위해 뭔가를 지고 오시는 투샷을 보면 괜히 뭉클한 기분도 들기도 하고 아무튼 그랬습니다. 부모님 덕분에 먼 타지에서도 집 같이 편한 느낌을 마구마구 받고 새로운 한 주를 시작할 수 있었네요.

CHAPTER 6 비지도 학습

이번 챕터는 비지도 학습에 관한 것입니다. 비지도 학습은 말 그대로 누가 정답값을 가르쳐주지 않고 스스로 정답값을 찾아 학습하는 머신러닝 기법입니다. 처음 절인 '군집 클러스터'가 가장 대표적인 비지도 학습이라고 보면 좋을 것 같습니다. 수많은 샘플들을 여러 개의 특성(차원)을 축 삼아 그래프를 그린 후, 그것들의 군집 경계를 정해 정답값을 찾아가는 방법이죠. 제가 전적대 있었을 때에도 이건 꽤 관심있게 다뤘던 기억이 있습니다.

사실 비지도 학습이 지도 학습보다는 좀 더 매력적으로 보이긴 합니다. 타깃값을 주지 않고도 알아서 정답을 찾아 낸다니 말이죠. 비지도 학습은 물론 지도 학습 보다는 애로 사항이 많지만, 이 장점 하나로 모든 것을 커버칠 수 있다고 생각해요. 심지어는 인간이 구별해낼 수 없는 범주도 스스로 학습해서 만들어낼 수 있으니, 정말 흥미롭지 않을 수가 없어요. 어쩌면 AI가 인간이 할 수 없는 일을 해내는 가장 일 중 하나로 볼 수도 있겠습니다.

첫 절에서는 군집 알고리즘 기법에 대해 배웁니다. 그 다음, k-means 알고리즘을 통해 비지도 학습하는 방법 역시 배워봅니다. 마지막 셋째 절에서는 차원을 감소시키는 대표적인 기법인 주성분 분석에 대해 다룹니다. 그리고 이 기법을 통해 비지도 학습을 해봄으로써 얻을 수 있는 이점도 확인해 볼 수 있었습니다.


6-1

맨 윗줄에서 O를 0으로 입력해서 계속 데이터를 못 불러옴... 책을 다시 읽어보니 알파벳 O이길래 바로 수정하니 잘 작동!
학습시키려면 명암을 뒤집어 줘야함. 밝은 부분이 0, 어두운 부분이 255
명암으로 과일들을 구분해내는 컴퓨터. 그러나 파인애플과 바나나가 겹친다.
픽셀의 평균값을 통해 파인애플과 바나나 마저 구분이 가능!
픽셀 평균값을 이용해 완벽하게 사과 샘플을 골라내는 모습
확인문제2번. 마지막 2개가 사과로 잘못 골라냈다.


6-2

500군집에 맞게 샘플들을 분류하는 모습
새로운 함수를 정의하고 함수를 이용해 이미지를 출력하는 모습. 정확도는 조금 떨어진다.
나머지 군집도 출력해보기. 교재와는 다르게 0이 파인애플, 1이 바나나, 2가 사과이다.
클러스터 중심 출력해보기. 그리고 엘보우 기법으로 최적 k값 도출하기(3)


6-3

차원 축소 기법 활용하기. 찾은 주성분수는 50
축소했다가 다시 복원해보기
설명된 분산. 첫번째 주성분이 거의 대부분의 분산율을 차지한다.
단 2개의 주성분으로 획기적인 머신러닝 성능을 보여주는 모습. 적재적소에 차원축소를 활용하자.
클러스터 별 산점도
혼공 머신러닝 + 딥러닝 5주차-압축됨.pdf
12.91MB

마무리 및 소감

비지도 학습은 이전 챕터들 보다는 수월했습니다. 타깃값이 없다는 사실만 유의하면 쉽게 이해할 수 있었으니까요. 또한, 전적대에서 배웠던 기법들(엘보우, 차원 축소)을 한번 다시 공부할 수 있는시간이었어서 그 때 생각도 나고 좋았습니다. 그리고 무엇보다도 시간이 별로 없었지만, 그 없는 시간을 활용해 이렇게 공부할 것들을 계속 쪼개고 완료하는 일의 즐거움을 오랜만에 느낄 수 있어서 좋았습니다.

 

여기까지 오는 데 꽤나 다사다난했네요;; 그간 기타 연습하랴 머신러닝 공부하랴 시간이 너무 부족했습니다. 그러나 여기서 포기할 제가 아니죠. 연습 중에 쉴 때 마다 티스토리로 들어가서 간간히 글을 썼습니다. 그래서 글이 조금 중구난방으로 보이실 수 있는데... 그래도 잘 읽혔으면 좋겠네요 ㅎ
연습도 이제 2주차로 접어듭니다. 연주하는 악보도 이제 다 외웠고, 동아리 부원들끼리 모여서 합주할 수 있는 여력도 생겼습니다. 그래서 저번 주보다 이것저것 생각해볼 수 있는 여유가 있달까요? 그래서 연주하면서 잡념이 들 때도 있고, 혼공 포스팅할 멘트도 떠오르기도 하고 나름 신기한 경험을 종종 하고 있답니다.

 

이제 혼공학습단도 막바지네요. 다음 주 6주차만 지나면 이제 끝입니다. 이제 딥러닝을 배우는 것 같은데 어떤 것들이 펼쳐질지 정말 기대가 되네요 :) 이번 주 주말은 조금더 여유가 있을 듯 싶어서 미리 6주차 공부를 마치고, 다음 주중에 포스팅을 올려서 이번 학습단 활동의 유종의 미를 거둬보려고 해보겠습니다.

 

제가 지내고 있는 곳은 요즘에 미세먼지가 한창입니다. 날도 좀 풀리긴 했지만 건강 유의하시면서 지내시면 좋으실 것 같습니다. 그럼 다음주에 만나요!

출처

혼자 공부하는 머신러닝 + 딥러닝 p.286~337