목록Machine Learning (19)
운동하는 대학원생

교차 검증 모델을 학습하면서 교차 검증을 하는 이유는 무엇일까. 이유는 바로 과적합(Overfitting)의 문제를 보안하기 위해서 이다. 과적합 문제는 모델학습 과정에서 항상 주의를 해야 하는 문제로 훈련 데이터에만 모델이 치중하여 학습을 하면 실제 데이터를 가지고 예측을 하였을 때 성능이 떨어지는 문제를 말한다. 그렇다면 교차 검증 방식은 어떻게 작용할까? 교차 검증 방식은 데이터 편중을 막기 위해서 학습 데이터 세트를 가지고 학습 데이터와 검증 데이터 세트를 또한번 나눠서 실제 학습을 하기 이전에 1차 평가를 하는 방식이다. 그렇게 된다면 최종 학습을 하기 위해서 모델의 최적화를 학습 이전에 가능하다. K-Fold K-Fold 교차 검증 방식은 가장 보편적으로 사용되는 교차 검증 기법이다. K-Fo..

Label encoding(레이블 인코딩) 데이터 예측 모델을 훈련 하가 위해서 많은 머신러닝 알고리즘은 문자열 데이터 형식을 지원하지 않는다. 그래서 모든 문자열 값은 인코딩 돼서 숫자 형으로 변황이 되어야 한다. 문자의 종류는 연속적인 값인 수치형 데이터와 범주형 데이터가 있다. 범주형 데이터들은 예측값과 연관성을 분석해보면 예측하려 하는 컬럼과 연관성이 있다면 수치형으로 바꾸는 레이블 인코딩 방식을 사용하여 데이터를 바꿔 주어야 하지만 범주형 데이터에서도 식별자의 특징을 띄는 범주형 데이터는 오히려 예측 성능을 덜어 뜨리기도 한다. 식별자의 특징을 가지는 범주형 데이터는 예를 들어 주민번호, 아이디 같은 한 행이 다른 행과 다른 것을 식별이 가능한 테이터를 말한다. from sklearn.prepr..

파이썬 머신러닝 완벽 가이드(개정 2판) 책 내용을 정리한 내용입니다. 다항 회귀 이해 이전 공부한 내용까지는 단순 회귀에 관하여 설명했지만 이번에는 현실 상황에서 더 자주 있는 독립변수의 단항식이 아닌 2차, 3차 이상의 다항식일 경우에 해당하는 다항 회귀에 대햐여 이야기를 해보겠다. 다항 회귀는 단순회귀의 일차원 직선과 다르게 곡선형의 모양을 띄고 있다. 그래서 어떤 데이터에서는 선형 모델이 더 좋은 정확도를 보일 수도 있지만 일반적인 경우에는 다항 회귀 모델이 더 높은 정확도를 나타낸다. 다항 회귀를 이용한 과소적합 및 과적합 이해 과적합 다항 회귀 모델을 사용하는것이 항상 좋은 경우만 있는 것은 아니다. 이유는 항상 과소 적합과 과적 합의 오류를 신경을 써야 한다. 일단 과적합(overfittin..

What is Gradient Descent 이전 글에서 이야기했지만 회귀 분야에서 예측값과 실제값의 차이, 즉 비용을 최소화해주는 게 가장 중요하다. 이때 이 비용 값을 최소화해주는 방식이 Gradient Descent(경사 하강법)이다. 이 이론이 등장한 배경은 직관적인 단순 선형 회귀가 아닌 함수상으로 생각하기 어려운 다중으로 종속변수가 존재하는 상황에서는 RSS 비용 값을 최소화하기 위해서 데이터를 기반으로 알고리즘을 학습하는 이 방식이 등장하게 되었다. 수학 공식은..... 생략..ㅎㅎ 출처: https://angeloyeo.github.io/2020/08/16/gradient_descent.html 위의 동영상을 참조하면 처음 초기 값에서 RSS 비용 함수의 비용 값이 큰 상황의 함수가 있다...

1.What is Regression 회귀(regression)는 머신러닝 분야에서 가장 일반적이고 흔한 이론이다. 통계학에서는 '회귀는 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 기법을 통 친한다.'라고 표현한다. 이걸 수학적 공식으로 생각을 해보자면 y=W1*X1+W2*X2+....+WnXn라고 한다면 여기서 각각의 미지수 X는 독립변수 Y는 종속 변수라고 이야기한다. 그리고 여기서 W는 독립변수 X에 영향을 미치는 회귀 계수이다. 독립변수 개수 회귀 계수의 결합 1개: 단일 회귀 선형: 선형 회귀 여러 개: 다중 회귀 비선형: 비선형 회귀 이렇게 독립변수의 개수가 한 개인지 여러 개인지에 따라 단일 회귀, 다중 회귀로 구분한다. 이제 이전에 글을 올렸던 분류(Classific..
Intro ML 프로젝트 진행 중에 지속적으로 나왔던 MLOps 이론에 대하여 정리의 필요성을 느끼고 내용을 한번 공부하고 정리하는 차원에서 글을 작성을 하겠다. 먼저 MLOps 라는 개념이 언급되었던 이유는 ML 분야에서 데이터를 정제하고 모델을 학습시키고 그리고 그 모델을 평가, 배포하는 이런 일련의 과정이 생각보다 많은 분야이 사람들과 그리고 시간, 인력 등 많은 작업들을 필요로 한다. 그래서 이런 과정들을 하나의 파이프라인을 구조화하여 빠르고 단순하게 ML을 구현이 가능할까? 하는 물음에서 이 개념이 언급이 되었다. MLOps란 이전에 미리 존재하는 DevOps(Software Devdlopment and IT Operation)이론과 비슷한 개념으로 MLOps(Machine Learning Op..

What is Synthetic Data 머신러닝 모델을 만들고 적용을 시켜 예측을 하다 보니 데이터의 양이 너무 적어서 예측의 정확도가 좋지 않은 경우가 생각보다 많이 있었다. 이런 상황에서 예측의 정확도를 높이기 위해서 모델의 최적의 파라미터를 찾거나 전처리를 잘하여 정확도를 높이는 방법이 있지만 절대적인 데이터의 양이 부족하다면 정확도를 높이는 게 한계가 있다. 그래서 정확도를 높이기 위한 방식을 찾아보다가 Synthetic Data(합성 데이터)라는 이론에 대하여 알게 되었다. Synthetic Data(합성 데이터)가 등장하게된 배경으로는 양질의 데이터를 대량으로 얻기 어려운 상황과 그리고 요즘 딥러닝에서 이슈가 되고 있는 데이터에 대한 개인정보보호 때문에 데이터를 얻는데 시간과 제한들 때문에 ..

1.Intro Xgboost는 최근 까지도 매우 각광받는 부스팅 알고리즘 방식이다. 하지만 여전히 많은 학습 시간을 필요로 한다. 그래서 조금 더 성능을 좋가 하기 위해서 LightGBM 알고리즘이 나왔다. 먼저 가장 비교되는 큰 장점은 학습 시간이 훨씬 적다 는 점이다. 또한 사용하는 메모리 양도 적다. 그러면서 Xgboost와 성능 차이도 많이 나지 않는다. 2. LightGBM LightGBM은 일반적인 균형 트리 분할(Level Wise) 방식과는 차이를 가지고 있다. 여기서는 리프 중심 트리 분할(Leaf Wise) 방식을 사용한다. 균형 트리 분할방식은 오버피팅을 줄여주는 효과적인 방식이지만 시간이 많이 걸리는 단점이 있다. 그 이유는 균형을 유지하면서 분할을 하므로 균형을 맞춰주는 시간을 반..