Data Science/AI

인공지능 #Fin | 인공지능 기초 용어 정리

토마토. 2023. 3. 14. 18:56

한 2주 정도 동안 <혼자 공부하는 머신러닝/딥러닝>이라는 책을 공부했다. 이 책은 인공지능 분야에 어떤 개념이 '존재'하는지 훑어보기 좋다. 난이도를 낮추기 위해 수식이나 이론, 심층적인 코드가 많이 빠져서 깊이 있게 공부하기는 어려웠다. 다음 단계로 넘어가기 전에 <혼자 공부하는 머신러닝/딥러닝>에 나온 개념어를 정리하려고 본 포스팅을 적기 시작했다. 

1장. 인공지능이란? 

  • 강인공지능 Strong AI: AGI Artificial General Intelligence가 여기에 속함
  • 약인공지능 Weak AI: 보조하는 AI
  • 머신러닝 meachine learning: 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야
  • 딥러닝 deep learning: 인공 신경망 ANN을 기반으로 한 머신러닝 분야

2장. 데이터 다루기

  • 지도 학습 Supervised learning
  • 비지도 학습 unsupervised learning
  • 브로드캐스팅 broadcasting: 모양이 다른 배열 간의 연산을 가능하도록 하는 기능

3장. 회귀 알고리즘과 규제

  • KNN K-Nearest Neighbors Algorithm: 인접한 샘플을 이용해서 예측하는 알고리즘
  • 결정계수 coefficient of determination: 회귀 모델의 예측의 적합도를 (0, 1) 값으로 계산함.

  • 오버피팅 overfitting
  • 언더피팅 underfitting
  • 선형 회귀 linear regression
  • 다항 회귀 polynomial regression (다항식을 사용) vs. 다중 회귀 multiple regression (여러 개의 특성을 사용)
  • 릿지 회귀 Ridge regression: alpha 매개변수로 규제의 강도를 조절함
  • 라쏘 회귀 lasso regression: alpha 매개변수로 규제의 강도를 조절함
  • 하이퍼 파라미터: 사람이 지정하는 파라미터

4장. 분류 알고리즘

  • 로지스틱 회귀 logistic regression: 시그모이드 함수(이중), 소프트맥스 함수(다중)를 이용하여 클래스 확률을 출력하는 분류 알고리즘
  • 시그모이드 함수: 이진 분류를 위해 사용하는 함수. 0.5 이상이면 양성, 0.5 미만이면 음성

  • 소프트맥스 함수: 다중 분류를 위한 함수. 여러 개의 선형 방정식의 출력값을 0~1 사이로 압축하여 전체 합이 1이 되도록 만듦. 정규화된 지수 함수

  • 확률적 경사 하강법 Stochastic Gradient Descent: 훈련 셋에서 랜덤하게 하나의 샘플을 선택하여 손실 함수의 경사를 따라 최적의 모델을 찾는 알고리즘
  • 에포크: 훈련 세트를 한번 모두 사용하는 과정

[PyTorch] 자주쓰는 Loss Function (Cross-Entropy, MSE) 정리 - ZZEN’s Blog (nuguziii.github.io)

  • 로지스틱 손실 함수 logistic loss function: 타깃이 1일 때 -log(예측 확률), 타깃이 0일 때 -log(1-예측 확률)로 계산함. 예측 확률이 0에 가까워질수록 손실은 아주 큰 양수가 됨

Loss Functions — ML Glossary documentation (ml-cheatsheet.readthedocs.io)

  • 힌지 손실 hinge loss: SVM(Support Vector Machine)에서 널리 사용되는 손실 함수. 

5장. 트리 알고리즘

  • 결정 트리 Decision tree: 비교적 예측 과정을 이해하기 쉬운 알고리즘
  • 교차 검증 cross validation: 훈련 세트를 k개의 폴드로 나누고 한 폴드를 검증 세트로, 나머지 폴드를 훈련 세트로 사용하기를 반복하는 학습 방식
  • 그리드 서치 Grid Search: 적절한 하이퍼파라미터 탐색을 자동으로 해주는 도구
  • 랜덤 서치 random search: 하이퍼파라미터가 연속적인 값일 때 유용
  • 랜덤 포레스트: 대표적인 결정 트리 기반의 앙상블 학습 방법. 
    • 1) 훈련 셋에서 부트스트랩 샘플링(중복을 허용하여 추출)으로 여러 개의 표본을 준비함
    • 2) 부트스트랩 샘플에서 트리를 생성(이때 피처 몇개를 랜덤하게 선택)
    • 3) 각 트리에서 예측한 값을 평균내어 결과 도출

  • 엑스트라 트리 extra trees
    • 기본적으로 랜덤 포레스트와 비슷한데 부트스트랩을 사용하지 않는다
    • 피처와 랜덤으로 훈련 셋을 무작위로 분할한다
  • 그레디언트 부스팅 gradient boosting
    • 깊이가 얕은 결정 트리를 순차적으로 연결됨. 이전 트리의 오차를 보완하는 식으로 결합한다
  • 히스토그램 기반 그레디언트 부스팅 histogram-based gradient boosting
    • 그레디언트 부스팅이 학습 속도가 느리다는 문제를 해결한 알고리즘. 
    • 연속적인 변수를 수백개의 고윳값으로 '이산화'하여 속도를 높인다

6장. 비지도 학습

  • k-평균 알고리즘: 최적의 클러스터를 구성하는 알고리즘(랜덤 배치 > 클러스터 중심 계산 > 재배치 > ...)
  • inertia 이너셔: 클러스터 중심과 샘플 사이의 거리의 제곱합. 
  • PCA principal component analysis 주성분 분석: 차원 축소 알고리즘의 하나. 데이터에서 분산이 가장 큰 방향을 찾는 방법. 

7장. 딥러닝

  • ANN Artificial Neural Network
  • 원-핫 인코딩: 타깃값만 1로, 나머지는 0인 배열 만들기
  • DNN Deep neural network: 2개 이상의 층을 포함한 신경망
  • ReLU 함수: 활성화 함수의 일종

딥러닝 활성화 함수 정리 (tistory.com)

  • 옵티마이저: 신경망의 가중치/절편을 학습하기 위한 알고리즘
  • adaptive learning rate: 안정적으로 수렴하도록 최적점에 가까워지면 학습률을 낮춤
  • dropout: 훈련 과정에서 일부 뉴런을 랜덤하게 꺼서 오버피팅을 방지함

8장. 이미지를 위한 딥러닝

  • CNN 합성곱 신경망 Convolution Neural Network: 일부에 가중치를 곱하는 방식. 이미지에 특화됨
  • 필터 filter = 뉴런 = 커널
  • 특성 맵 feature map: 합성곱 계산을 통해 얻은 출력
  • 패딩 padding: 입력 배열 주위를 가상의 원소로 채우는 것
  • 풀링 pooling: 가로 세로의 크기 줄이기(max pooling/average pooling)

9장. 텍스트를 위한 딥러닝

  • 순차 데이터 sequential data: 순서에 의미가 있는 데이터. 시계열 데이터, 텍스트 등
  • FFNN feedforward neural network: 입력 데이터의 흐름이 앞으로만 전달되는 신경망
  • RNN recurrent neural network: sequential data를 처리하기 위해 recurrent layer를 1개 이상 사용한 신경망
  • 셀 cell: 층을 셀이라고 함
  • 워드 임베딩 word embedding: 정수 데이터를 받아서 처리할 수 있음. 원핫인코딩에 비해 메모리를 효율적으로 사용함
  • LSTM long short term memory: 입력 게이트, 삭제 게이트, 출력 게이트 역할을 하는 작은 셀이 포함됨
  • GRU Gated Recurrent Unit: 은닉 상태 하나만 포함

앞으로의 계획

  • <핸즈온 머신러닝 (2판)> 공부하기
  • 데이콘 연습 대회 참여하기