Program/머신러닝

머신러닝 이해하기 (1)

사막여유 2022. 5. 30. 22:52
728x90

본 포스팅은 패스트캠퍼스 OpenCV를 활용한 컴퓨터비전과 딥러닝 올인원 패키지를 참고하여 작성하였습니다.

 

머신러닝 ( Machine Learning ) 이란?

- 주어진 데이터를 분석하여 규칙성, 패턴 등을 찾고, 이를 이용하여 의미 있는 정보를 추출하는 과정 

 

 

출처 : https://timetodev.co.kr/article/index?aidx=121

 

전통적인 프로그래밍과 Machine Learning 을 많이 비교하는데

전통적인 프로그래밍Data 에대한 Program을 입력하게되면 그것에 대한 결과로써 Output 을 내놓는것이고

Machine LearningData 는 동일하게 들어가나 Outcome ( Data 에대한 정답 ) 을 같이 입력해주면

이에대한 근거 ( Program, Rules ) 를 내놓는다.

따라서 Machine Learning 은 Program 또는 Rule을 만들어내는 학문 또는 기법이라고 할 수 있다.

 

 

예를 들면

머신 러닝에 의한 붓꽃 분류

출처 : https://pinkwink.kr/1128

위와같이 붓꽃에도 여러 종류가 존재하는데 

Versicolor , Virginica , Setosa 등의 3종류의 붓꽃이 존재 하게된다.

눈으로만 봐도 3종류의 특징이 구분되는데 꽃받침과 꽃잎의 길이와 폭으로 구분할 수 있다.

 

 

위와같이 Petal 과 Sepal 이라는 꽃잎의 너비와 길이의 특징값들이 추출되는 것을 볼 수 있다.

그러면 위와같은 데이터를 바탕으로 Threshold를 2.5cm라고 두고 Versicolor 와 Setosa 를 구분할 수 있을 것이다.

 

그러면 여기서 전통적인 Programing 과 Machine Learning 으로 나뉠 수 있는데 

위와같이 Threshold값을 인간의 판단으로 주게되는 것을 전통적인 Programming 이라고 할 수 있고

자동으로 특징값을 구분하여 Threshold 값을 찾아내는 것을 Machine Learning 이라고 할 수 있다.

 

그럼 여기서 Machine Learning 의 종류를 한번 알아보자.

 

머신러닝의 종류

출처 : https://antkdi.github.io/posts/post_book_ml_1/

 

보통은 지도학습 ( Supervised Learning ) 과 비지도학습 ( Unsupervised Learning ) 으로 구분한다.

 

지도 학습 

 - 지도학습은 컴퓨터에게 바나나 사진을 주면서 ' 이건 바나나야 ' 사과사진을 주면서 ' 이건 사과야 ' 라는 형식의 

   데이터와 Outcome을 주는 , 즉 데이터와 정답을 같이 주는 것을 지도학습이라고 한다.

   여기서도 분류 ( classification ) , 회귀 ( regression ) 으로 나눌 수 있다.

   분류와 회귀를 쉽게 표현하자면 분류는 사과, 바나나의 분류 즉, 정수값으로 몇번 클래스인지를 구분하는 것이고

   회귀는 키에대한 몸무게값을 입력시키고 x 값의 키를 넣었을 때 몸무게를 예측하는 실수값의 회귀를 뜻한다.

 

비지도 학습

- 정답을 같이 주지않고, 사과 바나나를 구분한다고 하면 사과사진 100장과 바나나사진 100장을 컴퓨터에 입력시켜준 뒤

  이 200장의 사진을 크게 2개로 분류해보라고 하는 학습종류이다.

  그러면 컴퓨터는 객체의 컬러값을 이용한다던가, 객체가 얼마나 원에 가까운가? 등의 특징을 분류하여 나눌것이다.

  위처럼 특징을 잡아 분류하는 것을 군집화라고 한다.

728x90