본문 바로가기

전체 글11

회귀분석이란 무엇인가? [오늘의 공부]오늘은 회귀 분석에 대한 공부를 진행해보고자 한다.▶ 회귀분석이란회귀분석(Regression)은 가장 넓은 의미로는 독립변수(x)로 종속변수(y)를 예측하는 것임. 독립변수와 종속변수체중이 식사량에 따라 달라진다고 가정하면, 식사량이 많아지면 체중도 증가하고, 식사량이 감소하면 체중도 감소함.그러면 체중은 식사량에 종속되었다고 할 수 있으며, 체중은 종속변수가 됨.추가적으로 가정에서 식사량이 왜 변하는지에 대한 내용이 없으므로 식사량은 독립적으로 변하는 특징을 갖고, 독립변수가 됨. 회귀분석을 진행하기 위한 전제조건은 4가지 기본 가정이 어긋나지 않아야 함.독립성 : 잔차 사이에는 상관관계 없이 독립적이어야함. 잔차와 독립변수 간 상관관계가 없어야 함.정규성 : 잔차가 평균이 0인 정규분포.. 2025. 1. 10.
자연어 처리에 대하여 [오늘의 공부]오늘은 자연어 처리에 대해 공부해보고자 한다. ▶ 개요자연어는 우리가 일상 생활에서 사용하는 언어이고, 자연어 처리(Natural Language Processing)는 이러한 자연어의 의미를 분석해서 컴퓨터가 처리할 수 있도록 만들어주는 일임.대용량의 텍스트 데이터로부터 의미 있는 정보를 찾아가는 방법임.NLP 응용 예, 음성인식(siri, 빅스비, Alexa..), 문서요약, 문서 분류, 이메일 필터, 감성분석, 챗봇 등이 있음. ▶ 자연어 처리 기술 개발의 역사1940년대 미국의 과학자 워런 웨이버는 2차 세계대전 때 적군의 암호문을 번역해 정보를 알아내기 위한 용도로 기계번역(MT, Machine Translation)이라는 기술을 개발함. 이 후 MT는 암호문 분석뿐만 아니라 언어.. 2025. 1. 9.
CatBoost란? [오늘의 공부]오늘은 Gradient Boosting 중 범주형 변수가 많을 때 많이 사용하는 CatBoost에 대해 공부해보고자 한다. ▶ CatBoost란Categorical Boosting의 약자로 2017년 4월에 배포되었고, 특정 회사에서 개발한 모델로 기업이 운영하여 사이트가 잘 되어 있음. gbm의 2가지 큰 문제점을 보완하기 위해 개발함.  1) Prediction Shifttrain 데이터에 대한 조건부 확률과 test 데이터에 대한 조건부 확률이 달라 오버피팅이 발생한다는 것임. 2) Target Leakage어떤 객체의 타겟 변수가 해당하는 객체의 피처 벨류를 계산하는데 사용되므로써 오버피팅이 발생할 수 있다는 것임.간단하게 말하면 정답 값(y)가 피처 벨류를 계산하는데 사용된다는 말.. 2025. 1. 8.
LGBM(Light Gradient Boosting Machine)이란? [오늘의 공부]오늘은 Gradient Boosting 중 내가 가장 좋아하고 자주 사용했던 LGBM(Light Gradient Boosting Machine, 이하 lgbm)에 대해 공부해보고자 한다. ▶  LGBM(Light Gradient Boosting Machine)이란?전통적인 gbm은 모든 피처, 객체들에 대해 스캔을 하고 그레디언트를 측정함. 그래서 시간이 오래 걸림.xgboost는 전체를 버켓이라는 단위로 나눠 그 버켓 안에서 탐색을 최적의 대안을 찾음.lgbm에서 모든 데이터 포인트를 스캔하지 않기 위해 Gradient-based One-Side Sampling(GOSS)을 통해 완화하며 모든 피처들을 효율적으로 사용하기 위해 Exclusive Feature Bundling(EFB)를 사.. 2025. 1. 7.
XGBoost(Extreme Gradient Boosting)란? [오늘의 공부]오늘은 Gradient Boosting 중 많이 사용하는 모델 중 하나인 XGBoost(Extreme Gradient Boosting, 이하 xgb)에 대해 공부해보고자 한다.▶ xgb란2016년도에 처음 출시되었으며, gradient boosting의 철학을 따라가지만, 이것을 어떻게 하면 빠르고 대용량 데이터를 처리할 수 있을까에서 시작되었다. XGBoost란 “Extreme Gradient Boosting”을 의미하며 GBM의 성능, 스케일, 속도를 최적화하기 위해 개발된 알고리즘으로 빠른 수행, 스케일업 하기 위해 병렬처리를 수행한다. 단점으로는 gbm에 비해 성능이 조금 떨어질 수 있다는 점이다. ▶ 알고리즘 특징1) split finding algorithm기존의 의사결정나무는 .. 2025. 1. 6.
FineTuning Chat GPT 연동 Chatbot 개발 프로세스 정리 [오늘의 공부]오늘은 Chat GPT를 연동하여 FineTuning을 통해 Chatbot을 개발하는 연습을 해보고자 한다. ▶ 개발 과정1. OpenAI API 발급“https://openai.com/blog/openai-api” 해당 URL로 접속하여 우측 상단 본인 계정 클릭 후 View API Keys 선택Create new secret key를 통해 API 키 발급 해당 API는 무료 5$ 정도만 사용 가능하며, 이 금액이 넘어가면 유료로 전환하여 사용해야 함. 사용량을 확인하고 싶으면 좌측의 Usage를 클릭하면 확인 가능함.  2. github 다운로드해당 URL(https://github.com/hyokwan/chatgpt/tree/main)을 접속하여 다운로드 진행함. 3. 환경설정○ 우선.. 2025. 1. 5.
Gradient Boosting Machine(gbm)란? [오늘의 공부]오늘은 Gradient Boosting Machine(이하, gbm)에 대해 공부해보고자 한다.gbm을 공부하기 전 Adaboost(이하, 에이다부스트)에 대해 먼저 알아야 한다. ▶ 에이다부스트란Adaptive Boosting의 약자로, 가중치를 부여한 약한 분류기를 모아서 최종적인 강한 분류기를 생성하는 기법이다. ※ 약한 분류기(Weak)란 랜덤 추측보다는 약간 더 좋은 분류기로, 적절한 가이드만 정해지면 강력한 성능을 가진 모델로 향상된다. ○ 에이다부스트 프로세스학습 데이터 세트 준비약한 분류기 생성함. 이 약한 분류기는 잘 맞추는 케이스도 있고 못맞추는 케이스도 있다.가중치를 재결정함. 앞선 모델이 잘 못 맞추는 케이스에 집중할 수 있도록 가중치를 부여한다.새로운 약한 분류기를 .. 2025. 1. 4.
Random Forest(랜덤포레스트)란? [오늘의 공부]머신러닝에서 기본이라고 할 수 있는 Random Forest(이하 랜덤포레스트)에 대해 공부해보고자 한다. ▶ 랜덤포레스트란랜덤포레스트는 기존 배깅의 이점을 살리고 변수를 랜덤으로 선택하는 과정을 추가함으로써 개별 나무들의 상관성을 줄여서 예측력을 향상한 앙상블 모형으로, 베이스러너는 DT(Decision Tree)이며, 의사결정나무 여러 개를 학습하여 결합하면 랜덤포레스트가 된다. ※ 배깅 이점: 복원추출, bootstrap에 bias 낮고 variance 높은 복잡한 알고리즘들을 개별적으로 학습시켜 최종 결합하는 것이 특징이다.▶ 랜덤포레스트의 특징(1) 배깅: 복원추출을 통해서 원래 데이터의 숫자만큼 샘플링한다.(2) 변수를 랜덤하게 선택하고, bootstrap을 통해 선택된 데이터 .. 2024. 12. 25.
bagging(배깅)이란? ※[오늘의 공부]앙상블에서 중요한 bagginng(배깅)에 대해 공부해보고자 한다. ▶ 배깅이란앙상블의 핵심 키워드는 다양성이다. 다양성에는 데이터의 다양성과 모델의 다양성 2개가 존재하는데 배깅의 경우 데이터의 다양성을 주제로 한다.Bagging(Bootstrap Aggregating)이란 기존 학습 데이터로부터 랜덤하게 ‘복원추출’하여 동일한 사이즈의 데이터 세트를 여러개 만들어 앙상블을 구성하는 여러 모델을 학습시키는 방법이다. ※ 복원 추출 예시   * 여기서 bootstrap은 복원추출로 만들어진 새로운 데이터 세트이다.  * 우리가 원하는 개수만큼 복원추출을 통해 Bootstrap을 생성이 가능하다.▶ bootstrap 효과 (1) 학습관점: 데이터가 갖는 분포를 좋은 쪽으로 왜곡시킴. -> .. 2024. 12. 25.
Ensemble(앙상블)이란? [오늘의 공부]내가 인공지능을 처음 접했을 때부터 자주 사용하는 앙상블 알고리즘에 대해 공부해보고자 한다. ▶ 앙상블이란여러 개의 분류기를 생성하고, 그 예측을 결합함으로써 보다 정확한 예측을 도출하는 기법이다. ▶ 개요특정 알고리즘이 모든 데이터에 대한 성능 즉, 분류나 예측을 진행할 때 항상 1등인 알고리즘은 존재할까? 라는 궁금증이 생겼다.조사를 해보니 JMLR에 발표한 논문 중 121개의 데이터 세트를 171개의 알고리즘(boosting 제외)으로 30번 학습을 한 결과가 있는데 결론을 말하자면, 상대적으로 RF, SVM 계열이 높게 나오긴 했으나 절대적으로 성능이 좋은 알고리즘은 없다는 것을 보여준다.결론적으로 최적의 알고리즘은 문제의 목적, 데이터의 형태 등을 종합적으로 고려하여 선택해야 하며.. 2024. 12. 17.