FastCampus UpStage AI/ML

ML

하오츠(해석:맛있다) 2024. 10. 29. 17:39

머신러닝(Machine Learning) 

: 데이터의 특성과 패턴을 학습해서 학습결과를 바탕으로 테스트 데이터에 대한 미래값을 예측하는 알고리즘

: 데이터 전처리 필수

 

인공지능의 종류

약인공지능(Artificail Narrow Intelligence) : 정해져있는 과제들을 잘 수행하는 ai

강인공지능(Artifical General Intelligence) : 사람처럼 복합적인 사고를 통해 어떤일이든 수행하는  ai 

초인공지능 : 사람보다 뛰어난 지식을 지님

 

low-level function 

: 하드웨어 동작에 대응

: 간단하고 가벼운 작은 단위의 작업

 

High level function 

: 사람이 생각하는 기능에 대응

: 복잡하고 무거운 큰 단위의 작업

 

Input

: features, 독립변수, x

 

OutPut 

: 추론값, 종속 변수, 모델의 출력값(y^, 예측값), 라벨(y, 목표값, gt)

 

함수가 아닌것

- Label Noise : 같은 인풋에 다른 레벨

- Ambiguity : 모호성

 

 데이터 

- 정형 데이터  

 : 엑셀, csv

 : 변수 

    -수치형 : 연속형, 이산형

    -범주형 : 명물적, 순위표

 

* 범주형 데이터 인덱싱(NLP : 자연어 처리)

: 데이터 인덱싱, 글자별 인덱싱(Character - Level), 단어별 인덱싱(Word-Level)

 

- 비정형 데이터

 : 이미지(cv : computer vision), 음악(음성 처리기), 텍스트  

 

데이터 노이즈 

: 결측치, 이상치, 틀린 라벨, 중복배포, 도메인의 생성

 

EDA(Explorer, Data Anaysis)

: 기본적인 정보파악, 샘플 랜덤 추출, 통계량 분포, 변수간의 관계 파악

 

*UAT(Universal Apposimation Theorem) 

: 머신 러닝으로 만들 수 있는 함수들은 어떤 것이든지 가능하다

 

Supervision 

: 사람이 입력값 x를 넣으면 y값도 넣어서 알 수 있게 학습하는 방법

 

지도학습(Supervised Learning)

: x -> y 

: 출력값 라벨 y에 가까워질수록 학습

 

1) 회귀모델 

: 지도학습 모델로서 입력값이 무엇이든, 출력값이 연속형 변수인 모델을 사용하는 방법론

 : ex ) 부모의 키 -> 자녀의 키, 오늘의 기온 -> 내일의 기온

 

    - 선형회귀모델(Linear Regression)

      :   트레이닝 데이터를 사용하여 데이터의 특성과 상관관계를 분석하고,  
          트레이닝 데이터에 포함되지 않은 새로운 데이터에 대한 결과를 연속적인 숫자값으로 예측하는 결과

      : ex) 부동산 가계 예측 - 방 갯수와 집값의 상관관계

 

    * MSE (Mean Squared Error)

       : 선형 모델에 의해 나온 함수 값(목표값), 출력값 간의 차이의 제곱으로서

         0에 가까울수록 오차가 적어진다, 손실함수를 사용

 

    - 상관관계분석(Correlation Analysis)

      : 두 변수 사이의 상관관계를 판단하기 위한 분석과정

      : 피어슨 상관 계수 : 상관 분석 결과로 두변수 사이에

       어느정도 강한 선형상관관계가 있는지를 -1~1범위로 숫자로 나타낸것 

     

    네가지중 한가지 가정이라도 안맞는다면 상관계수가 크게 의미가 없다

       - 선형성 : 두변수 사이의 상관 관계가 선형적인가?

       - 등분산성 : 입력 변수의 벌어진 범위가 x 값이나 y 값에 의해 더 벌어지지 않아야 한다(벌어지면 이분산성)

       - 정규분포성 : 모든 정규분포를 따라야 한다

       - 독립성 : 각 샘프를은 모두 추출되어야 한다.

 

* 공선성, 다중 공선성

 공선성 : 상관행렬을 시가화했을때, 상관계수가 1.0이나 -1.0으로 나타나는 경우가 있는데, 두 변수사이에 공선성이 있다고 한다.(데이터 셋 내에 중복값 포함)

 다중 공선성 : 한 변수가 여러 변수들의 선형결합으로 나타나는 경우를 의미한다 

 

* 상관관계 vs 인과관계

 상관관계 : 변수가 변할때 다른 변수가 변할때

 인과관계 : 원인이 되어 결과로서 다른 변수를 변화시킬때

 

* 회귀모델의 입력변수가 여러개인 경우

 - 한개인 경우 -> 단순 회귀분석

 - 여러개인 경우 -> 다중 회귀분석

 

* 회귀 모델의 출력변수가 여러개인 경우

 - 한개인 경우 -> 단변량 회귀분석

 - 여러개인 경우 -> 다변량 회귀분석

 

* 사용하는 모델이 선형모델인가?

 - 선형 회귀분석

 - 비선형 회귀분석

 

* 해석적 해법(Analytical Solution) vs 수치적 해법(Numerical Solution)

  해석적 해법

  - 장점 : 직접적으로 데이터의 값을 입력하는 것만으로, 빠르고 간편하게 정확한 값을 구할 수 있음

  - 단점 :  미리 해법이 알려진 경우에만 사용할 수 있음

 

  수치적 해법

  - 장점 : 일반적으로 사용하고 근사값이 나온다

  - 단점 : 여러 단계를 거쳐야해 시간이 많이 필요한 경우가 많다

 

 2) 분류모델

 1. 이진 분류

     : 지도학습 모델로서 출력 값이 참 혹은 거짓 사전에 정의된 두가지중 하나로 나오는 가장 간단한 형태의 분류 모델

     

     - 로지스틱 회귀 모델(Logistic Regression)

        : 0~1 사이로 변환해 확률로 해석될 수 잇는 결과를 내보내주는 함수이다

 

* 크로스엔트로피(Cross Entropy)

 : 로지스틱 함수를 통과한, 모델의 출력값 확률에 대해 적용하도록 만들어진 손실함수

 : BCE(Binary Cross Entropy)

 : 왜? mse 이 안써요? 

   => 어느정도 근접한 결과를 내놓은 경우 MSE 로스값이 너무 작아져서 학습이 매우 느려진다.

 

* 왜 로지스틱 회귀모델을 쓰는 거임?

-  선형 회귀 모델의 결과로 확률로 해석할 경우 출력 범위가 0~1을 벗어날 수 있다

 

* 로지스틱 회귀 알고리즘

  : 트레이닝 데이터의 특성과 분포를 나타내는 최적의 직선을 찾는다 

  : 해당 직선을 기준으로 데이터를 위, 아래 또는 왼쪽, 오른쪽 등으로 분류하는 방법     

 

 2. 다중 분류 문제의 모델링

     : 클래스가 k개인 다중 분류 문제의 출력값은

       I 번째 원소가 I번째 클래스가 정답일 확률을 나타내는 K차 벡터의 형태가 된다.

    

    포현 방식 - 원 핫 인코딩(One Hot  Encoding)

      : 정답 클래스가 i 번째인 경우, i 번째 원소만 1이고 나머지 원소는 0인 벡터로 라벨(목표치)을 표현하는 방식

 

     함수 - 소프트 맥스(SoftMax)

      : logit 벡터를 각각 클래스에 대한 확률을 나타내는 벡터로 변환해주도록 설계된 함수

    

     알고리즘 - kNN(k-Nearest Neighbor)

     : 가장 근첩한 k 개의 라벨을 기준으로 출력값을 정하는 간단한 방식

     

    모델 - 결정 트리

     : x 내의 대소 관계나 특정 임계값과의 비교, 불순도를 제거하며 데이터 처리한다.

     : 불순도 - 손실함수와 같은 역할

 

* 결정포레스트

: 랜덤한 구조의 결정 트리를 여러개 생성한 뒤, 각 트리의 결과를 종합해 최종 출려값을 결정하는 방식

: 머신 러닝 모델의 앙상블(Ensemble) 이라고 부른다

 

* 결정 경계(Decision Boundary)

: 이진분류 모델에서 판단의 기준이 되는 초평면, 결정 경계를 기준으로 양쪽이 서로 다른 클래스로 분류된다.

 

* 선형분리가능한 데이터셋

: 하나의 결정경계를 통해 이진분류 데이터셋의 두 클래스가 완전히 나뉘어질 수 있을때, 이 데이터셋은 선형 분리가 가능하다고 한다. 

 

* 선형분리가 불가능한 데이터셋 해결 방법

   커널 트릭 : 커널 함수를 통해 고차원으로 변환해 선형 분리가 가능해지도록함

 

비지도학습(UnSupervised Learning)

: x 

: y는 활용하지 않고 입력값 x만 넣어줌

 

 

'FastCampus UpStage AI > ML' 카테고리의 다른 글

(3) ML - 라벨링  (0) 2024.11.26
(2) ML - 데이터 샘플링  (0) 2024.11.26
(1) ML - 학습시킬 데이터 준비  (1) 2024.11.26
웹 크롤링  (0) 2024.10.28