감사합니다.~~
오늘 소개해드리는 Forercast와 AWS Sagemaker라는 머신러닝 플랫폼은 S3를 기반으로 작업합니다. 하지만 DB를 데이터 소스로 해서 Sagemaker에서 활용할 수 있는 다양한 방법들을 이미 소개해서 고객분들이 적용하고 있습니다. https://aws.amazon.com/ko/blogs/machine-learning/run-sql-queries-from-your-sagemaker-notebooks-using-amazon-athena/
많은 데이터와 데이터의 정제 작업은 모델 성능에 반드시 영향을 줍니다. 따라서 (1) 데이터를 모으는 것 (2) 데이터를 정제하는 것을 위해서 자해당 도메인의 데이터를 잘 아시는 것이 무엇보다 중요합니다. 예를 들면 이 데이터가 Null인지 0인지에 따라서도 달라지기 때문에 수집한 데이터가 잘 모아졌는지, 왜곡되었는지를 모델 학습 전에 판단할 수 있어야 합니다.
모델 업데이트 주기는 기업이 가진 데이터의 갱신주기에 따라서 결정되며, 모두 고객의 의지에 의해서 진행됩니다.
물론입니다!! 머신러닝 기반의 시계열 분석은 무조건 데이터가 많아야 합니다. 통계적 패턴이 무시되는게 아니라, 이 또한 포함되어 모델이 만들어집니다.
그 분야의 과거데이터를 바탕으로, 그 분야의 현재와 가까운 미래를 예측하는 방법입니다. 따라서 데이터가 분석하고자 하는 분야와 연관이 있어야 합니다.
머신러닝에서 사용하는 예측 모델은 고객의 데이터를 기반으로 제공되며, 이 때 예측모델의 학습과정에서 사용되는 알고리즘은 수학적인 모델을 기반합니다. https://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-choosing-recipes.html ARIMA같은 경우는 전통적인 기법의 구조적인 데이터를 분석하는 알고리즘입니다.
당연하게 데이터에 따라서 알고리즘이 맞지 않은 경우가 많이 있습니다. 따라서 데이터를 기반으로 만든 모델의 성능을 확인하고, 이를 개선화는 과정에서 알고리즘을 변경하는 경우도 많습니다.
네 모든 학습과정은 수치화됩니다. 내가 학습한 모델의 정확성을 위한 매트릭은 아래와 같습니다. https://docs.aws.amazon.com/ko_kr/forecast/latest/dg/metrics.html
여러 세션을 통해서 해당 비용관리에 대해서 소개된 적이 있습니다. Youtube의 AWS채널을 통해서 확인하실수 있습니다. 최근 소개된 내용은 아래와 같습니다. https://www.youtube.com/watch?v=Ltw5EixHDNc&pbjreload=101
정확도를 상승시키기 위해서는 새로 유입되는 데이터를 기반으로 지속적으로 학습하여 초기 모델의 성능을 높이는 방법으로 접근하셔야 합니다. 이를 위한 자동화를 위한 방법은 SageMaker를 통해서 제공됩니다.
공식적으로 제공할 수 있는 고객케이스는 아래에 나와 있습니다. https://aws.amazon.com/ko/forecast/customers/ 위의 케이스에는 기업에서 선택한 알고리즘을 밝히지 못해 죄송합니다. 데이터의 성격에 따라서 예상된 알고리즘보다 더 나은 알고리즘이 있을 수 있기 때문에, 일단 데이터의 종류를 판별하고 어떤 예측을 필요로 하는지 선택하는게 필요합니다. 예측을 위해서 사용될 수 있는 다양한 도메인의 유형은 아래에 나와있습니다. https://docs.aws.amazon.com/ko_kr/forecast/latest/dg/howitworks-domains-ds-types.html
예측의 신뢰성을 검증하기 위해서 데이터는 학습과 테스트 셋을 분리해서 진행됩니다. 테스트셋의 값은 학습된 알고리즘의 성능이 얼마나 나오는지를 검증하여 이를 수치상으로 나오게 됩니다. https://docs.aws.amazon.com/ko_kr/forecast/latest/dg/metrics.html
오늘은 예측 중 시계열데이터를 가지고 있는 경우에 향후 상황을 적용할 수 있는 기법을 소개하고 있습니다. 내용을 통해서 소개해드리겠습니다.
머신러닝 기반의 예측은 기존의 많은 데이터를 기반으로 그들의 상관관계를 분석해서 분류를 하거나 앞으로의 상황을 예측하거나 하는 여러가지 방법들이 있기 때문에 접근방법이 어느 하나라고 딱 선택하여 말씀드리기가 없습니다. 하지만 모든 과정에서 반드시 필요한 것은 어떤 것을 예측할 것인가라는 시나리오를 명확하게 하셔야 합니다. 그리고 그 시나리오를 분류, 예측, 인지, 추천 등에 상황에 맞춰서 해결방법을 풀 수 있도록 AWS와 함께 논의해주시면 좋겠습니다.
예측을 위한 알고리즘을 6개를 제공하고 있습니다. 각 알고리즘이 좋은 성능을 내는 여러가지 상황들이 있고, 알고리즘에 대한 설명은 온라인 문서가 있습니다. https://docs.aws.amazon.com/ko_kr/forecast/latest/dg/aws-forecast-choosing-recipes.html