이전 글에서 데이터 기반으로 다양한 분야를 개선할 수 있다는 것을 알아 봤다.
그렇다면 데이터를 효율적으로 사용할 수 있게 도와주는 머신 러닝이란 무엇일까?
머신러닝의 정의
- 구체적인 프로그래밍 없이 배울 수 있는 능력을 컴퓨터에게 부여.
- 배움이 가능한 기계의 개발
- 결국 데이터의 패턴을 보고 흉내내는 방식 (imitation)
- 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야
- 딥 러닝(인공 신경망의 다른 이름)은 이 중의 일부
- 비젼, 자연언어처리(텍스트/오디오)등에 적용되고 있다.
- AI는 머신러닝을 포괄하는 개념
머신 러닝 모델이란?
- 머신 러닝을 통해서 최종적으로 만드는 것이 머신 러닝 모델
- 특정 방식의 예측을 해주는 [블랙박스] 형태
- 선택한 머신 러닝 알고리즘에 따라 내부가 달라짐
- 디버깅은 쉽지 않음
- 입력 데이터를 주면 그를 기반으로 예측
머신 러닝의 종류
- 지도 기계 학습
- 명시적 예제 (트레이닝셋)를 학습 후 정답을 만들어 냄.
- 크게 두 종류가 존재
- 분류 지도 학습 : 이진 분류와 다중 분류
- 개 or 고양이를 특정 지을 수 있도록 여러 사진을 교육함.
- 회귀 지도 학습
- 주택가격, 주식가격같은 많은 숫자를 지도할때 사용
- 비지도 기계 학습
- 뉴스 그룹핑 처럼 주어진 데이터를 몇 개의 그룹으로 분리
- GPT 같은 언어 모델의 훈련도 여기에 속함.
- 정답을 내가 하나 하나 만들어서 교육시키는 것(지도기계학습)이 아닌. 백과사전의 형태의 자연스러운 문장을 정답의 형태로 갖춰지게 하는 것
- 강화 학습
- 알파고 혹은 자율주행
- 플레이를 많이 할 수록 룰을 더 이해하게 되고 기술이 강화 됨.
지도 기계 학습
지도 기계 학습 트레이닝 순서
트레이닝 셋(x,y)
1. 훈련데이터가 주어짐 (x) : 입력데이터(feature / 학습이 되려면 컴퓨터가 읽을 수 있는 수치로 바뀌어야 됨.) ,(y) : 예측값(lable)
1. 데이터를 읽기 쉽게 표준화를 진행 함.학습 알고리즘머신 러닝 모델
1. 블랙박스의 형태머신러닝이 배포가 되었을때를 추론/예측 해야 됨. 입력 데이터(x) - > 머신 러닝 모델 → 예측값(y)
결국 머신러닝은 배포가 끝이 아닌 계속해서 입력데이터와 예측값을 토대로 추론/예측을 진행해야 됨.
이러한 과정이 복잡하다 보니 MLOPS와 같은 직군이 생겨남.
****
지도 기계 학습 예시 - 타이타닉 승객 생존 여부 예측
- 이진 분류 문제
- 탑승 승객별로 승객 정보와 최종 생존 여부가 트레이닝셋으로 제공
- 최종 생존 여부처럼 모델이 예측해야하는 필드를 레이블/타겟이라고 부름
- 기존 필드로부터 새로운 필드를 뽑아내는 것이 일반적 : Feature Engineering
- 예를 들어 survived라는 필드의 레이블이 1이면 생존 0이면 죽음 이라고 정의 내렸을 때, 머신러닝은 레이블이 1 또는 0인 사람들의 특성을 파악 후 그것을 기반으로 예측을 할 수 있게 됨. 이러한 방식은 개발자가 코딩하는 것이 아닌 머신러닝 알고리즘이 자체적으로 코딩하는 형태.
지도 기계 학습 예 - 스팸 웹 페이지 분류기
- 한글 웹 페이지를 놓고 어떤게 정상, 스팸 페이지인지 분류해주는 머신러닝 모델링을 하고자 함.
페이지 예시
A : “ 클라우드 컴퓨팅 이란 집적.공유된 정보통신기기… 정보처리체계를 말한다."
B : “클라우드 컴퓨팅, 온라인 도박, 대출…중고차매매”
A, B 둘 중 A가 정상 웹 페이지이다. 하지만 머신러닝에 어떤 특징을 뽑아내서 교육을 해야 될까?
문자열을 숫자의 형태로 바꿔줘야 된다.
1. 머신러닝은 숫자의 형태로 읽을 수 있기 때문A는 문장인 반면 B는 돈이 될거 같은 키워드. 즉 명사의 집합이다. A와 B를 추출하여 조사의 비율과 명사의 비율을 체크해보자. 정상적인 페이지라면 조사의 비율이 n%정도 될 것 이고 스팸 페이지의 경우 명사의 비율이 월등히 높을것이다.
**
중
요한 featuer(입력값)을 뽑을 수 있어야 실력자!**
비지도 학습 예 - Langugage Model(Gpt)
- 문장의 일부를 보고 비어있는 단어를 확률적으로 맞추는 모델
- 입력값 : 오늘 너무 우울해서 ( )
- 출력값 :
- 오늘 너무 우울해서 (빵을 샀어)
- 오늘 너무 우울해서 (머리를 새로 했어)
- 오늘 너무 우울해서 (아이패드를 샀어)
- 훈련은 위키피디아에 있는 자연스러운 문장들을 대상으로 진행한다.
- context window의 형태로 좌에서 우로 이동을 하며 예측할 수 있게 함.

context window 예
- 위의 경우 context window가 4개라고 가정했을때
- 3개의 토큰을 보고 (좌에서 우) 1개의 토큰 예측을 훈련한다.(context window가 4개)
- context window의 크기가 결국 모델의 메모리를 결정.(다다익선)
- 입력값에 대하여 정답을 집적 적어줘야 되는 지도학습과는 다르게 Langugage Model은 문장형태를 지닌 웹페이지(위키피디아)를 입력하면 그 안에 입력값과 출력(정답)값이 다 들어가 있음.