Unsupervised Learning

Hyungseop Lee·2023년 3월 9일
0

Unsupervised Learning(비지도 학습)

Unsupervised Learning :
데이터 포인트가 무엇인지, 무엇을 해야할지, right한 정답 Label 등이
명시되지 않는 데이터셋을 학습하는 것이다.

Clustering Algorithm

Clustering Algorithm :
data 간의 관계를 가지고 Clustering하여 어떠한 구조인지 예측하는 Algorithm이다.

Unsupervised Learning의 Algorithm 중 하나이다.

(아이디어)
개인들의 유전 지도가 있다.

이 데이터에 무엇이 있는지, 누가 어떤 유형에 있는지 모른다.
하지만 데이터에서 구조를 찾을 수 있다.

특정 유전자를 갖고 있는 정도에 개인을 다른 그룹으로 그룹화할 수 있다.

Non-Clustering Algorithm(Cocktail Party Algorithm)

파티룸에 많은 사람들이 앉아서 동시에 이야기한다면, 목소리가 중첩되어 듣기가 힘들 것이다.

Example : Speaker가 2명, Microphone 2개 있다고 가정.

  • Microphone들은 각각의 Speaker로부터 다른 거리에 있기 때문에
    Microphone1은 Speaker1의 목소리가 더 크게 들릴 것이고,
    Microphone2은 Speaker2의 목소리가 더 크게 들릴 것이다.

  • Microphone1, 2에서 Speaker1, 2가 동시에 이야기하는 것을 녹음한다.

  • 녹음본을 Cocktail Party Algorithm이라고 불리는 Non-Clustering Algorithm에게 주면, 두 개의 음성을 분리해 낼 수 있다.
    • by using SVD(Singular Value Decomposition, 특이값 분해)

Importance of Octave / Matlab

  • SVD와 같은 선형대수와 방대한 양의 수학적 연산이 필요한 경우에
    C++나 Java로 구현할 수 있지만, 너무 오래 걸린다.

  • 따라서 Octave나 Matlab Programming Language를 사용하여,
    학습 알고리즘의 Prototype을 보다 빠르게 만들 수 있다.

  • 실제로 실리콘밸리의 많은 회사에서 Octave를 학습 도구와 Prototyping Tool로 사용한다.
    어디까지 도달한 후에는 C++ 또는 Java 등으로 Migration한다.

  • 아래는 Octave type의 Programming Language 사용 예시이다.
    이처럼 SVD를 한 줄로 빠르고 간결하게 구현할 수 있다.

Quiz

Which would you address using an Unsupervised Learning Algorithm?

  1. Given email labeled as spam/not spam, learn a spam filter

  2. Given a set of news articles found on teh web, group them into set of articles about the same story

  3. Give a DB of customer data, automatically discover market segments and group customers into different market segments

  4. Given a dataset of patients diagnosed as either having diabetes or not, learn to classify new patients as having diabetes or not

Answer : 2, 3

profile
Efficient Deep Learning Model

0개의 댓글