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 로 구현해 보는것이 좋다.
'ETC' 카테고리의 다른 글
[MAC] Elastic Serach이란? Elastic Search/Kibana 설치 및 기본 셋팅 (0) | 2024.04.21 |
---|---|
[엑셀 기초] - 직장인 엑셀 실무 기초 (업무가 최소 2배 편해지는 엑셀 활용법) (0) | 2024.01.28 |
[C++] 배열 Syntax 주의할 점 (0) | 2021.01.25 |
Pixlr Editor로 색상코드(HEX) 알아내기 (0) | 2021.01.16 |