레플리
글 수 126

리얼월드 머신러닝

조회 수 294 추천 수 0 2018.10.20 14:13:30


161776926.jpg

 

http://www.yes24.com/24/Goods/53565521

 

 

 

보통 머신러닝 책은 학습 알고리즘의 원리나 구현 방법에 대해서 설명하는 것이 대부분입니다. 하지만 여기서는 전체적인 프로세스와 모델의 평가 방법에 주안점을 두는 편입니다. 또한 데이터에서 적합한 특성을 선택하고 하이퍼파라미터을 튜닝함으로써 성능을 높이는 방법을 자세히 다루고 있습니다. 이미 머신러닝 알고리즘을 알고있고 어느정도 구현을 할 수 있는 분들이 좀 더 실력을 높이는데 도움이 될 것 같습니다.

 

특히 실전 예제들을 통해 배운 내용을 적용하는 부분이 좋았습니다. 예를 들어, 뉴욕 택시 운행 데이터에는 승차/하차 시간 및 장소, 인원, 이동거리, 요금 등의 항목이 있습니다. 이를 사용하여 승객이 팁을 줄지 예측하는 모델을 만드는데, 한번에 끝나는게 아니라 특성을 정제하고 추가하면서 정확도를 높이는 방법을 단계적으로 보여줍니다.

 

 

 

그리고 모델을 평가하는데 많이 사용되는 ROC(Receiver Operating Characteristic) 곡선을 설명한 것도 유용했습니다. 이런 내용은 보통 다른 책에서는 자세히 다루지 않습니다.

 

True/False를 구별하는 바이너리 모델일 경우 민감도(sensitivity)와 특이도(specificity)를 측정합니다. 민감도는 실제로 True를 True로 판단하는, 특이도는 실제 False를 False로 판단하는 비율을 말합니다. 당연히 민감도와 특이도는 모두 높을 수록 좋습니다. 하지만 적용 문제에 따라서 어느쪽이 더 높아야 하는지 다를 수 있습니다.

 

예를 들어, 암환자를 판단하는 경우 민감도가 높아야 합니다. 정상인을 암이 있다고 잘못 예측을 해도 정밀 검사로 아니라는 것을 알 수 있어 큰 문제는 없습니다. 하지만 암이 있는 사람을 없다고 판단해버리면 환자의 생명이 매우 위험해질 수 있습니다. 반대로 스팸 메일의 경우 특이도가 높은게 좋습니다. 민감도가 높아 정상 메일을 스팸으로 판단해 삭제해 버리는 것보다, 스팸을 정상으로 분류하여 그냥 사람이 보고 지우는게 더 낫습니다.

 

ROC 커브는 모델에서 True/False를 판단하는 역치(threshold)를 0~1까지 조정하면서 모든 경우에 대해서 민감도와 특이도를 구합니다. 그리고 사진처럼 민감도와 1-특이도로 그래프를 그립니다. 곡선의 아래 부분을 AUC(Area Under Curve)라고 부르는데 이 면적이 클 수록 모델의 성능이 높다고 할 수 있습니다.

List of Articles
제목 글쓴이 날짜 조회 수sort
인공지능 시대의 비즈니스 전략 file 깊은바다 2018-03-19 150
대량살상 수학무기 - 빅데이터와 인공지능이 초래하는 불평등 file 깊은바다 2018-01-25 153
외로워지는 사람들 - 감성로봇과의 교감 file [1] 깊은바다 2017-11-13 155
라이프 3.0 - 만약 초지능이 탄생한다면? file [4] 깊은바다 2018-02-06 160
일자리가 사라진 세계 file [2] 깊은바다 2017-11-20 161
김대식의 인간 vs 기계 file 깊은바다 2017-03-07 170
Game Programming Gems file 깊은바다 2016-03-25 178
기본소득이 세상을 바꾼다 file [1] 깊은바다 2018-06-18 179
외로워지는 사람들 file 깊은바다 2023-02-17 180
신입 탐정의 데이터 분석 입문 file 깊은바다 2018-03-20 183
AI Game Programming Wisdom file 깊은바다 2017-09-14 187
머신러닝 인 액션 file 깊은바다 2017-09-10 188
텐서플로 첫걸음 file 깊은바다 2017-11-25 188
만들면서 배우는 기계 학습 file 깊은바다 2016-03-25 191
인공지능 70 - 재미있게 알아보는 AI 키워드 file 깊은바다 2017-09-21 194