슈코딩

[머신러닝] 기초개념 본문

코딩공부/머신러닝

[머신러닝] 기초개념

Roshu 2022. 5. 13. 11:06

 

 

1. 머신러닝 ?

 

알고리즘?

ex) 라면을 끓이는 공정

1. 냄비에 물을 받는다.

2. 가스레인지에 냄비를 올린다.

3. 가스레인지를 켠다.

4. 물이 끓으면 스프와 면을 넣고 2분간 삶는다.

 

>> 이렇게 정해진 절차대로 절차적으로 수행하는 체계를 알고리즘이라고 한다.

>> 컴퓨터과학, 언어학 등 관련 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을

     공식화한 형태로 표현한 것, 계산을 실행하기 위한 단계적 절차

 

 

알고리즘을 이용해 푸는 문제 예시

 

이러한 문제들을 알고리즘을 뛰어넘어 머신러닝을 사용해서 이런 문제들을 풀어본다. 선형

문제A 그래프

이걸 공식으로 표현하기 시작

score = 10 * coffee + 40

 

 

 

딥러닝? 머신러닝 방법중 하나

>문제 A의 마신커피잔수와 점수의 관계가 더 복잡해질시? 비선형

처음 그래프처럼 균일하게 오르는게 아닌 커피7잔을 마시고 한숨도 못자서 50점을 받게

되는 변수가 발생하게된것이다. 이렇게 복잡해진 문제는 딥러닝을 통해 해결할 수 있다.

 

 

머신러닝 : 회귀 & 분류

 

회귀(Regression) :

Input(입력값)과 Output(출력값)을 정의해야 한다.

 

ex) 사람의 얼굴 사진을 보고 몇살인지 예측하는 문제

Input : 얼굴사진

Output: 나이

>>Output을 소수점(float)로 아래와 같이 표현 가능

나이의 값은 연속적인데, 이렇게 출력값이 연속적인 소수점으로 예측하게 하도록 푸는 방법을

회귀(Regression) 이라고 한다.

 

분류(Classification) :

마찬가지로 Input(입력값)과 Output(출력값)을 정의해야 한다.

 

이처럼 Pass냐 Fail이냐 이수 여부를 0,1 이라는 Binary class (이진클래스) 로 나누어

0이면 Fail 1이면 Pass --> 이진분류 (Binary classification) #불연속적

 

클래스가 2개보다 많은 여러개의 클래스가 생길 경우는 다중분류 (Multi-class classification, Multi-label classification)

이라고 부른다.

 

#문제를 접했을때 입력값과 출력값을 정의를 하고, 출력값에 따라서

Regression, Classification으로 정의를 하고 문제를 접근 한다.

 

 

머신러닝의 3가지 학습 방법 

 

지도 학습(Supervised Learning): Classification, Regression 

>>정답값이 있는경우, 정확도가 비지도 학습보다 높다.

>>입력값에 정답을 표시해주는 작업을 하게되는데 이를 Labeling, Annotation 이라고 한다.

 

비지도 학습(Unsupervised Learning): Clustering, Dimensionality Reduction

>>정답값이 없는경우 (알아서 습득하게 한다.) , 군집화(Clustering)하는 방법

>>예시) 음원 파일을 분석하여 장르를 팝, 락, 클래식, 댄스, edm, 재즈로 나누는 문제

 

강화 학습(Reinforcement Learning)

>>주어진 데이터 없이 실행과 오류를 반복하면서 학습하는 방법 (ex- 알파고)

>>게임 AI, 실시간 처리, 로봇 네비게이션

자신이 한 행동에 대한 보상(Reward)를 받으며 학습한다.

보상은 점수(ex- 10점만점에 10점)

#강화학습의 개념 : Agent(객체) , Environment(환경,룰), State(상태) , Action(행동), Reward(보상)

Comments