목록머신러닝 (5)
Shine's dev log
1. 개요 https://github.com/godeastone/GAN-torch Pytorch 로 구현한 CGAN 전체 코드는 위 git repository에서 확인할 수 있다. 2. Conditional GAN Conditional GAN (CGAN)은 GAN이 처음 제안된 연도인 2014년 Mehdi Mirza, Simon Osindero 에 의해 제안된 GAN 의 변종 알고리즘이다. 아래 링크에서 논문 확인이 가능하다. https://arxiv.org/abs/1411.1784 Conditional Generative Adversarial Nets Generative Adversarial Nets [8] were recently introduced as a novel way to train gene..
1. 개요 https://github.com/godeastone/GAN-torch Pytorch 로 구현한 GAN 전체 코드는 위 git repository에서 확인할 수 있다. 2. GAN GAN은 2014년 Ian Goodfellow 님에 의해 개발되었다. GAN 논문에 대한 자세한 정보는 아래 글을 참고하도록 하고, 이번에는 GAN의 전체적인 구조를 대략 살펴보고 코드로 구현하는데 집중을 해도록 하자. https://ddongwon.tistory.com/117 [논문] Generative Adversarial Nets 논문 제목 : Generative Adversarial Nets 0. abstract 본 논문에서는 adversarial process를 통한 generative model을 esti..
1. KLD / JSD 얼마전 GAN 논문을 읽는데 KLD, JSD에 관한 내용이 나왔다. 그냥 단순히 두 확률분포 간의 distance를 나타내는 divergence라고 생각했는데, 사실은 이게 아니라 더 심오한 내용이 있어서 정리해보겠다. 2. KL divergence (Kullback-Leibler divergence) 2.1. KL divergence의 의미 위키백과에서는 KL divergence를 다음과 같이 정의하고 있다. 쿨백-라이블러 발산(KLD)은 두 확률분포의 차이를 계산하는 데에 사용하는 함수로, 어떤 이상적인 분포에 대해, 그 분포를 근사하는 다른 분포를 사용해 샘플링을 한다면 발생할 수 있는 정보 엔트로피 차이를 계산한다. 쿨백-라이블러 발산은 어떠한 확률분포 P가 있을 때, 샘플..
1. PCA (주성분 분석) PCA는 대표적인 dimensionality reduction (차원 축소)에 쓰이는 기법으로, 머신러닝, 데이터마이닝, 통계 분석, 노이즈 제거 등 다양한 분야에서 널리 쓰이는 녀석이다. 쉽게 말해 PCA를 이용하면 고차원의 데이터를 낮은 차원의 데이터로 바꿔줄 수 있다는 것인데, 중요한 것은 "어떻게 차원을 잘 낮추느냐" 이다. 예를 들어 아래 [그림 1] 에서 왼쪽에 있는 2차원 데이터를 오른쪽에 있는 1차원 데이터로 바꾼다고 생각해보자. 아무리 잘 바꾼다고 하더라도, 2차원의 데이터의 특징을 모두 살리면서 1차원의 데이터로 바꿔줄수는 없을 것이다. 그렇다면 차선책으로, 모든 특징을 살릴 수는 없을지라도 최대한 특징을 살리며 차원을 낮춰주는 방법을 고안하기 시작했고, 그..
1. Association Rules Association Rules 란, items 사이의 관계를 나타내는 법칙을 찾는 방법이다. Association Ruels 에서 항상 나오는 예제가 바로 시장에서 물건을 사는 예제이다. 시장에 과일, 야채, 고기, 생선이 있다고 할 때 "고기와 생선를 산 사람이 야채도 살 확률은 얼마인가?" 등과 같이 여러 상품간의 관계를 나타낼 수 있는 질문에 답을 해줄수 있는 것이 Association rules 이다. Association Rules 는 X -> Y 로 표현이 가능하며, 이는 "X를 선택할 때, Y를 선택할 확률"로 표현할 수 있다. 대표적으로 Association rues 가 활용될 수 있는 영역은 앞서 살펴본 시장 외에도 병원, UX 디자인, 넷플릭스 등..