728x90

 

 

1. [What is Machine Learning?]

 

<머신러닝의 정의>

1. Arthur Samuel

- 컴퓨터가 명시적(explict) 프로그램 없이도 스스로 학습할 수 있는 능력을 연구하는 학문 분야.

- 체커 게임

 

2. Tom Mitchell

- Well-posed learning problem (학습 과제)

- 프로그램이 일정 수준의 작업 성능(P)을 가지고 작업(T)을 수행한다고 했을 때, 경험(E)이 증가함에 따라 작업(T)를 수행하는 성능(P)이 향상될 수 있다.이 때 프로그램이 경험(E)으로부터 학습(learn)을 했다고 표현한다.

- 체커스에서 경험(E)는 ‘같은 게임을 수만 번 반복하는 과정’, 작업(T)는 체커 게임을 수행하는 행위, 작업 성능(P)는 프로그램이 다음 판을 새로운 상대로 했을 때 그 판을 이길 확률(probability).

 

 

 

<머신 러닝 알고리즘>

1. 지도 학습(Supervised learning) : 작업 수행 방법을 컴퓨터에게 가르침

2. 비도 학습(Unsupervised learning) : 컴퓨터가 스스로 학습하도록 유도

3. Others : 강화 학습(Reinforcement Learning) , 추천 시스템(Recommender system)

 

 


 

2. [Supervised Learning]

<Supervised Learning >

: 알고리즘에 “정답이 포함 된” 데이터 집합을 줌. 즉, 데이터 집합 안의 모든 예시에 대해 알고리즘이 예측했으면 하는 정답이 우리에게 주어지는 것.

 

Q1 . 주택 가격을 어떻게 예측할까?

  • 각 집 마다 정확한 가격이 명시 된 데이터 집합을 줌.
  • 데이터를 통과하는 직선 혹은 이차함수를 그려 결과를 예측해 볼 수 있다.

=> 회귀 문제(regression problem)라고도 할 수 있다.

  • 회귀 : 연속 된 값을 가진 결과를 예측하는 것.
  • 집 가격은 스칼라 값이지만 연속된 값을 가진 숫자로 가정하자.

Q2 . 종양의 크기가 주어졌을 때 그 종양이 악성일 가능성은?

=> 분류 문제(classification problem)라고도 할 수 있다.

  • 분류 : 불연속적인 결과값을 예측하는 것.
  • ex) 종양의 크기가 주어졌을 때 어떤 종류의 종양인지. 이때 종양의 종류는 이산적이다.

 

<머신러닝의 궁극적인 목표>

: 주어진 어떠한 특성에 따라 결과 값을 도출하는 것.

  • 주어진 특성은 매우 다양할 수밖에 없다.
  • 이때 특성이 무한하다면? 메모리 해결 방안은?
  • Support Vector Machine 알고리즘 이용.

 


 

3. [Unsupervised Learning]

Unsupervised Learning에 주어진 데이터 집합의 특징 :

  • 데이터가 어떠한 의미를 갖는지 우리는 알 수 없음.
  • 데이터 집합의 예시에 대해 정답을 제시해주지 않음.
  • 데이터 집합에서 어떠한 구조를 찾을 수 있는지 분석하는 것.
  • 데이터 집합이 클러스터(cluster)로 나뉨.
  • 클러스터링 알고리즘(Clustering Alogrithm) 에 데이터 집합을 주어 Unspervised Learning을 시킴.

 

<클러스터링 알고리즘의 이용>

  • 구글 뉴스 : 수천 가지의 새로운 기사들을 조사하여 연관성 있는 기사들끼리 묶어 링크시킨다.
  • 유전학적 자료 : 각 사람의 유전자 발현 정도를 분석하여 사람들을 서로 다른 타입으로 묶을 수 있다.(클러스터링 함)
  • Organize computing clusters : 수많은 컴퓨터 중 어떠한 기기들끼리 같이 사용되는지 클러스터링하여 효율을 높인다.
  • Social network analysis : 어떠한 그룹이 사용자에게 적절한 친구 그룹인지 추천해준다.
  • Market segmentation : 수많은 고객들의 정보를 분석하여 세분화된 시장을 찾아내고 각 고객에 맞게 시장에서 판매와 영업을 효율적으로 진행할 수 있다.
  • Astronomical data analysis : 은하계 생성과 관련된 이론 도출.

 

<Cocktail party problem>

Q 1. 칵테일 파티 효과란?

A 1. 칵테일 파티 효과(cocktail party effect)는 파티의 참석자들이 시끄러운 주변 소음이 있는 방에 있음에도 불구하고 대화자와의 이야기를 선택적으로 집중하여 잘 받아들이는 현상에서 유래한 말이다. (출처 — 위키백과)

 

Q 2. 칵테일 파티 문제란?

A 2. 관심있는 소리만 선택적으로 받아들이는게 로봇이나 인공지능 기술에서는 불가능한 것.

 

Q 3. 노래와 사람의 음성을 동시에 마이크에 녹음한 후 cocktail party algorithm을 이용하여 둘을 분리할 수 있을까?

A 3. [W,s,v] = svd((repmat(sum(x.*x,1)size(x,1),1).*x)*x’);

=> 주어진 음성을 유사성에 따라 클러스터링.

  • svd함수 : 특이값 분해 (Singular value decomposition)의 약자.
  • Octave or Matlab 은 머신러닝 알고리즘 구현에 용이함. => 이를 이용해서 먼저 머신러닝 알고리즘의 프로토타입을 만들어 본 후 c++ or java 로 구현해 보는것이 좋다.
728x90

+ Recent posts