본문 바로가기
머신러닝/머신러닝 실무

[머신러닝] 머신 러닝이란?

by udeserveit1 2024. 7. 31.

< 오이지 (OH-Easy) 머신러닝 >

인공지능과 머신러닝

머신러닝이란?

머신러닝은 데이터에서부터 학습하도록 컴퓨터를 프로그래밍하는 기술

 

머신러닝의 학습 : 훈련(training) 데이터 세트와 테스트(test) 데이터 세트

▪ 전체 데이터의 70%를 훈련용, 30%는 테스트용으로 분리하며, 데이터 세트 크기에 따라 비율이 다름

    100개만 주고 학습 시키고 나머지 20개는 냅두고 20개 넣어서 맞추면 성공

  (100은 훈련데이터 , 20개는 테스트데이터)

 

▪ 빅데이터의 경우 9:1까지 나누기도 함

 

지도학습

 

인공지능이란? 

1957년 다트머스 

1947년 애니악 나옴 

인공지능이 역사와 컴퓨터의 역사가 비슷하다 

앨런 튜링

컴퓨터 이론 자체 

튜링상 : 컴퓨터에서의 노벨상

 

기계학습이 최종 목표 : 학습 (배우기),  예측(의사결정)

수식에 들어가있는 학습된 모델에 새로운 데이터를 주고 예측 하는 것

 

데이터 활용 하는 것이 머신러닝

더 계속 전달 여러번 주는 것이 깊다. 딥러닝(머신러닝의 한분야)

 

왜 머신러닝을 사용하는가?

Ex) 스팸메일 구분 

 

 

(전통적인) 규칙기반 방법

▪ 분류 규칙을 사람이 구현

▪ 작은 데이터 세트에 유리

▪ 데이터가 변경되면 처음부터 새로 시작해야함(수동) 머신러닝 방법

▪ 입력 데이터로부터 특징 벡터를 추출하고 레이블을 붙임

▪ 빅 데이터 세트도 가능

▪ 규칙을 만드는 일은 학습된 머신러닝 모델이 자동으로 수행

전통적 프로그래밍 기법으로 스팸메일을 구분할 경우, 규칙이 점점 길고 복잡해지고 유지 보수하기 매우 힘듦

 

▪ 머신러닝 기법에 기반을 둔 스팸 필터는 일반 메일에 비해 스팸에 자주 나타나는 패턴을 감지하여 어떤 단어와 구절이 스팸 메일을 판단하는 데 좋은 기준인지 자동으로 학습함

 

머신러닝이 유용한 환경

얼굴 인식이나 음성 인식과 같이 규칙 기반 프로그램으로 답을 낼 수 없는 복잡한 경우

▪ 거래 기록에서 사기를 감지하는 경우와 같이 규칙이 지속적으로 바뀌는 경우 ▪ 주식 거래, 에너지 수요 예측, 쇼핑 추세 예측의 경우처럼 데이터의 특징이 계속 바뀌는 경우

 

 

머신러닝의 주요 작업: 학습 알고리즘을 선택해서 어떤 데이터로 훈련시키는 것

 

‘모델의 정확도를 낮추는 좋지않은 데이터’

  ▪ 충분하지 않은 양의 데이터

▪ 대표성 없는 모호한 데이터

▪ 관련 없는 특징들이 다수 포함된 데이터

 

‘훈련 과정에서 발생할 수 있는 문제들’

▪ 훈련 데이터의 과대적합 (overfit) - 100%는 만들면 안됨 98%,99% 로 모호하게 해야함

훈련 데이터의 과소적합()

 

머신러닝의 종류

 

지도 학습  : 문제와 정답을 모두 알려주고 공부시키는 방법

비지도 학습 : 답을 가르쳐주지 않고 공부시키는 방법

강화 학습 : 보상을 통해 상은 최대화, 벌은 최소화 하는 방향으로 행위를 강화하는 학습

 

지도 학습(Supervised Learning)

▪ 데이터와 정답(label or target)을 훈련 데이터 세트로 제공

▪ 입력에 대한 출력을 연관 짓는 규칙을 학습하는 과정

 

지도 학습 알고리즘들

▪ 선형 회귀

▪ 로지스틱 회귀

▪ 서포트 벡터 머신

▪ 결정 트리, 랜덤 포레스트

▪ K-최근접 이웃

▪ 신경망 CNN -딥러닝

              RNN -->버트 --> GPT ---> 챗형태 ChatGPT

문제와 정답을 모두 알려주는 지도 학습

 

그림 소리 다 숫자로 바꿔야한다.

 

어떻게 ?

1920 x 1080  해상도 

픽셀 (화소) 색상 rgb

256색 (2^8)  1바이트 = 8비트 0 ~255  을 행렬로 표현  

 

k-평균 : 군집화

 

비지도학습

 

 

 준지도 학습(Semi-supervised Learning)

▪ 레이블이 있는 데이터와 레이블이 없는 데이터들이 함께 섞여있는 경우, 구분하여 학습을 수행하는 방법

▪ 대용량 데이터에서 일부 데이터에만 있는 레이블 정보를 이용하여 지도학습 방식으로 훈련을 수행 한 후, 레이블이 없는 나머지 데이터에 대해 학습을 수행

 

 

강화학습

지도학습

 

x : 특징벡터 (사람으로 치면 나이, 키, 성별 등) 갯수만큼 차원 

label ,target,class  셋 다 같은 뜻

 

머신러닝 알고리즘 및 용어

파이썬set tuple list dictionary

 

 

 

Gradiant decent 가 핵심

 

확률변수 (Random Variable)

▪ 확률적 현상의 수학적 결과

 

▪ 이산 확률 변수

 ▪ 확률분포: 확률들의 목록

 ▪ 확률질량함수(Probability Mass Function: pmf): 이산 확률 변수의 확률 분포

 ▪ 예, Pr(X = red) = 0.3, Pr(X = yellow) = 0.45, Pr(X = blue) = 0.25

 

▪ 연속 확률 변수

   ▪ 확률밀도함수(Probability Density Function: pdf): 연속 확률 변수의 확률 분포

    적분

 

 

 

 

가우시안 함수 : 정규화 할 수 있는 함수

arg (인자) 

y값이 최대일 때 x값 알려주라

 

 

이제 지도학습을 분류와 회귀로 나누어서

분류 (Classfication) vs 회귀 (Regression)

 

분류

▪ 레이블이 없는 주어진 입력 데이터를 레이블로 구분하는 것

▪ 레이블: 클래스의 이름, 유한한 집합

이산 데이터 = 셀 수 있는 데이터

 

 회귀

▪ 레이블이 없는 주어진 입력 데이터에 실제값의 레이블(타겟, 정답)을 예측하는 것

연속적인 데이터에 

 

모델 기반 학습

▪ 훈련 데이터로부터 학습된 파라미터로 모델을 생성하기 위해 훈련 데이터를 사용하 는 것

▪ 알고리즘: 대부분의 지도학습

 

인스턴스 기반 학습

▪ 모델로 전체 데이터 세트를 사용하는 것

▪ 알고리즘: kNN

 

얕은 학습(Shallow learning)

▪ 훈련 데이터의 특징으로부터 직접적으로 모델의 파라미터를 학습하는 것

▪ 알고리즘: 대부분의 지도학습

 

깊은 학습, 딥러닝(Deep learning = Deep neural network)

▪ 대부분의 모델 파라미터는 훈련 데이터의 특징으로부터 직접적으로 학습되는 것이 아니라 이전 계층(레이어)의 출력으로부터 학습되는

 

 

순방향으로 갔다가 

거꾸로 가는 전파 -역전파 (가중치)

순전파 한전 역전파 한번이 1회 했다

머신러닝의 동작원리

서포트 벡신 머신(SVM) 

1st step: 데이터 세트 

    데이터 세트

      ▪ 10000개 특징 벡터들

      ▪ 각 특징 벡터는 20000 차원

 

2nd step: 학습 알고리즘

 

  학습 알고리즘

    ▪ 서포트 벡터 머신 (SVM: Support Vector Machine)

    ▪ 스팸메일: “spam” = +1 (양수)

    ▪ 정상메일: “not_spam” = -1 (음수)

 

3rd step: 모델

 

결정 경계(Decision boundary)

  ▪ 데이터를 각기 다른 클래스로 분리

  ▪ 𝐰𝐱 − 𝐛 = 𝟎

     ▪ w, x: 벡터, b: 실수 y=sign(wx-b)

     ▪ wx: w(1) x (1) + w(2) x (2)+ …+ w(D) x (D)

▪ 반환 값

    ▪ +1, 만약 입력이 양수일 경우

    ▪ -1, 만약 입력이 음수일 경우

 

모델을 만드는 과정

  ▪ 모델 생성 과정 = 학습(training) 

  ▪ 모델: f(x)=sign(w∗ x − b ∗ )

      ▪ w∗ and b ∗ : 최적의 값


w는 가중치 벡터 , b는 절편 또는 편향

 

4th step: 최적화

 

계약조건(Constraints)

 

마진(Margin: 이득)

   ▪ 2개 클래스의 데이터 중 가장 가까운 데이터들 간 거리 (직선과)

   ▪ 큰 마진 값 —> 더 나은 일반화(좋은 모델)

         

▪ 유클리디안 크기(norm)를 최소화하는 과정: w =

두 점사이의 거리,,

-유클리디안 : 두점사이 거리 공식

--------> 이 방법 svm

 

 - 곡선들은 svm + 커널을 사용

      - 완벽하게 분리하는 것은 불가능 : 노이즈, 오류값, 이상치

 

-결정 경계의 형태 (선형, 곡선, 복합)는 모델의 정확도를 결정!