본문 바로가기

개발 관련 공부/머신러닝8

자연어 처리에 대하여 [오늘의 공부]오늘은 자연어 처리에 대해 공부해보고자 한다. ▶ 개요자연어는 우리가 일상 생활에서 사용하는 언어이고, 자연어 처리(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.