ML&DL(14)
-
[ML] NMF(Non-negative Matrix Factorizaion), 비음수 행렬 분해
이번 글은 유사도 검정을 통해 알게 된 NMF(Non-negative Matrix Factorization) 기법에 대해 알아보겠습니다. NMF은 유사도 검정 전 텍스트 데이터에서 특성을 추출하는 것 외에도 차원 축소, 토픽 모델링 등에 사용됩니다. NMF는 하나의 객체정보를 음수를 포함하지 않은 두 개의 부분 정보로 인수분해하는 방법입니다. 즉, 음수를 포함하지 않은 행렬 m x n 행렬 R을 음수를 포함하지 않은 행렬 W, H의 곱으로 분해하여 의미 있는 특징을 추출하는 기법입니다. (위키백과) NMF의 목적은 공통 특성만을 가지고 정보를 줄이는 것입니다.이를 수식과 뉴스 기사에서 단어를 기반으로 특성을 추출하는 예시로 표현하면 아래와 같습니다. 행렬 R은 데이터셋으로 행은 샘플, 열은 feature..
2021.04.17 -
[ML] 유사도 검정
문서의 유사도를 검정하는 방법에 대해 알아보겠습니다. 순서 1. 자카드 유사도 2. 코사인 유사도 3. 코사인 유사도 vs. 유클리디안 유사도 1. 자카드 유사도 자카드 유사도는 두 문서에서 공통되는 단어가 많을수록 다른 단어가 적을수록 비슷한 문서라고 판단하는 가장 간단한 유사도 기법입니다. 식으로 나타내면 공통 단어 개수/전체 단어 개수로 아래와 같습니다. 자카드 유사도를 구하는 함수는 아래와 같습니다. 자카드 유사도는 원소의 개수에 따라 0~1 사이의 값을 가지고 1에 가까울수록 유사도가 높습니다. 2. 코사인 유사도 코사인 유사도는 순서 상관없이 단어를 벡터로 바꾼 후에 벡터 방향을 이용하여 유사도를 계산하는 방법입니다. 벡터의 방향이 같으면 코사인 유사도는 1, 직각이면 0, 다른 방향이면 -1..
2021.04.06 -
[ML] 군집화란 무엇인가, 어떻게 작동하는지 알아보자.
이번 글은 순천향대학교 정영섭 교수님의 강의와 핸즈온 머신러닝 2판을 공부한 후 정리한 내용입니다. 비지도 학습에 속하는 군집화에 대해 알아보겠습니다. 순서 1. 비지도 학습 2. 군집화 3. K-means 3.1. 작동 과정 3.2. 최적의 클러스터 개수를 선택하는 방법 4. 계층적 군집화(Hierarchical Clustering) 5. DBSCAN 1. 비지도 학습 비지도 학습은 label이 없는 데이터를 이용하는 알고리즘입니다. 데이터 시각화, 데이터 압축, 데이터 소거에 이용할 수 있고 입력 데이터로만 흥미로운 변환을 찾거나 데이터의 상관관계를 더 잘 이해합니다. 지도 학습 문제를 해결하기 전에 데이터셋을 이해하는데 도움을 받을 수도 있습니다. 대표적인 예로 군집화, 이상치 탐지, 밀도 추정에 ..
2021.02.01 -
[ML] 직관적인 모델 의사결정나무와 강한 학습기 앙상블
이번 글은 순천향대학교 정영섭 교수님의 강의와 우지영 교수님의 강의, 도서 핸즈온 머신러닝 2판을 참고했음을 먼저 밝힙니다. 순서 1. 의사결정나무 1.1. ID3 알고리즘 1.2. CART 알고리즘 2. 앙상블 2.1. Voting 2.2. Bagging 2.3. Boosting 2.4. Stacking 1. 의사결정나무 의사결정나무(DecisionTree)는 결정 트리라고도 불리는 머신러닝 알고리즘입니다. 결정할 수 있는 기준을 학습하는 알고리즘으로 패턴을 예측 가능한 규칙들의 조합으로 나타내고 이 모양이 tree와 같은 알고리즘입니다. 의사결정나무의 구성은 조건문(internal node), 조건 결과에 따른 분기(Edge), 결과(Extenal node 또는 Terminal node), 깊이가 0..
2021.01.31 -
심층 신경망 훈련하기 - 학습 속도를 높이는 방법
본 글은 핸즈온 머신러닝 Part2-11장(심층 신경망 훈련하기)를 공부한 후 정리한 내용입니다. ✅ 보다 깊은 심층 신경망을 학습시켜 아주 복잡한 문제를 다룰 때 발생할 수 있는 문제들 Gradient 소실 or gradient 폭주 문제에 직면. 심층 신경망의 아래쪽으로 갈수록 gradient가 점점 더 작아지거나 커지는 현상 하위층을 학습하기 매우 어렵게 만듦. 대규모 신경망을 위한 학습 데이터가 충분하지 않거나 레이블을 만드는 작업에 비용이 많이 들 수 있음. 학습이 극단적으로 느려질 수 있음. 수백만 개의 파라미터를 가진 모델은 학습 할 때 과대적합 될 위험이 큼. 특히, 학습 샘플이 충분하지 않거나 잡음이 많은 경우 이 중 학습 속도를 높이는 방법을 알아보겠습니다. 학습 속도를 높이는 방법에는..
2020.12.29 -
심층 신경망 훈련하기 - 레이블 된 데이터가 적을 때 복잡한 문제를 다루는 데 도움이 되는 전이 학습과 비지도 사전 훈련 하는 방법
본 글은 핸즈온 머신러닝 Part2-11장을 공부한 후 정리한 내용입니다. ✅ 보다 깊은 심층 신경망을 학습시켜 아주 복잡한 문제를 다룰 때 발생할 수 있는 문제들 Gradient 소실 or gradient 폭주 문제에 직면. 심층 신경망의 아래쪽으로 갈수록 gradient가 점점 더 작아지거나 커지는 현상 하위층을 학습하기 매우 어렵게 만듦. 대규모 신경망을 위한 학습 데이터가 충분하지 않거나 레이블을 만드는 작업에 비용이 많이 들 수 있음. 학습이 극단적으로 느려질 수 있음. 수백만 개의 파라미터를 가진 모델은 학습 할 때 과대적합 될 위험이 큼. 특히, 학습 샘플이 충분하지 않거나 잡음이 많은 경우 그 중 레이블을 만드는 작업에 비용이 많이 소요되는데 레이블 된 데이터가 적을 때 어떤 방법을 이용할..
2020.12.29