Processing math: 100%
728x90
반응형

전체 글 114

[pytorch] 어간 추출(stemming)과 표제어 추출 (Lemmatization)

자연어 처리(NLP)에서 어간 추출(Stemming)과 표제어 추출(Lemmatization)은 텍스트 데이터를 정제하고 분석하기 위한 전처리 과정입니다.이 두 기법은 단어의 형태를 변환하여 텍스트의 차원 수를 줄이고, 모델의 학습 성능을 향상하는 데 도움을 줍니다. 하지만 어간 추출과 표제어 추출은 각기 다른 방법론과 목적을 가지고 있습니다.어간 추출은 단어의 접사를 제거하여 기본 형태인 어간을 추출하는 기법으로, 규칙 기반 알고리즘을 사용하여 처리 속도가 빠르지만 의미의 정확성을 보장하지는 않습니다.반면, 표제어 추출은 단어의 문법적 맥락과 품사를 고려하여 사전에 나오는 기본 형태를 찾는 과정을 포함합니다. 이 과정은 보다 정교하며, 단어의 의미적 일관성을 유지합니다.이번 포스팅에서는 어간 추출과 표..

pytorch 2024.11.12

[pytorch] 불용어(stopwords)란? | 한국어 불용어 제거 | 영어 불용어 제거

불용어(stopwords)란?텍스트에서 의미 전달에 크게 기여하지 않는 단어들을 의미합니다.예를 들어, 한국어에서는 '그리고', '또는', '에서', '하지만' 같은 단어들이 불용어에 해당할 수 있으며, 영어에서는 'the', 'is', 'in', 'and' 같은 단어들이 있습니다.불용어 제거의 목적은 텍스트 데이터에서 의미를 효과적으로 분석하기 위해 불필요한 정보를 제거하는 것입니다. 불용어들은 문장에서 자주 등장하지만, 특정 주제나 의미를 분석하는 데 있어 중요한 정보를 담고 있지 않기 때문에, 이를 제거함으로써 모델의 성능을 개선할 수 있습니다. 불용어를 제거하면 데이터의 크기가 줄어들고, 모델이 중요한 특징에 집중하도록 돕는 효과가 있습니다.불용어 제거 방법은 주로 미리 정의된 불용어 목록을 사용..

pytorch 2024.11.04

[pytorch] 토큰화 | 토크나이저(Tokenization)

자연어 처리(NLP)의 세계에서 '토큰화'는 텍스트 데이터를 컴퓨터가 이해할 수 있는 형태로 변환하기 위한 과정 중 하나로, 자연어를 잘게 쪼개어 분석 가능한 단위로 만드는 작업을 말합니다. 이 글에서는 토큰화의 정의와 유형, 그리고 사용 사례에 대해 자세히 살펴보겠습니다.토큰화란 무엇인가?토큰화(Tokenization)는 문장을 의미 있는 단위인 '토큰'으로 분리하는 과정을 의미합니다. 여기서 토큰은 단어, 어절, 혹은 심지어 문자일 수도 있습니다. 예를 들어, "오늘 날씨가 좋다"라는 문장은 토큰화 과정을 통해 ["오늘", "날씨가", "좋다"]와 같은 단어 단위로 나눌 수 있습니다. 컴퓨터는 이러한 토큰들을 통해 자연어 텍스트를 분석하고 이해할 수 있습니다.토큰화의 유형토큰화는 크게 두 가지 주요 ..

pytorch 2024.10.31

[pytorch] LSTM(Long Short-Term Memory)이란? / LSTM을 Pytorch로 구현 실습 코드

RNN(순환신경망)의 한계점1. 장기 의존성 문제 (Long-term Dependency Problem)   - RNN은 이전 시점의 정보를 현재 시점에 반영하는 구조이기 때문에, 과거의 중요한 정보를 오랫동안 기억하는 데 어려움이 있습니다.   - 시간이 길어질수록 (시퀀스가 길어질수록), RNN은 초기 시점의 정보를 잊어버리기 쉬워집니다.   - 예를 들어, h100h1부터 h99까지의 은닉 상태에 의존하고 있지만, 시간이 길어질수록 h1의 정보는 거의 전달되지 않게 됩니다.2. 기울기 소실 문제 (Vanishing Gradient Problem)RNN에서 은닉 상태의 가중치 Whh는 매 타임스텝의 은닉 상태를 업데이트하는 ..

pytorch 2024.09.26

[pytorch] 순환 신경망(Recurrent neural network, RNN) 이란? / RNN을 Pytorch로 구현 실습 코드

DNN과 RNN 비교딥러닝에서 데이터의 시간적 연속성을 처리하는 방법은 모델 선택에 중요한 영향을 미치는데요. 우선 DNN과 RNN을 비교하여 시간적 연속성의 중요성을 살펴보시죠.시간적 연속성을 고려하지 않은 경우- 왼쪽의 수식에서는 입력 데이터 xt가 주어졌을 때, 은닉층 ht가 가중치 Wxh와 활성화 함수 f()을 통해 계산됩니다. 이 은닉층의 출력 ht는 다시 가중치 Whx와 활성화 함수 g()를 거쳐 최종 출력값 yt를 생성합니다.- 이 경우, 각 시점 t의 데이터는 독립적으로 처리됩니다. 이전 시점의 정보는 고려되지 않으므로, 모델은 시간적 연속성이나 데이터 간의 ..

pytorch 2024.09.24

[python] github .py 파일 실행해보기 (train.py, utils.py)

터미널에서 CUDA_VISIBLE_DEVICES=0 python train.py 실행 실행하기 전, 경로 설정을 해줘야 함. 필요한 파일들을 동일한 경로에 넣기.train.py 파일을 수정해서 현재 경로에 데이터셋이 잘 다운로드 될 수 있도록 설정하기. https://github.com/facebookresearch/mixup-cifar10/blob/main/train.py mixup-cifar10/train.py at main · facebookresearch/mixup-cifar10mixup: Beyond Empirical Risk Minimization. Contribute to facebookresearch/mixup-cifar10 development by creating an account o..

python 2024.09.10

[pythonML] Autogluon 사용법 | Autogluon 매개변수, 속성, 메소드 | Autogluon 코드 적용

AutoGluon 이란?AutoGluon은 머신러닝 워크플로우를 자동화하는 강력한 도구로, 사용자가 최소한의 코드만으로도 다양한 모델을 자동으로 학습하고 튜닝할 수 있습니다. AutoGluon은 데이터 전처리, 피처 엔지니어링, 하이퍼파라미터 최적화, 앙상블 학습 등의 복잡한 작업을 자동으로 수행하며, 다양한 데이터 유형을 지원합니다. 특히, 모델 성능을 최적화하기 위해 다양한 모델을 시도하고, 최적의 모델을 선택하거나 여러 모델을 결합하여 최상의 예측 성능을 제공합니다. GPU를 활용한 고속 학습도 지원하여, 대규모 데이터셋에서도 효율적으로 작동합니다.TabularPredictor 클래스의 매개변수 label(str) 예측할 타겟 변수를 포함하는 열의 이름. problem_type (str, 기본값 =..

pythonML 2024.09.01

[pythonML] H2O AutoML 사용법 | H2O 코드 적용 | H2O 파라미터

H2O란?H2O의 AutoML은 머신러닝 워크플로우를 자동화하는 데 사용될 수 있으며, 사용자가 지정한 시간 내에서 여러 모델을 자동으로 학습하고 튜닝합니다. 또한, H2O의 모델 설명 기능은 AutoML 객체 전체(즉, 여러 모델들로 구성된 모델 그룹)와 개별 모델(리더 모델 포함)에 적용할 수 있습니다. AutoML 실행 후 생성된 다양한 모델들에 대해 어떻게 작동하고 있는지, 각 모델의 예측이 어떻게 이루어졌는지 등을 설명할 수 있는 도구들을 제공합니다. AutoML 객체 자체가 앙상블 모델은 아니지만, AutoML이 생성한 앙상블 모델은 H2O의 모델 설명 기능을 통해 해석할 수 있습니다.H2O AutoML 인터페이스H2O AutoML 인터페이스는 가능한 한 적은 파라미터로 설계되어 있어, 사용자..

pythonML 2024.08.30

[pythonML] 스태킹 앙상블(Stacking ensemble)이란? | 스태킹(Stacking)의 작동 방식 | StackingClassifier 함수 적용

스태킹에 대해 설명하기 전에, 이를 이해하기 위한 두 가지 중요한 개념을 먼저 알아보겠습니다: 기본 학습자와 메타 학습자입니다.기본 학습자(Base Learner)기본 학습자는 앙상블 모델의 첫 번째 단계에서 사용되는 개별 모델들입니다. 각 기본 학습자는 독립적으로 학습하여 자체적인 예측을 수행합니다. 이들은 앙상블을 구성하는 기본적인 요소로, 서로 다른 알고리즘을 사용할 수도 있고, 동일한 알고리즘을 다른 데이터 샘플에 대해 학습시킬 수도 있습니다.메타 학습자(Meta Learner)메타 학습자는 앙상블 모델의 두 번째 단계에서 작동하는 모델입니다. 메타 학습자는 기본 학습자들이 생성한 예측값을 입력으로 받아, 이를 바탕으로 최종 예측을 수행합니다. 메타 학습자는 기본 학습자들이 가진 오류나 편향을 보..

pythonML 2024.08.28

[pythonML] 배깅(Bagging)이란? | 배깅(Bagging)의 동작 원리 | 배깅을 사용한 모델 학습 코드

배깅(Bagging)이란?배깅은 동일한 알고리즘을 사용하여 여러 개의 개별 모델을 구성하는 방법입니다. 각 학습자는 원본 데이터에서 랜덤으로 샘플링(행(row)을 랜덤으로 선택)된 서브셋을 사용해 학습되며, 최종 예측은 이들의 예측을 평균내거나 다수결 투표로 결정됩니다. 대표적인 예로는 "랜덤 포레스트"가 있습니다. Bagging, 또는 Boostrap Aggregating은 앙상블 학습에서 사용되는 기법 중 하나인데요. 이 기법은 주로 모델의 분산을 줄이고 예측 성능을 향상하기 위해 사용되죠. Bagging은 랜덤포레스트와 유사하지만, 중요한 차이가 있습니다. 랜덤 포레스트는 각 결정 트리(Decision Tree)가 일부 피처만을 사용해 학습되는 반면, Bagging은 모든 피처를 사용합니다.배깅(B..

pythonML 2024.08.28
728x90
반응형