기술(Tech, IT)/머신 러닝(Machine Learning) 43

[ML] Naive Bayes

Naive Bayes는 분류(classification) 작업에 특히 적합한 확률론적 머신 러닝 classfier로, 스팸 이메일 탐지, 감성 분석, 텍스트 분류와 같은 NLP (Natural Language Processing, 자연어 처리) 작업에 자주 적용된다. Naive Bayes의 기본 아이디어는 event와 관련이 있을 수 있는 조건에 대한 사전 지식을 바탕으로 event의 확률을 설명하는 Bayes' theorem (베이즈 정리)에 뿌리를 두고 있다. NLP에서 'event'는 종종 텍스트의 범주 또는 클래스 (class) (예를 들어, '스팸' 또는 '스팸 아님')을 의미하며, '조건 (condition)'은 텍스트에 특정 단어가 있는지 또는 없는지를 의미한다. Bayes' theorem은..

[ML] TF-IDF - 2

앞선 포스팅(https://danielcs.tistory.com/184)에서 살펴봤듯이 TF-IDF는 컬렉션 또는 말뭉치(corpus)에서 단어가 문서에 얼마나 중요한지를 반영하는 데 사용되는 수치 통계다. 정보 검색 및 텍스트 마이닝에서 가장 널리 사용되는 용어 가중치 체계 중 하나다. 기본 개념은 모든 문서에서의 빈도와 빈교해 특정 문서에서 얼마나 자주 사용되는지에 따라 용어에 가중치를 부여하는 것이다. 이는 특정 문서에 더 고유한 단어를 강조하는 데 도움이 된다. 계산하는 방법을 간단하게 살펴보고, 예시를 통해 이해해보자. TF (Term Frequency): 한 문서에 한 단어가 얼마나 자주 등장하는지를 측정 : TF (t, d) = 문서 d에 용어 t의 등장하는 횟수 / 문서 d의 모든 단어의 ..

[ML] Viterbi Algorithm (비터비 알고리즘)

Viterbi Algorithm은 특히 Markov information sources (마르코프 정보 소스) 및 Hidden Markov Model (HMM, 은닉 마르코프 모델)의 맥락에서 관찰된 사건의 연속으로 나타나는 가장 가능성이 높은 숨겨진 상태의 연속성 - Viterbi path 라고도 함 - 을 찾는 데 사용되는동적 프로그래밍 (Dynamic programming) 알고리즘이다. 이 알고리즘은 Andrew Vitervi가 통신에 사용되는 Convolutional Codes (컨볼루션 코드, 합성 부호) 를 디코딩하기 위한 방법으로 도입했다. 이후 sequence alignment (서열 정렬)을 위한 Bioinformatics (생물정보학), 음성 인식 등 다양한 분야에 적용됐다. 아래는 ..

[ML] Hidden Markov Model (HMM, 은닉 마르코프 모델) - 1

HMM은 시간에 따른 시스템을 나타내는 통계 모델이다. 상태를 직접 관찰할 수 없기 때문에 "hidden" 이라고 불리며, 대신 이러한 은닉 상태에 대한 정보를 제공하는 순서 (sequence)를 관찰한다. HMM은 일반적으로 음성 인식, 자연어 처리, 생물 정보학 (bioinformatics에서 단백질 2차 구조 예측 등)과 같은 다양한 곳에 사용된다. HMM의 주 구성 요소는 아래와 같다. States (상태) : 이는 모델의 "hidden" 부분이다. states는 무엇이든 나타낼 수 있지만 직접 관찰하지는 않는다. 대신 관찰한 데이터에서 state를 추론한다. 예를 들어, 음성 인식 시스템에서 states는 phoenemes (한 언어의 음성체계에서 단어의 의미를 구별 짓는 최소의 소리 단위)에 ..

[ML] NLP Data Cleaning의 필요성

NLP에서 Data Cleaning은 중요한 preprocessing (전처리 단계) 로 아래와 같은 이유로 필요하다. Noise Reduction (노이즈 감소) : raw 테스트 데이터는 종종 많은 'noise'를 포함하고 있다. 여기에는 관련 없는 문자, HTML 태그, URL 또는 기타 필수적이지 않은 정보가 포함된다. cleaning은 이러한 noise를 제거해 알고리즘이 관련 기능에만 집중할 수 있도록 도와준다. Standarization (표준화) : 텍스트 데이터는 다양한 소스에서 가져올 수 있으면 대소문자 형식, 다양한 날짜 형식 또는 대체 철자법 등 불이치가 있을 수 있다. 텍스트를 cleaning하고 standaizing하면 동일한 용어나 문구가 균일하게 표현돼 모델의 정확도가 향상된..

[ML] TF-IDF - 1

TF-IDF (Term Frequency-Inverse Document Frequency)는 information retrieval (정보 검색) 및 text mining (텍스트 마이닝)에 사용되는 수치 통계로, 문서 모음 (일반적으로 corpus, 말뭉치)과 관련해 문서 내 용어(단어 또는 구문)의 중요성을 나타낸다. TF-IDF 벡터화는 텍스트 문서 모음을 해당 용어의 TF-IDF 점수를 기반으로 숫자 벡터로 변환하는 데 사용되는 기법이다. NLP 및 text analysis에 널리 사용된다. TF-IDF에 대해 하나하나 알아보자. TF (Term Frequency, 용어 빈도) : Term Frequency는 문서에서 용어가 얼마나 자주 나타나는지를 측정한다. 이는 문서에서 용어가 나타나는 횟수를..

[ML] Multinomial Naive Bayes (다항 분포 나이브 베이즈) - 1

Multinomial Naive Bayes는 classification tasks, 특히 NLP 및 text analysis에 널리 사용되는 머신 러닝 알고리즘이다. 이는 Bayes' theorem과 조건부 독립 가정의 특성에 기반한 Naive Bayes 알고리즘의 확장판이다. Multinomial Naive Bayes의 원리는 아래와 같다. Bayes' Theorem : 이 알고리즘의 핵심은 이벤트와 관련이 있을 수 있는 조건에 대한 사전 지식을 바탕으로 특정 이벤트가 발생할 확률을 계산하는 Bayes' Theorem에 의존한다. classification의 맥락에서 이 알고리즘은 주어진 입력이 특정 클래스에 속할 확률을 계산하는 데 도움이 된다. Multinomial Distribution (다항 분..

[ML] Optimization method (최적화 알고리즘)

최적화 알고리즘의 목적은 cost function (비용 함수) 을 최소화 (또는 최대화) 해 모델에 가장 적합한 파라미터를 찾는 것으로, Gradient Descent (경사 하강법), Stochastic Gradient Descent (확률적 경사 하강법), Newton's Method, Adam, RMSProp 등이 있다. 최적화 알고리즘이 모델에서 맞는 역할은 cost function 의 정보를 기반으로 모델 파라미터를 조정하거나 업데이트 하는 방법을 결정하는 것이다. 대표적인 최적화 알고리즘을 알아보자. 1. Batch Gradient Descent (배치 경사 하강법, 일괄 경사 하강법) : * 전체 데이터 세트를 사용해 gradient (기울기) 를 계산한다. * convex loss sur..

[ML] t-SNE (t-Stochastic Neighbor Embedding) - 2

예시를 통해 t-SNE를 이해해보자. 특징에 기반해 동물 유형을 시각화 하는 예시다. 다양한 동물의 데이터 집합이 있고 각 동물에 대해 체중, 키, 수명, DNA 유사성 등 100개의 서로 다른 특징을 측정해 100차원 공간을 만든다고 가정해보자. 우리의 목표는 이러한 특징을 기반으로 국소적 유사성을 유지하면서 2D 공간에서 이러한 동물들이 서로 어떻게 관련되어 있는지를 시각화 하는 것이다. 고차원 유사성 : "고양이"라는 한 동물을 선택해 보자. 데이터 세트의 다른 모든 동물에 대해 해당 동물이 얼마나 "고양이"와 유사한지를 나타내는 확률을 계산하고, 이 유사성은 100차원 공간에서 "고양이"와 다른 모든 동물 사이의 유클리트 거리를 기반으로 한다. 예를 들어, "고양이"와 "호랑이"와 같은 두 동물이..

[ML] t-SNE (t-Stochastic Neighbor Embedding) - 1

이전 포스팅에서 설명한 SNE (Stochastic Neighbor Embedding) 의 업그레이트 버전으로, 고차원 데이터의 축소 및 시각화를 위해 설계된 Machine Learning 알고리즘이다. 특히, 기본 구조를 고차원으로 인식하기 어려울 수 있는 데이터 집합을 시각화하는 데 적합하다. 고안된 동기 : PCA 같은 차원 축소를 위한 많은 기법이 있지만, t-SNE는 특히 로컬 구조를 보존하도록 설계됐다. 즉, 고차원 공간에서 서로 가까운 점은 저차원 공간에서도 가깝게 유지되는 경향이 있다. 동작 방식 : 고차원 공간에서 쌍별 유사성 (pairwise similarities) 를 계산하는 것으로 시작한 다음, 고차원 포인트 쌍에 대한 확률 분포를 구성해 유사한 포인트가 선택될 확률이 높아지도록 ..