AIㆍML / BI|분석 / 개발자

개발자들을 위한 성공적인 머신러닝의 10가지 핵심 요소

Alexander Gray | ITWorld 2015.07.14

5. 데이터의 특징을 이해하고 (새로운 기능을 만들어내면서 기존의 것들을 없애) 향상시키면 예측 가능성을 높일 수 있다.
머신러닝의 기본적인 역할 중 하나는 머신러닝 알고리즘을 효과적으로 활용할 수 있는 풍부한 기능 공간에서 미가공 데이터를 표현하는 것이다. 예를 들어, 수학적 변화를 통해 기존의 기능을 토대로 새로운 기능을 개발하는 '기능 변화'는 이를 인기 있는 방법이다. 그 결과 기능 공간(즉, 데이터를 특징짓기 위해 사용하는 기능의 집합)은 (여러 기능들 사이의 비선형성과 상호작용 등) 데이터의 여러 복잡한 특성을 잘 잡아내며, 이는 다음 학습 프로세스에 중요하다.

6. 기업 가치에 부합하는 적절한 목적/손실 함수의 선택은 애플리케이션의 궁극적인 성공에 중요하다.
거의 모든 머신러닝 알고리즘이 최적화 문제로 표현되고 있다. 기업의 특성에 기초하여 최적화의 목적 함수를 적절히 설정하거나 조정하는 것이 머신러닝의 성공을 위한 핵심이다.

그 예로, SVM은 모든 유형의 오류의 가중치가 동등하다고 가정함으로써 바이너리 분류 문제에 대한 일반화의 오류를 최적화한다. 이는 고장 감지 등 특정 유형의 오류의 비용이 다른 것보다 더욱 중요할 수 있는 비용에 민감한 문제에 적합하지 않다. 이때, 가중치를 고려하기 위해 특정 유형의 오류에 더 많은 패널티를 더함으로써 SVM 손실 함수를 조정하는 것이 좋다.

7. 적절한 훈련 및 시험 데이터를 취급함으로써 모델을 제품에 배치할 때 시험 데이터를 유입되는 데이터처럼 보이도록 한다.
이 점이 시간에 의존하는 데이터일 경우 얼마나 중요한지 알 수 있다. 이때, 훈련, 조율, 시험 모델을 위해 표준 교차 검증 접근방식을 사용하면 잘못되거나 정확하지 않은 결과로 귀결될 수 있다. 그 이유는 배치 단계에서 유입되는 데이터의 특성을 적절히 모방하지 않기 때문이다. 이를 바로잡기 위해서는 배치 시 모델이 사용되는 방식을 반드시 모방해야 한다. 훈련한 모델을 시간의 측면에서 더욱 새로운 데이터에 대해 검증하는 시간 기준 교차 검증을 이용해야 한다.

8. 배치 전 모델의 일반화의 오류를 이해한다.
일반화의 오류는 모델이 보이지 않는 데이터를 얼마나 잘 처리하는지를 측정한다. 모델이 훈련 데이터를 잘 처리한다고 해서 반드시 보이지 않는 데이터에 잘 일반화되는 것은 아니다. 모델의 일반화의 오류를 예측하기 위해 실제 배치 용법을 모방한 신중하게 설계한 모델 평가 프로세스가 필요하다.

인지하지도 못한 채 교차 검증의 규칙을 위반하기 쉬우며, 교차 검증을 올바르지 않게 수행하는 방식이 명확하지 않아 연산을 위한 지름길을 이용하려 시도할 때 자주 발생한다. 배치 성능에 대한 과학적인 예측을 얻기 위해 모델을 배치하기 전에 적절하고 성실한 교차 검증에 주목하는 것이 중요하다.

9. 텍스트, 시계열, 공간, 그래프 데이터, 이미지 등의 비구조화 및 준구조화 데이터를 처리하는 방법을 파악한다.
대부분의 머신러닝 알고리즘은 각각 객체의 특성을 기술하는 일련의 기능으로 객체를 표현하는 기능 공간에서 데이터를 다룬다. 실제로 이런 형식으로 해당 세트에 도입되는 대신 데이터는 종종 미가공 형태로 유입되며, 머신러닝 알고리즘의 소비를 위해 반드시 바람직한 형태로 만들어야 한다. 예를 들어, 이로부터 다양한 특징을 추출하기 위해 다양한 컴퓨터 비전 기법을 사용하는 방법이나 텍스트를 특징짓기 위해 자연어 처리 기법을 적용하는 방법을 알아야 한다.

10. 기업 문제를 머신러닝 알고리즘으로 변화하는 문제를 학습한다.
사기 감지, 제품 추천, 표적 광고 등 기업에서 중요하게 여기는 일부 문제를 실제적으로 해결한 '표준' 머신러닝 공식이 있다. 이런 잘 알려진 문제뿐만 아니라, 덜 알려졌지만 예측 정확성이 더 높은 더욱 강력한 공식이 존재한다. 블로그와 포럼에서 일반적으로 논의하는 일련의 소규모 예시 외의 기업 문제의 경우 적절한 머신러닝 공식이 덜 명확하다.

개발자에게 있어서 이런 성공을 위한 10가지 핵심 요소를 학습하기가 것이 쉽지 않아 보일 수 있지만 낙담할 필요는 없다. 사실 개발자들은 데이터 공학자가 아니다. 개발자가 머신러닝이 제공하는 모든 도구를 활용할 수 있다고 생각하는 것 자체가 무리일 수 있다. 하지만 그렇다고 해서 개발자가 자신의 애플리케이션의 성능을 높이기 위해 일정 수준의 데이터 공학을 배우지 않아도 된다는 것은 아니다. 적절한 기업 솔루션과 향상된 자동화가 있으면 개발자는 높은 정확성을 보유한 머신러닝 모범 사례를 이용해 모델 구축부터 배치까지 모든 것을 할 수 있다.

자동화는 애플리케이션 내 머신러닝 확산의 핵심이다. 개발자와 밀접히 협력할 수 있는 소수의 데이터 공학자를 확보할 수 있다 하더라도 충분한 인력을 확보할 수는 없다. 스카이트리(Skytree)의 오토모델(AutoModel)의 사례가 모델 정확성 최대화를 위한 최적의 파라미터와 알고리즘을 자동으로 결정하는 데 도움이 될 수 있다. 사용이 간편한 인터페이스를 통해 개발자는 훈련, 조율, 시험 모델의 과정을 거치면서 통계적 실수를 방지할 수 있다.

머신러닝 프로세스 내의 자동화는 여러 측면에서 데이터 공학자나 개발자를 위해 인공지능의 원리를 통합하고, 알고리즘이 생각하고 학습하는 모델 구축 작업의 부담을 크게 덜어줄 수 있다. 즉, 데이터 공학자를 머신러닝과 분리하여 생각할 수 있다는 생각이 실수이며, 특히 업무에 필수적인 모델의 경우에는 더욱 그렇다. 기초 기술의 정확함, 정교함, 확장성 등에 대한 생각 없이 적용할 수 있는 간편한 머신러닝 기능의 가능성을 인지하자. 이를 통해 높은 예측 정확성과 머신러닝이 제공해야 하는 이로 인한 높은 비즈니스적 가치를 얻을 수 있다. 게다가 애플리케이션에서 형편없는 모델을 제공하면 실제로 역효과를 낳고 사용자들 사이에서 제품이나 서비스에 대한 불신이 신속하게 쌓일 수 있다. editor@itworld.co.kr 

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.