3 minute read

Machine Learning At Working - 머신러닝 실무 프로젝트(2판)

한빛미디어 ‘나는 리뷰어다’ 활동을 위해서 책을 제공받아 작성된 서평입니다.




0. 소개


이제는 전공자가 아니어도 뉴스나 방송을 통해 Machine Learning / Deep Learning이라는 말을 너무 흔하게 들을 수 있는 상황이 되었다.

음성인식 , 추천 시스템 , 이미지 생성 등은 이미 우리의 일상에서 너무나 흔한 일이고, Tensorflw / PyTorch / Scikit-learn같은 우수하고

훌륭한 Framework은 너무나 쉽게 우리들을 AI의 세계로 발을 들여놓게 만들어 준다.

하지만, 이렇게 현실속에 깊게 들어와 있는 Machine Learning / Deep Learning이지만, 정작 내가 하는 일에 이 기술을 적용하려고 하면 관련 전공자라고 해도 절대 쉬운 일이 아니다.

‘우리 회사의 서비스에 Machine Learning 기법을 적용하고 싶은데, 무엇부터 시작해야 하지? ‘

‘팀장님께 수집한 사용자 Log를 통해서 효과적인 마케팅 방안을 제안하고 싶은데, 어떤 분석 방법을 써야 할까?’

이 책은 Machine Learning 개론을 공부하고 Machine Learning 으로 무엇을 할 수 있는지는 알고 있지만,

이를 실전에 적용하는데 어려움을 겪고 있는 분들, Machine Learning / Deep Learning 교육을 많이 듣고 Coursera에서 관련 수업도 많이 들었지만,

정작 실무에 이를 어떻게 적용하면 좋을지 난감하신 분들에게 이 책은 큰 도움이 될 것입니다.

실제 Biz.에 어떻게 Machine Learning 기법을 적용할 것인지, Machine Learning 기법에 EDA 등과 같은 방법을 접목해 다양한 Insight를 도출하는 방법등을 소개해 줍니다.

뿐만 아니라, Machine Learning 으로 해결해야할 문제를 정의하고 적절한 방법론을 찾아서 시스템을 설계하고 유지보수하는 방법까지 소개해 드릴 것입니다.

1. 대상 독자



앞서 살짝 언급했지만, 이 책은 Machine Learning / Deep Learning 이론적인 부분은 어느 정도 익혔다고는 생각하지만,

이를 실무에 적용하려고 하는 개발자뿐만 아니라 관련 분야 전공자는 아니지만, Machine Learning 기법과

Machine Learning으로 어떤 것을 이룰 수 있는지를 이해하고 있는 Biz. 담당자들이 참고하면 좋은 책이라고 생각합니다.

이런 분들에게 이 책은 Machine Learning Project를 어떻게 시작하며 기존 System에서 Machine Learning의 Train에 사용할 Log Data를 어떻게 수집할 것이며,

수집된 Log Data로 잘 Train된 Machine Learning Model을 기존 System에 어떻게 적용할 것인지 등을 상세한 설명과 예제를 통해서 Know-How를 전달해 줄 것입니다.

2. 장점


  • 어떤 독자들에게는 단점으로 여겨질 수도 있겠지만, 꼭 필요한 부분이 아니고는 수식이 거의 없습니다.

    그 만큼 비전공자 / Machine Learning 관련 지식이 없어도 읽을 수 있지만 좀 더 깊이 있는 지식을 얻고자 하는 독자들에게는 단점이라고 여겨질 수도 있습니다.

  • 다양한 관련 지식의 소개들이 많이 있습니다. 책에서 자세하게 다루지 못하는 부분들에 대해서는 Link와 함께 같이 참조하면 좋은 다양한 글들을 소개해줍니다.

    저는 개인적으로 이 부분이 가장 마음에 들었습니다.

  • 총 2부로 나누어져 있으며, 1부에서는 이론적인 이야기를 주로 하고 있으며, 2부에서는 이론적은 배경을 바탕으로 실무에 적용하는 방법을 예제를 통해 전달해 주고 있습니다.

  • Machine Learning을 잘 모르는 독자들을 위하여 많이 사용되는 Machine Learning Algorithm에 대해서 설명을 잘 해주고 있습니다.

  • Machine Learning Model을 기존 System에 통합하는 방법에 대해서 잘 설명합니다.

    다양한 Case에 대해서 각 Case별로 적절한 방법들을 제시해 주는데, 이와 같이 실무 적용에서 어려움을 겪을만한 것에 대해서 자세한 설명은 이 책의 큰 장점이라고 생각합니다.

  • 또한, Data Log를 수집하고 이를 Machine Learning Train에 사용하기 위한 Labeling 작업에 대한 조언도 아낌없이 해주고 있습니다.

  • Machine Learning Model의 성능 평가 방법에 대해서도 상세히 다룹니다.

    열심히 Data 수집하고 Labeling해서 Train 후 실제 적용을 했는데, 잘 동작하고 있는지 판단하기 어려울 때 큰 도움이 될 것 입니다.

  • Machine Learning & EDA를 통해 Insight를 도출하고 이를 Report로 작성하는 일련의 단계를 소개해 주는 부분은 많은 영감을 줍니다.



3. 단점


  • 처음 책을 보았을 때 들었던 생각은 ‘이 주제를 다루기에 책이 너무 ‘얇은거 아닌가?’라는 생각이었습니다. 전체 300 Page정도 되는데,

    실제로 보다보면 좀 더 깊이 있고 다양한 이여기를 생각보다는 많이 다루고 있지는 못하는 것 같습니다.

    하지만, 이런 부분은 앞서 장점에서 설명했듯이 다양한 관련 정보 Link로 어느 정도는 극복을 하는 모습입니다.

  • 1부 이론적 설명 부분에서는 Machine Learning / Deep Learning 관련 지식이 어느 정도 바탕이 되어야 이해할 수 있는 부분들이 많습니다.

    하지만, 이런 부분들에 대해서는 깊이 있게 다루지 못하고 있습니다.

  • Machine Learning / Deep Learning 분야에서 자주 사용되는 용어들에 대해서 억지 번역을 한 듯한 느낌을 조금 받았습니다.

    ( Feature를 ‘특징량’이라고 번역하기 보다는 그냥 ‘Feature’라고 하는 것이 더 낫지 않았을까 생각합니다. )

  • 간혹 뜬금없이 ‘이 내용이 여기에 왜 있지?’라고 생각되는 부분이 있습니다.

    예를 들면, 강화학습 부분이 갑자기 나오는 부분에서는 이 내용이 실제로 필요한가 라는 의구심이 들었습니다.