본문 바로가기

분류 전체보기54

Catboost란? 기존의 부스팅 기법 기존 부스팅 기법 동작 1. 실제 값들의 평균과 실제 값의 차이인 잔차(Residual)를 구한다. 2. 데이터로 이 잔차들을 학습하는 모델을 만든다. 3. 만든 모델로 예측하여, 예측 값에 Learning_rate를 곱해 실제 예측 값(평균 + 잔차 예측 값*lr) 을 업데이트한다. 4. 1~3 반복 문제점 1) 느린 학습 속도 배깅과 비교했을 때, 훨씬 느린 속도를 보인다. 배깅의 경우 여러 트리들이 병렬적으로 모델 학습을 수행하고 부스팅의 경우 순차적으로 모델 학습을 수행해나가니, 당연히 부스팅이 느릴 수밖에 없다. 2) 오버피팅 속도 문제는, 샘플링이나 알고리즘 최적화로 어느 정도 개선이 되었다면, 다음 진짜 문제는 오버 피팅이다. 부스팅이라는 개념 자체가 가지고 있는 문제인데.. 2022. 7. 21.
Chapter1. 한눈에 보는 머신러닝 1.1 머신러닝이란? 일반적 정의 [머신러닝은] 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야다. 조금 더 공학적 정의 어떤 작업 T에 대한 컴퓨터 프로그램의 성능을 P로 측정했을 때 경험 E로 인해 성능이 향상됐다면, 이 컴퓨터 프로그램은 작업 T와 성능 측정 P에 대해 경험 E로 학습한 것이다. 스팸 필터는 스팸메일과 일반 메일의 샘플을 이용해 스팸메일 구분법을 배울 수 있는 머신러닝 프로그램이다. 시스템이 학습하는 데 사용하는 샘플을 훈련 세트 training set라고 하고 각 훈련 데이터를 훈련 사례 trainnig instance 혹은 샘플이라고 한다. 이 경우 작업 T는 새로운 메일이 스팸인지 구분하는 것이고, 경험 E는 훈련 데이터 trainnig data이며, .. 2022. 7. 20.
[논문] ViT(Vision Transformer) NLP에서 Transformer가 RNN을 구축한 것 처럼, 이미지 인식에서도 Transformer가 CNN을 구축할 수 있을 것이라는 기대를 받고 있는 새로운 모델 ViT에 대해 살펴보자! 논문 : An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale Vision Transformer(=ViT)의 중요한 부분은 세 가지이다. 1) 입력 이미지 2) 아키텍처 3) 사전학습과 파인 튜닝 1. 입력 이미지 기본적으로 Transformer에서는 각 단어가 벡터로 표현되어 있는 문장을 한 번에 입력한다. 이러한 Transformer에 이미지를 넣어 다루고 싶은 경우에 아래의 과정을 생각해 볼 수 있다. 이미지를 패치로 나눠서 각 배.. 2022. 7. 18.
CNN VS FC FC(완전연결) 계층의 문제점 완전 연결 계층(fully connected layer)을 이용해 MNIST 데이터 셋을 분류하는 모델을 만들 때, 3 차원(세로, 가로, 채널)인 MNIST 데이터(28, 28, 1)를 입력 층(input layer)에 넣어주기 위해서 아래의 그림처럼, 3 차원 → 1 차원의 평평한(flat) 데이터로 펼쳐줘야 한다. 즉, (28, 28, 1)의 3 차원 데이터를 28X28X1= 784의 1 차원 데이터로 바꾼 다음 입력 층에 넣었다. 이러한 완전 연결 계층의 문제점은 바로 '데이터의 형상이 무시' 된다는 것 이미지 데이터의 경우 3 차원(세로, 가로, 채널)의 형상을 가지며, 이 형상에는 '공간적 구조(spatial structure)'를 가진다. 예를 들어 공간적으로 .. 2022. 7. 14.
사무실 내 전력량 예측 - (4) 2022.07.12 - [프로젝트] - 사무실 내 전력량 예측 - (3) 사무실 내 전력량 예측 - (3) 2022.03.24 - [프로젝트] - 사무실 내 전력량 예측 - (2) 사무실 내 전력량 예측 - (2) 2022.03.15 - [프로젝트] - 사무실 내 전력량 예측 (1) 사무실 내 전력량 예측 (1) 2주간 인턴을 하게 된 회사에서 작은 프 studydaily.tistory.com 드디어 분석에 들어간다! 학습을 시키기 위해 Train, Test dataset을 설정한다. 시계열 데이터를 어떻게 하면 잘 나눌 수 있을까 많은 고민을 했지만, 결국 가장 단순한 방법으로 시도해 보았다. sktime library으로 마지막 일주일을 validation set으로 설정 y = data.metera.. 2022. 7. 12.
사무실 내 전력량 예측 - (3) 2022.03.24 - [프로젝트] - 사무실 내 전력량 예측 - (2) 사무실 내 전력량 예측 - (2) 2022.03.15 - [프로젝트] - 사무실 내 전력량 예측 (1) 사무실 내 전력량 예측 (1) 2주간 인턴을 하게 된 회사에서 작은 프로젝트를 진행했었다. 주제는 사무실에서 사용되고 있는 전력량을 예측하는 studydaily.tistory.com 의미 있는 변수 추가하기 요일별, 시간별 전력량 평균 변수 생성 power_mean = pd.pivot_table(train_f, values = 'meterage', index = ['hour', 'day'], aggfunc = np.mean).reset_index() tqdm.pandas() train_f['day_hour_mean'] = trai.. 2022. 7. 12.