-
-
파이썬으로 완성하는 비지도 학습 알고리즘 - 비감독 모형과 텐서플로 2를 이용한 전처리 기법의 머신러닝 구현
송동근 지음 / 비제이퍼블릭 / 2021년 12월
평점 :
절판
인공지능을 배우게 되면 지도학습과 비지도 학습의 구분법을 누구나 배우게 됩니다. 지도학습은 회귀와 분류로 나눠지고 비지도학습은 군집화, 주성분분석(차원축소) 등으로 되어 있다고 배우죠. 인공지능을 배우는 대부분의 교육자는 지도학습의 회귀와 분류를 넘는 것도 힘들지만 회귀와 분류를 어렴풋하게 알게 되면 비지도학습의 필요성을 실감하게 됩니다. 왜냐하면 지도학습은 답을 주고 학습을 시키지만 실제는 답이 없는 경우도 허다하기에 <파이썬으로 완성하는 비지도 학습 알고리즘>은 출력에 답(목적변수)을 주지 않고 입력으로 데이터(설명변수)만 주입해서 인공지닝 스스로 답을 찾는 방법을 배울 수있습니다.
저자는 위메프 송동근 데이터분석가입니다. 한림대에서 학사, 중앙대학교에서 석사를 통계학으로 전공하였습니다. 통계학과에서 R을 주로 다뤄겠지만 지금은 파이썬으로 개발까지하고 있는 개발전문가입니다. 데이터는 위메프의 커머스데이터를 많이 다뤘다고 합니다. 위메프라는 온라인커머스에서 제대로 온라인쇼핑몰데이터를 다루는 실전전문가라고 할 수있습니다.
저자는 비지도학습을 차원축소, 이상치탐지, 군집화, 텐서플로2, 오토인코더 순으로 순서를 구성해 두었습니다. 머신러닝을 조금이라도 배우신 분이라면 이름은 늘 들어봤던 단어들입니다. 텐서플로2는 딥러닝을 하는 툴입니다. 지도학습의 경우 데이터가 적어도 상관은 없지만 비지도학습은 데이터가 많아서 성능이 좋아집니다. 다행스럽게도 컴퓨티기술은 대량의 데이터를 다룰수있는 기계적 성능이 가파르게 향상되고 있습니다. 그리고 데이터도 무한정 쏟아지고 있는 것이 현실입니다. 이제 많은 데이터로 우리가 맞닫뜨린 문제를 풀수있는 방법이 개발되고 있고 그 방식이 바로 비지도 학습입니다. 흥미로운 점은 비지도학습은 목적이 없이 프로그램을 돌리면 결과가 나오는 방법입니다. 대부분 정확도를 올리는 방식이고 이 정확도 %를 올리기 위해 다양한 모델을 만들어수 수행하는 방법을 사용합니다.
'차원축소'는 주성분분석(PCA)입니다. 필요없는 성분을 줄어가면서 유용한 차원만으로 결과를 도출하는 방식입니다. 이는 직교변환을 응용한 방식이라고 합니다. 우선 잘모르더라도 계속 암기하는 방식을 취해야합니다. ㅠㅠ 사용하는 데이터는 MNIST데이터(손글씨)를 사용하여 연습합니다.
'이상치탐지'는 예외적인 패턴을 찾아내는 방법입니다. 결과는 정상과 비정상으로 나오게 됩니다. 결과는 간단한 편입니다. ^^방법은 MCD,고립포레스트,SVM 등의 방법을 사용합니다.
'군집화'는 가장 많은 페이지를 할애하는 방법입니다. 그만큼 중요하다는 것이겠죠. 목적변수없이 스스로 분류하게 만들수있습니다. 물론 군집화에서 중요한 것은 결과치에 대한 타당성도 검증을 해야 합니다. 그래서 군집호를 위한 '거리'문제, L1,L2,내접곱, 샤논엔트로피등의 거리문제를 공부합니다. 군집화를 배웠으면 응용으로 데이터의 의미와 목적을 지표로 설계하는 겁니다. 이 결과치를 워드클라우드로 나타내는 학습을 합니다.
비지도 학습에서 오토인코더는 데이터가 복잡하기에 인코딩을 하여 축소를 하였다가 다시 디코딩하는 방법입니다. 데이터를 다루기 쉽게 압축하는 방식입니다. 데이터를 은닉레이어로 축소를 했다가 다시 인간이 이해할 수있게끔 복원하는 형식이 오토인코딩의 기본형태입니다. 이를 '바닐라오토인코더'라고 합니다. 인공지능을 공부할 때 수식에 포기를하는 경우가 많은데 저자는 수식은 최소화하고 대도록이면 기초적인 MNIST를 이용해서 모든 형태를 설명하려고 하였습니다. 이렇게 데이터를 거의 통일시킴으로써 형태변화의 이해를 높였습니다.
처음에는 비지도학습으로 무얼할 수있을까 막막하지만 '이상치탐지'만으로도 비지도학습의 능력은 대단함을 느낄수 있습니다. 신용카드의 이상구매패턴을 발견하고 심장박동이 이상할 때 119와 연결될 수있으면 정말 소중한 생명을 살릴 수있을 겁니다. 저도 애플워치를 차고 다닙니다만 제 데이터(설명변수)를 입력해서 이상현상을 발견해준다면 돌발적 상황에서 생존이 가능해질겁니다. 이것 뿐이겠습니까. 범죄도 예방할 수있고, 즐거움까지도 분석해서 자신감을 증가시키는 데도 사용이 가능할겁니다. 당연히 제조라인의 불량품을 검수할 때도 매우 요긴하게 사용해서 불량품을 구매자에게 판매되는 것을 막고 좀더 앞선에서 불량품이 발생하는 가능성도 줄일수가 있습니다. 물론 쉬운 과정이 아닙니다. 더우기 인문학전공자들에게는 외계언어처럼 느껴질 수도 있습니다. 하지만 그것은 시간과 노력이 해결해줄겁니다. 이제 좀더 깊이 나가야 앞설수있을 때인듯합니다.
본 도서는 출판사로부터 무상으로 제공받아 주관적인 리뷰를 했습니다.