레플리
글 수 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 깊은바다 2023-12-04 306
머신 러닝 워크북 file 깊은바다 2018-04-14 304
한 권으로 정리하는 4차산업혁명 file 깊은바다 2018-07-06 300
펭귄브로의 3분 딥러닝, 파이토치맛 file 깊은바다 2020-08-02 295
가장 빨리 만나는 챗봇 프로그래밍 with Bot Framework file 깊은바다 2018-12-24 294
리얼월드 머신러닝 file 깊은바다 2018-10-20 294
안녕, 인간 file 깊은바다 2019-11-10 287
스마트한 인공지능 챗봇 개발 file 깊은바다 2018-08-13 286
대학에 가는 AI VS 교과서를 못 읽는 아이들 file 깊은바다 2019-02-28 281
보통 사람들의 전쟁 file 깊은바다 2020-05-28 275
이것이 우리에게 딱 맞는 딥러닝 with 텐서플로 file 깊은바다 2018-09-15 272
인공지능 개발 이야기 file 깊은바다 2018-03-20 269
에이트 - 인공지능에게 대체되지 않는 나를 만드는 법 file 깊은바다 2019-12-10 261
의료 인공지능 file 깊은바다 2018-10-08 260
커넥톰, 뇌의 지도 file 깊은바다 2018-09-11 259