사망년/머신러닝

01_머신러닝 개요

stop-zero 2023. 8. 31. 21:18
1주 차 
오랜만에 공부라 너무 힘들다. 내 집중력 어쩌면 좋지
교수님께서 작년보다 더 나은 수업을 위해서 과제도 줄여주시고, 선형대수에 어려움이 있는 학생들을 위해 수학 특강도 해주신다고 한다. 첫 수업이라 전체적인 흐름을 설명해 주셨는데 걱정했던 것보다 괜찮았다. 너무 겁을 많이 먹은 탓이었을까.
한 주 수업 듣고 3시간씩은 시간 투자해달라는 교수님의 말씀을 종강 때까지 지키는 학생이 한번 되어보도록 할게요.
종강기원 1일차

머신 러닝(Machine Learning)

명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야이다. 경험을 축적시켜 효과적인 일처리를 할 수 있도록 시스템의 구조나 파라미터를 변경한다. 파라미터는 규칙 형태로 인간이 이해하는 형태일 수도 있고 인간이 이해하지 못하는 숫자 형태일 수도 있다. 하나의 매개변수라 생각하려고 한다. 
예를 들어 스팸 처리과정을 생각해 보자. 그동안 왔던 메일의 제목에 [광고]라는 말이 들어가면 해당 메일이 필요 없는 광고 메일인 경우가 많았다. 이런 학습 데이터를 통해 스팸 처리를 하게 된다. 학습 데이터를 가지고 스팸 필터링 정확성 위해 파라미터를 업데이트를 시키면 높은 정확도를 갖게 된다. 바둑 대국도 많은 경험을 하게 되면 승률이 올라가기에 데이터가 중요한 것을 깨달을 수 있다. 

더보기

머신 러닝 = 데이터(=경험)을 바탕으로 해결방법을 지가 알아내는 거, 입력 데이터로 업데이트 계속 시킴

양질의 학습 데이터가 주어져야 한다.

같은 품질에 데이터가 주어져도 어떤 학습 알고리즘을 사용하냐에 따라서 다르다. 

 

머신러닝의 필요성

 기계(에이전트)는 왜 학습해야 하는가? 전통적인 프로그램 방식으로 사용하다 보면 문제가 생기기 마련이다. 
광고 메일을 보내는 사람들은 스팸 메일이 되지 않게 [광고]라는 말을 뺄 것이고, 이런 문제로 스팸 메일을 구분할 수 없게 된다. 이 문제를 해결하기 위해서는 사람이 직접적으로 스팸 메일을 분류하도록 수동적으로 반복시켜줘야 한다. 
반면, 머신러닝 방식은 스팸과 일반 메일 데이터에 기반하여 일반 메일에 비해 스팸에 자주 등장하는 패턴을 감지하고 스팸 메일에 기준을 자동으로 학습한다.  
얼굴 인식에서도 전통적인 방식은 사용하기 어렵다. 5인 가족 구성원의 얼굴을 정확하게 표현할 수 없기 때문이다. 그러나 머신러닝 방식을 사용하면 가족 구성원의 이미지를 학습 데이터로 구성하여 입력을 주면 된다.  
기존 프로그래밍 방식으로는 해결하기 어렵고 해결책 자체를 어떻게 프로그램해야 할지 모르는 경우 머신러닝이 필요하다. 시간의 흐름에 따라 데이터가 변화된다면 이 또한 머신러닝이 필요하다. 머신러닝 결과를 분석하면 겉으로는 보이지 않았던 패턴, 연관성, 새로운 추세 등을 발견할 수도 있다 (=데이터 마이닝)
 

머신러닝의 종류

학습의 감독 방법에 따라

지도 학습

대부분의 학습 방법이 지도 학습이다. 지도학습은 학습 데이터에 입력뿐만 아니라 출력(=정답, 레이블)까지 함께 제공한다. 입력과 출력 간의 관계를 학습하여 이를 규칙이나 함수로 표현하는 모델이다. 고양이, 강아지 이미지를 여러 장 놓고 고양이 사진은 고양이 파일로 강아지 사진은 강아지 파일로 분류할 수 있도록 한다. 스팸 이메일을 분려하는 것도 포함된다.
 

비지도 학습

지도 학습과는 반대로 출력 정보가 없는 학습 데이터이다. 입력 데이터에 내재되어 있는 패턴을 파악하는 것이 중점이다. 데이터 유사도에 따라 유사한 것들을 묶는 클러스터링이 대표적인 예시이다. sns 사용자들의 데이터를 보고 유사한 성향을 가지고 있는 사용자 그룹을 생성하여 성향에 맞는 광고를 표시하는 경우가 있다. 데이터 간 유사도를 측정하여 같은 사건의 기사를 묶어두고 신문 기사를 클러스터링 했다고 한다.  평소와 다른 소비를 하는 사용자의 소비가 감지된다면 이를 신용카드 부정 사용을 판단하는 이상치 탐지도 포함된다.  이 외에도 시각화, 차원 축소도 있다. 
 

반지도 학습

레이블이 있는 데이터와 레이블이 없는 데이터를 모두 활용하여 모델을 학습하는 방식이다. 전체 데이터 중 일부만 레이블이 달려있는 경우에 사용된다. (지도학습 + 비지도 학습) 구글 포토의 인물 인식 방법이 이에 해당된다. 인식된 사진에 얼굴에 이름을 붙여주면 같은 인물의 다른 사진이 나와도 A라는 사람으로 인식하고 이름을 붙여준다.
 

강화 학습  (이번 학기엔 이거 안해)

 출력에 대한 정확한 정보 제공하지 않고 환경을 관찰하여 결과로 벌점을 준다. 시간이 지나면서 어떤 액션을 취했을 때 몇 점인지 알려주기에 시행착오를 겪으며 학습하게 된다. 
ex) 보행 로봇, 알파고, ChapGPT
 

학습 시점에 따라

배치 학습

한 번에 모든 데이터를 보고 나서야 학습하기에 시간과 자원이 많이 소모된다. 새로운 데이터가 추가된다면 기존 데이터에 신규데이터를 추가한 후 처음부터 다시 학습해야 하기에 거의 이 방법은 사용하지 않고 있다.

더보기

- 학습한다 (=데이터를 입력받아서 파라미터를 업데이터 시킨다.)

 

온라인 학습

점진적 학습으로 온라인 학습을 더 많이 사용한다. 문제 하나 풀고 공부하고 하나 풀고 공부하는 방식으로, 첫 번째 문제에서 잘못한 것을 두 번째 문제에서 깨달을 수 있게 된다. > 미니 배치(=중간에 10개, 100개씩 묶어서 학습)
이는 매 학습 단계가 빠르고 비용이 적게 든다는 장점이 있다. 변화하는 데이터에 얼마나 빠르게 적응할 것인지, 최적의 파라미터가 되기 위해 러닝 메이트로 조정할 수 있다. 학습률이 높으면 빠르게 적응하는 대신 과거의 데이터가 금방 소실된다. 반대로 학습률이 낮으면 느리게 학습하는 대신 노이즈에 덜 민감하다.
 

모델 생성 여부에 따라

사례 기반 학습

우리가 공부를 하는 모습과 유사하다. 예측할 데이터와 학습 샘플 사이의 유사도를 측정하여 가장 유사한 샘플의 레이블에 따라 예측한다. 
- 학습데이터를 기억을 시켜 스팸인 걸 새로운 메일이 왔을 때는 새로운 이메일과 유사한 이메일을 찾아가 
 

모델 기반 학습

여러 샘플들을 사용하여 패턴이나 관계를 학습한다. 입력 데이터와 출력 사이의 모델 파라미터를 조정하여 다양한 모델 생성이 가능하다.  
측정 지표를 통해 비용함수와 손실 함수를 측정하여 모델의 나쁨을 측정할 수 있다. 학습 데이터에 대해 비용 함수를 최소화시키는 모델 파라미들을 찾는 일을 학습이라 하고 학습된 모델을 사용하여 추론할 수 있다. 좋은 모델은 학습에 사용되지 않은 데이터에 대해서도 잘 예측하는 일반화 능력이 높은 모델이다. 
+궁극적으로 학습의 목표는 새로운 데이터라도 적절히 수행하도록 하는 것 = 일반화
 

'사망년 > 머신러닝' 카테고리의 다른 글

비지도 학습  (1) 2023.12.07
분류  (1) 2023.12.07
서울시 공공자전거 수요 예측을 위한 데이터 수집 및 통합 과정  (2) 2023.12.02
04_회귀(Regression)  (0) 2023.09.22
02_학습과 평가  (0) 2023.09.21