전체 글 96

[RecSys] 2. 내용 기반 추천이란?

내용 기반 추천 (Content-based Recommendation System) 이란? 상품의 속성, 내용 등에 기반하여 상품이 어떤 상품인지를 활용해서 추천하는 방법으로, 이미 유저 선호도가 높은 상품과 유사도가 높은 내용의 다른 상품을 추천한다는 개념과 같다. 영화 추천시에, 아래와 같이 각 영화의 feature 값 (액션, 로맨스, 코미디 등등 성격의 정도) 을 input으로, 각 영화에 대한 유저 평점을 target으로 한 ML 학습이 가능하다는 것. 좋아요/싫어요 데이터라면 분류 알고리즘을, 1~5 등의 평점 데이터라면 선형회귀/다항회귀 등의 회귀 알고리즘을 만들 수 있다. * 참고 자료 - 영화 추천의 사례로 Content based Recommender 설명 https://medium.c..

ML system 2024.04.23

[RecSys] 1. 추천 시스템이란?

추천시스템이란? 추천시스템이란, 어떤 옷, 어떤 영화, 어떤 사이트 등등 수많은 상품 중 특정 사용자가 좋아할 만한 것을 찾아주는 시스템이다. 주변을 둘러보면 상품 추천 뿐 아니라 영화, 유튜브 및 음악 추천 알고리즘 등 Netflix, Amazon, Spotify, Meta, Youtube, Google 의 tech 추천 서비스들이 일상에 깊숙히 자리잡고 있음을 볼 수 있다. 더 좋은 추천이 소비자의 편의 상승 및 시간 단축시킬 뿐 아니라, (사회적 비용 감소) 공급 기업의 매출과 직결된다는 점에서 비즈니스 관점에서 매우 유용하고 중요한 ML 기술이라 볼 수 있다. 추천 시스템의 원리 추천시스템은 추천시 유저의 행동패턴 (사용자의 구매 이력, 평점)을 활용해 성능을 향상 시킨다. 즉, 추천시스템도 행동..

ML system 2024.04.23

[MLOps] 12. 데이터 관리 (feat.MinIO 소개)

데이터 관리의 필요성 1. ML Research vs ML Production ML에서 다양한 이유에서 데이터 관리의 필요성이 대두되나, 특히 연구와 배포의 괴리 문제 해결을 위해 중요함. 배포 이전 연구 단계에서, Competition 의 경우 지정된 데이터만, Research 의 경우 벤치마크 데이터만 사용하는 경우가 다수인데, 배포 이후 시간의 흐름에 따라 데이터가 변화하면서 모델의 성능은 필연적으로 떨어짐. 2. Data Drift 문제의 발생 이런 문제를 Data Drift 현상이라고 하는데, Train 데이터의 distribution과 Real world 데이터의 distribution이 서로 다르기 때문에 발생. 현실에서는 순간적으로, 지속적으로, 점진적으로, 일시적으로 등 데이터가 변화하므..

MLOps 2024.04.22

[MLOps] 11. 교차검증 (Cross-validation)

앞서 HPO를 통해 찾은 파라미터가 최적의 값인지 알아보는 방법은 무엇일까? 하이퍼파라미터 최적화의 대표적인 툴인 Optuna 활용 예시는 아래 실습 포스팅을 참고. https://ysryuu.tistory.com/16 [MLOps] 9. Optuna 실습 Optuna란? 하이퍼파라미터를 최적화 할 수 있는 대표적인 프레임워크 중 하나에 대해 모른다면 아래 포스팅 참고. https://ysryuu.tistory.com/15 [MLOps] 8. 하이퍼파라미터 최적화 Hyperparameter Optmization이란? ysryuu.tistory.com 교차검증 : K-fold Cross Validation 이란? - 목적 : 전체 Training 데이터를 Train, test(valid) 로만 나누는 Ho..

MLOps 2024.04.22

[MLOps] 10. MLflow + Optuna 실습

MLflow와 Optuna를 함께 사용 해보도록 하겠다. 시작하기 전, MLflow만 실습한 내용과 Optuna만 실습한 내용 각각은 아래 링크를 참고. https://ysryuu.tistory.com/14 https://ysryuu.tistory.com/16 [MLOps] 7. MLflow 로깅 실습 모델 파일 실행시 mlflow로 로깅해보기 모델이 있는 py파일에 로깅 코드를 함께 추가해서 실행해보자. 원래 train.py에 있는 내용은 아래 링크 참고하면 된다. 아래 파일 내용에서 mlflow관련 부분 제 ysryuu.tistory.com [MLOps] 9. Optuna 실습 Optuna란? 하이퍼파라미터를 최적화 할 수 있는 대표적인 프레임워크 중 하나에 대해 모른다면 아래 포스팅 참고. http..

MLOps 2024.04.22

[MLOps] 9. Optuna 실습

Optuna란? 옵튜나는 하이퍼파라미터를 최적화 할 수 있는 대표적인 프레임워크 중 하나. 하이퍼파라미터 최적화 개념은 아래 포스팅 참고. https://ysryuu.tistory.com/15 [MLOps] 8. 하이퍼파라미터 최적화 Hyperparameter Optmization이란? 하이퍼파라미터 최적화란, 주어진 목적함수를 최대/최소화 하는 최적의 파라미터 탐색 행위임 어떤 목적 함수들은 확률 관점에서 목적함수의 최대화가 필요한 반면 (Ac ysryuu.tistory.com 옵튜나 공식 github doc : https://github.com/optuna/optuna/blob/master/README.md#key-features optuna/README.md at master · optuna/opt..

MLOps 2024.04.22

[MLOps] 8. 하이퍼파라미터 최적화

Hyperparameter Optmization이란? 하이퍼파라미터 최적화란, 주어진 목적함수를 최대/최소화 하는 최적의 파라미터 탐색 행위임 어떤 목적 함수들은 확률 관점에서 목적함수의 최대화가 필요한 반면 (Accuracy, F1...) 다른 목적 함수들은 오류 관점에서 목적함수의 최소화가 필요함 (MSE, MAE...) 목적함수란? 목적함수란 머신러닝 모델의 평가지표로, 최적화optimization의 대상. 목적 함수objective function, 손실 함수loss function, 비용 함수cost function... 모두 모델 성능 평가에 따른 함수 최적화의 예시 n_estimator 에 따른 accuracy 값의 차이. 200일때 가장 높은 정확도가 됨을 알 수 있음. 이처럼 머신러닝에..

MLOps 2024.04.18