본문 바로가기

Python/ML

[ML] 머신러닝 - TIL(11월 21일)

목차

1. Introduction to Machine Learning

1-1. 인공지능과 머신러닝 개요

1-2. 머신러닝 학습 개념

1-3. 머신러닝 프로세스 및 활용

 

1-1. 인공지능과 머신러닝 개요

인공지능이란?

인공지능을 전통적인 인공지능(Traditional AI)과 현대의 인공지능(State of the art AI)으로 분류하여 설명을 해보면 전통적인 인공지능은 사람이 직접 최적의 함수를 구해 데이터와 함수를 같이 컴퓨터로 학습을 시키는 과정이다. 하지만 현대의 인공지능은 데이터를 가지고 컴퓨터가 직접 학습을 하여 최적의 함수를 찾은 후에 이를 바탕으로 직접 테스트도 하는 과정이다. 이를 머신러닝이나 딥러닝이라고 부른다.

머신러닝이란?

머신러닝은 컴퓨터 알고리즘에 대한 학습 과정으로 자동으로 경험들에 의해서 스스로 발전시켜 나갈 수 있다. 사람이 매일 생겨나는 빅데이터를 학습하는 데에는 무리가 있어 컴퓨터를 활용하여 학습시킬 수 있는 방법을 찾는 과정에서 만들어졌다. 머신러닝이 처음 나왔을 때에는 CPU를 활용하여 학습을 시켰지만 컴퓨터의 발전에 따라 GPU라는 더 좋은 성능의 프로세서를 개발하여 대용량 데이터처리가 효율적이게 되었고 딥러닝의 발전을 가속화 시키는 큰 역할을 하였다. 이후 기본적인 머신러닝 알고리즘에도 적용하였다.

 간단하게 CPU와 GPU를 비교해보면 CPU는 60개~80개의 일을 한번에 처리하는 좋은 성능을 가지고 있지만 GPU는 만개~2만개를 한번에 처리하는 병렬연산의 차이가 있기 때문에 상대적으로 GPU가 더 좋은 성능을 가지고 있다.

 

1-2. 머신러닝 학습 개념

머신러닝의 최종 목표는 모델을 최적화하는 것에 있다. 머신러닝 학습을 위해 사용자가 모델을 컴퓨터에게 알려주면 컴퓨터는 해당 모델을 가지고 학습을 한다.

 여기서 학습하는 과정은 손실함수를 찾는 것인데 손실함수란 실제 값에서 함수가 추정한 값의 차이를 모두 더해주는 것이다.

손실함수는 해당 데이터들의 관계의 오차값을 통해 함수를 만드는 것이라고도 얘기할 수 있는데 만든 함수를 가지고 손실함수의 값을 가장 최소화 해줄 수 있는 매개변수를 찾는 것이 모델을 최적화 시킨다는 개념이다. 이때 만들어지는 함수가 우리가 문제를 해결하기 위해 필요한 함수이며 이 함수를 통해 예측값을 구하는 것이다.

 

1-3. 머신러닝 프로세스 및 활용

머신러닝의 종류

머신러닝은 지도학습, 비지도학습, 강화학습으로 분류할 수 있다.

여기서 지도학습은 분류와 회귀로 나눌 수 있는데 분류는 찾고자 하는 값이 범주형 변수이고 회귀는 찾고자 하는 값이 연속형 변수로 나뉘어진다. 모든 지도학습은 손실함수가 최소가 되는 값을 찾는 것을 목표로 하며 분류는 정답과 오답(0과 1) 두 개로 분류 한다는 것과 회귀는 오차값으로 분류한다는 것에서 차이가 있다.

하이퍼 파라미터와 검증

모델을 최적화 하는 과정에 하이퍼 파라미터를 조정하게 되는데 하이퍼 파라미터란 사용자가 직접 조정하는 모델의 외적인 모습들이라 생각할 수 있다. 훈련은 컴퓨터가 하게되지만 컴퓨터가 더 좋은 모델로 학습을 하기 위해 사용자가 직접 하이퍼 파라미터를 조정할 수 있다. 이때 데이터 셋을 적절히 나누어주어 현실에의 데이터의 값과 가장 유사한 예측값을 만들기 위해 가지고 있는 데이터 셋에서도 훈려용 데이터 셋, 검증용 데이터 셋과 테스트용 데이터 셋으로 나누어 줄 수도 있다.

이때 트레이닝 데이터셋으로 학습을 하고 검증용 데이터셋으로 검증을 하는 과정에서 하이퍼 파라미터를 조정하고 마지막에 데스트 셋으로 예측을 해주는 학습 방법이 가장 좋다. 데이터 수가 적을 때 교차검증을 유용하게 사용할 수도 있다.

'Python > ML' 카테고리의 다른 글

[ML] 머신러닝 - TIL(11월 22일 오후)  (0) 2022.11.22
[ML] 머신러닝 - TIL(11월 22일 오전)  (1) 2022.11.22
[ML] House Prices  (0) 2022.11.16
[ML] 왜도와 첨도  (0) 2022.11.15
[ML] 피처 엔지니어링(Feature Engineering)  (0) 2022.11.10