일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- DilatedNet
- eda
- 스택
- 알고리즘
- 파이썬
- 나는 리뷰어다
- MySQL
- Segmentation
- Semantic Segmentation
- 큐
- pytorch
- 협업필터링
- Object Detection
- Image Segmentation
- hackerrank
- 3줄 논문
- 코딩테스트
- 추천시스템
- Machine Learning Advanced
- 엘리스
- 프로그래머스
- 한빛미디어
- Python
- 입문
- DFS
- Recsys-KR
- TEAM EDA
- TEAM-EDA
- 튜토리얼
- 나는리뷰어다
- Today
- Total
목록EDA Study/Machine Learning Advanced (14)
TEAM EDA
올해 Recsys 2023 Challenge에 나가서 직장인 리더보드 순위 9등, 발표 당시 추정 5등을 달성했습니다. 관련한 발표 자료 공유드립니다.
이전 강의인 [Machine Learning Advanced] 1강. 머신러닝 강의 - 강의 개요에서는 머신러닝의 전체 프로세스를 살펴보면서 어떤 과정을 통해서 머신러닝을 적용하는지, 프로세스의 어떤 부분들을 강의에서 다루게 될지에 대해 살펴봤습니다. 이번 강의에서는 데이터의 전처리에 대해 살펴보겠습니다. 2강의 경우는 총 4개의 글로 구성되었으며 (데이터의 정의와 구성요소 / 결측치의 처리 / 이상치의 처리 / 범주형 변수의 처리) EDA 과정에 대해서는 따로 배우지는 않을 예정입니다. 만일 EDA에 관심이 있으신 분은 저의 예전 글을 참고하시기 바랍니다. Tabular 데이터는 무엇일까요? 데이터(Data)는 정보를 나타내는 숫자, 문자 또는 기호의 집합입니다. 데이터는 현실 세계에서 수집되거나 생성..
Machine Learning은 기계 학습이라고도 불리며, 컴퓨터에게 데이터를 제공하여 스스로 데이터의 패턴을 학습하고 결정을 내릴 수 있도록 만드는 것입니다. 그러면 우리는 왜 Machine Learning을 알아야 할까요? 크게는 3가지 이유가 있는 것 같습니다. 1. 구직시장에서의 새로운 기회 제일 중요한 부분인데 취업에서의 새로운 기회입니다. 머신러닝 분야에서의 전문가들은 현재 매우 높은 수요를 누리고 있으며 실력만 있으면 좋은 회사의 취업이 가능합니다. 저의 경우도 산업공학과를 나와 선배들처럼 생산시스템이나 물류관리쪽을 갈 수도 있었지만, 머신러닝쪽을 공부해서 AI Research Engineer가 될 수 있었습니다. 주변 친구들 중에서도 경영학과나 경제금융학과의 친구들이 머신러닝을 배워 데이터..
이번 글에서는 캐글에서 활용되는 알아두면 좋은 몇가지 팁들에 대해 알아보도록 하겠습니다. 먼저, 베이스라인을 만든 이후에 고려하면 좋을 사항들에 대해서 살펴본 이후 마지막 성능을 쥐어짤 테크닉들을 몇개 살펴보겠습니다. 실험을 하기 전 고려하면 좋을 사항들 첫째, 디버깅 모드가 있습니다. 디버깅은 프로그래밍에서 오류를 찾아내고 수정하는 필수적인 과정입니다. 특히 머신러닝에서는 전체 프로세스가 상당히 시간이 오래 걸리기 때문에 디버깅의 중요성이 크게 증가합니다. 예를 들어, Amazon KDD 추천 대회에 참여했을 때 전체 파이프라인을 완료하는 데 2~3일이 걸렸습니다. 딥러닝 대회에서도 학습 단계만으로 며칠이 소요되는 경우가 흔하며, 최근 인기 있는 LLM 모델의 경우 학습에 몇 십일이 걸릴 때도 있습니다..
연속형 변수를 전처리해야하는 이유는 무엇이 있을까요? 첫째, 일부 머신러닝 알고리즘은 입력 변수의 스케일에 따라 영향을 받아 학습이 불안정할 수 있습니다. 예를들어, 최근접이웃모델(KNN)의 경우 스케일의 전 후에 따라서 모델의 결과가 완전히 달라집니다. 해당 모델의 경우 간단하게 설명하면 새로운 입력이 들어왔을때 자신과 거리가 가까운 K개의 다른 데이터와 거리를 통해 분류 (or 회귀)를 수행하는 방법입니다. 하지만, 하나의 변수의 스케일이 너무 클 경우 거리의 계산이 해당 변수에 의해서만 진행됩니다. 유킬리디안 거리를 통해 보면 x가 proline, y가 hue로 보면거리가 proline 부분이 (800-700)^2으로 만단위이고 hue가 (1-0)^2으로 일의 단위라서 proline 변수에 의해서 ..
이번 강의에서는 머신러닝 모델 중에서 Non-Linear 모델 중 두번째인 KNN(K-Nearest Neighborhood) 방법에 대해 알아보도록 하겠습니다. KNN 모델이란 무엇이고 왜 알아야 하는 것일까요? KNN (최근접 이웃법)은 비선형모델의 하나로서 Tree 방식과는 다르게, 가장 가까운 K개의 데이터를 보고 해당 데이터가 속할 그룹을 판단하는 방법입니다. 아래의 예시에서는 삼각형에 대한 분류를 K=1일때는 보라색 사각형으로, K=3일때는 핑크색 원으로 분류한 것을 볼 수 있습니다. 이러한 KNN은 모델을 별도로 구축하지 않는다는 의미로 게으른 모델(Lazy model)이라고 부르기도하고, memory-based learning, instance based model 등 여러 표현으로 부르기도..
이번 강의에서는 파생 변수를 만드는 방법(Feature Engineering)에 대해 알아보겠습니다. 파생 변수를 만드는 것은 ML의 성능을 좌지우지하는 가장 중요한 부분 중 하나입니다. 대회에서 많은 사람들이 시간을 투자하는 부분이고, 많이 어렵기도 한 부분입니다. 도메인이나 데이터의 특성마다 적용하는 방법이 다르며, 데이터의 분석이 뒷받침이 되어야 의미가 있는 경우도 많습니다. 해당 강의에서는 일반적으로 적용할 수 있는 Feature Engineering 기법들에 대해 살펴보고, 몇몇 사례를 통해서 특정 데이터나 도메인에 대해 파생 변수를 어떻게 만들었는지 익혀보겠습니다. 파생변수란 무엇이고, 왜 중요할까요? 파생변수란 기존의 데이터를 통해서 새롭게 만들어 낸 변수를 의미합니다. 이전에 배웠던 연속형..
이번 강의에서는 머신러닝 모델 중에서 Non-Linear 모델 중 첫번째인 의사 결정 나무(Decision Tree)에 대해 살펴보도록 하겠습니다. Tree 모델이란 무엇이고 왜 알아야 하는 것일까요? 트리 구조의 모델은 스무고개처럼 여러 개의 분기를 통해 데이터 내의 규칙을 찾아 Tree 구조로 데이터를 분류 / 회귀하는 모델입니다. 선형 모델과 달리 비선형 데이터의 패턴을 파악할 수 있다는 장점이 있으며, 최근 경진대회에서 사용되는 모델들인 LightGBM이 Tree 기반의 모델입니다. 이러한 Tree 모델들의 경우 의사결정 나무(Decision Tree)를 시작으로 Random Forest, AdaBoost, GBM 등 많은 확장을 가졌으며 현업에서 굉장히 중요한 모델 중 하나입니다. 실제 Ligh..
이번 강의에서는 머신러닝 모델 중에서도 특히, 선형 모델인 선형 회귀 (Linear Regression)에 대해 살펴보도록 하겠습니다. 선형 회귀가 어떤 것인지 개념에 대해 살펴본 후, 해당 모델의 장점, 주의해야할 점, 단점에 대해 살펴본 후 해당 모델의 한계를 개선할 모델인 Ridge, Lasso, ElasticNet에 대해 살펴보겠습니다. 선형 회귀란 무엇이고 왜 해야하는 것일까요? 선형 회귀는 x라는 독립변수(independent variable)에 대해서 y라는 종속변수(dependent variable)의 관계를 선형으로 학습하는 방법을 의미합니다. 여기서 독립변수 x가 한개인 경우 (ex. y = b0 + b1*x1)를 단순 선형 회귀라고 하고, x가 여러개인 경우를 다중 선형 회귀라고 부릅..
이번 강의서부터는 본격적으로 모델들에 대해 알아보겠습니다. 머신러닝 모델 프로세스에서 이제까지 배운 것들을 상기해보면, 저희는 데이터가 있다고 가정했을때 전처리를 진행했습니다. 해당 과정에서 결측치, 이상치에 대해 처리를 했고 연속형 변수와 범주형 변수를 컴퓨터가 더 잘 이해할 수 있도록 만들었습니다. 그리고, 필요에 따라 파생 변수의 생성 또한 진행했습니다. 이제 이렇게 준비한 재료들을 기반으로 모델을 구울 차례입니다. 모델의 종류가 어떤 것들이 있는지 대표 모델들에 대해서 살펴본 이후에, 최근 대회에서 많이 사용하는 Boosting 계열의 모델인 LightGBM과 CatBoost에 대해 공부해보겠습니다. 머신러닝 모델의 종류 먼저, 머신러닝 모델은 목적에 따라 분류를 수행하는 분류 모델과 예측을 진행..