인공지능

최적화, 분류 알고리즘과 추정방법 목록 나열

Engivia 2024. 5. 22. 02:10

한 학기 남짓 너무나도 많은 수업을 듣고있다...

솔직히 뭐가 뭔지 잘 모른다. 이게 저거 같고 저게 이거 같고..

이럴 때는 지식을 분류하는 게 좋다.

그래서, 챗 gpt와의 꽤나 긴 시간의 대화 끝에 배운 어떤 알고리즘들이 있는지 나열할 수 있었다.

1. 문제 유형에 따른 분류

분류 알고리즘:

  1. Linear Discriminant Analysis (LDA) - 선형 판별 분석
  2. Support Vector Machine (SVM) - 서포트 벡터 머신
  3. Neural Networks - 신경망
  4. K-Nearest Neighbors (KNN) - k-최근접 이웃
  5. Decision Trees - 의사결정나무
  6. Random Forest - 랜덤 포레스트
  7. Naive Bayes - 나이브 베이즈
  8. Logistic Regression - 로지스틱 회귀
  9. Softmax Regression - 소프트맥스 회귀
  10. Minimum Distance Classifier - 최소 거리 분류기
  11. Optimal Statistical Classifier - 최적 통계 분류기

회귀 알고리즘:

  1. Linear Regression - 선형 회귀
  2. Polynomial Regression - 다항 회귀
  3. Ridge Regression - 릿지 회귀
  4. Lasso Regression - 라쏘 회귀

2. 모델 유형에 따른 분류

파라메트릭 모델 (Parametric Models):

  1. Linear Regression - 선형 회귀
  2. Logistic Regression - 로지스틱 회귀
  3. LDA - 선형 판별 분석
  4. Ridge Regression - 릿지 회귀
  5. Lasso Regression - 라쏘 회귀
  6. Softmax Regression - 소프트맥스 회귀

비파라메트릭 모델 (Non-Parametric Models):

  1. K-Nearest Neighbors (KNN) - k-최근접 이웃
  2. Decision Trees - 의사결정나무
  3. Random Forest - 랜덤 포레스트
  4. Naive Bayes - 나이브 베이즈
  5. Neural Networks - 신경망
  6. Parzen Window - 파르젠 윈도우

3. 최적화 알고리즘

확률적 최적화 (Stochastic Optimization):

  1. Genetic Algorithm - 유전 알고리즘
  2. Simulated Annealing - 시뮬레이티드 어닐링
  3. Particle Swarm Optimization - 입자 군집 최적화
  4. Differential Evolution - 차등 진화
  5. Monte Carlo Methods - 몬테카를로 방법

결정적 최적화 (Deterministic Optimization):

  1. Gradient Descent - 경사 하강법
    • Batch Gradient Descent - 배치 경사 하강법
    • Stochastic Gradient Descent (SGD) - 확률적 경사 하강법
    • Mini-Batch Gradient Descent - 미니 배치 경사 하강법
  2. Newton's Method - 뉴턴 방법
  3. Conjugate Gradient Method - 공액 기울기 방법
  4. Quasi-Newton Methods - 의사 뉴턴 방법
  5. Greedy Algorithm - 탐욕 알고리즘
  6. Steepest Descent - 최급강하법
  7. Gauss-Newton Method - 가우스-뉴턴 방법
  8. Levenberg-Marquardt Method - 레벤버그-마쿼트 방법

4. 계산 복잡도에 따른 분류

단순 계산 최적화 (Simple Calculation Optimization):

  1. Gradient Descent - 경사 하강법
    • Stochastic Gradient Descent (SGD) - 확률적 경사 하강법
    • Mini-Batch Gradient Descent - 미니 배치 경사 하강법

복잡한 계산 최적화 (Complex Calculation Optimization):

  1. Newton's Method - 뉴턴 방법
  2. Conjugate Gradient Method - 공액 기울기 방법
  3. Quasi-Newton Methods - 의사 뉴턴 방법
  4. Genetic Algorithm - 유전 알고리즘
  5. Particle Swarm Optimization - 입자 군집 최적화
  6. Differential Evolution - 차등 진화
  7. Tabu Search - 타부 탐색
  8. Ant Colony Optimization - 개미 군집 최적화
  9. Complexity-Based Search - 복잡도 기반 탐색
  10. Orthogonal Array Search - 직교 배열 탐색
  11. Iterated Local Search - 반복적 지역 탐색

5. 정규화 기법

  1. Total Variation Regularization - 총 변동 정규화
  2. Ridge Regularization - 릿지 정규화
  3. Lasso Regularization - 라쏘 정규화

6. 강화 학습 알고리즘

  1. Q-Learning - Q-러닝
  2. Double Q-Learning - 더블 Q-러닝
  3. SARSA (State-Action-Reward-State-Action) - SARSA
  4. Deep Q-Network (DQN) - 딥 Q-네트워크
  5. Policy Gradient Methods - 정책 경사법
    • REINFORCE - REINFORCE
    • Actor-Critic - 액터-크리틱
    • Proximal Policy Optimization (PPO) - 근접 정책 최적화
    • Trust Region Policy Optimization (TRPO) - 신뢰 영역 정책 최적화
    • Advantage Actor-Critic (A2C, A3C) - 어드밴티지 액터-크리틱
    • Deep Deterministic Policy Gradient (DDPG) - 딥 결정적 정책 경사법
    • Soft Actor-Critic (SAC) - 소프트 액터-크리틱

7. 손실 함수

회귀 문제:

  1. Mean Squared Error (MSE) - 평균 제곱 오차
  2. Mean Absolute Error (MAE) - 평균 절대 오차
  3. Huber Loss - 후버 손실
  4. Log-Cosh Loss - 로그-코시 손실

분류 문제:

  1. Cross-Entropy Loss - 교차 엔트로피 손실
  2. Binary Cross-Entropy Loss - 이진 교차 엔트로피 손실
  3. Categorical Cross-Entropy Loss - 범주형 교차 엔트로피 손실
  4. Kullback-Leibler Divergence (KL Divergence) - 쿨백-라이블러 발산

일반화된 손실 함수:

  1. Hinge Loss - 힌지 손실
  2. Squared Hinge Loss - 제곱 힌지 손실

8. 정보 엔트로피

  1. Shannon Entropy - 섀넌 엔트로피
  2. Conditional Entropy - 조건부 엔트로피
  3. Joint Entropy - 결합 엔트로피
  4. Relative Entropy (Kullback-Leibler Divergence) - 상대 엔트로피 (쿨백-라이블러 발산)
  5. Mutual Information - 상호 정보
  6. Cross-Entropy - 교차 엔트로피
  7. Jensen-Shannon Divergence - 젠슨-섀넌 발산

9. 기타 개념

모델 평가 및 선택:

  1. Bias-Variance Tradeoff - 편향-분산 트레이드오프
  2. Cross-Validation - 교차 검증
  3. ROC Curve - ROC 곡선
  4. Precision-Recall Curve - 정밀도-재현율 곡선
  5. F1 Score - F1 점수

집합 학습 (Ensemble Learning):

  1. Ensemble Methods (e.g., Bagging, Boosting, Stacking) - 집합 학습 방법
  2. Gradient Boosting Machines (GBM): XGBoost, LightGBM, CatBoost - 그래디언트 부스팅 기법

차원 축소 (Dimensionality Reduction):

  1. Principal Component Analysis (PCA) - 주성분 분석
  2. Independent Component Analysis (ICA) - 독립 성분 분석
  3. t-Distributed Stochastic Neighbor Embedding (t-SNE) - t-분포 확률적 이웃 임베딩
  4. Autoencoders - 오토인코더

하이퍼파라미터 튜닝 (Hyperparameter Tuning):

  1. Hyperparameter Tuning (e.g., Grid Search, Random Search) - 하이퍼파라미터 튜닝
  2. Bayesian Optimization - 베이지안 최적화

심층 학습 (Deep Learning):

  1. Convolutional Neural Networks (CNNs) - 합성곱 신경망
  2. Recurrent Neural Networks (RNNs) - 순환 신경망
  3. Long Short-Term Memory Networks (LSTMs) - 장단기 메모리 네트워크
  4. Generative Adversarial Networks (GANs) - 생성적 적대 신경망

최신 연구 동향 및 기술:

  1. Transfer Learning (전이 학습) - 전이 학습
  2. Meta-Learning (메타 학습) - 메타 학습
  3. AutoML (자동화 머신러닝) - 자동화 머신러닝
  4. Semi-Supervised Learning (반지도 학습) - 반지도 학습
  5. Self-Supervised Learning (자기지도 학습) - 자기지도 학습
  6. Metric Learning (거리 학습) - 거리 학습

10. 고급 개념 및 최신 연구

고급 최적화 알고리즘:

  1. Second-Order Methods (BFGS 등) - 2차 미분 기반 방법
  2. Constrained Optimization (Lagrange Multipliers, SQP 등) - 제한 조건 최적화

분산 및 병렬 최적화:

  1. Distributed Computing (Horovod, TensorFlow Distributed 등) - 분산 컴퓨팅
  2. Federated Learning - 연합 학습

최신 알고리즘 및 모델:

  1. Transformers (BERT, GPT, T5 등) - 트랜스포머
  2. Graph Neural Networks (GNNs) - 그래프 신경망
  3. Self-Supervised Learning (SimCLR, BYOL 등) - 자기지도 학습

최적화 기법의 응용:

  1. Hyperparameter Optimization (Hyperband, Optuna 등) - 하이퍼파라미터 최적화
  2. Meta-Learning (MAML 등) - 메타 학습

MLOps (Machine Learning Operations):

  • MLflow - MLflow
  • Kubeflow - Kubeflow

Explainable AI (XAI):

  1. SHAP (SHapley Additive exPlanations) - SHAP
  2. LIME (Local Interpretable Model-agnostic Explanations) - LIME

11. 수학적 최적화 알고리즘 (Mathematical Optimization Algorithms)

선형 계획법 (Linear Programming)

  • 설명: 선형 관계식으로 구성된 제약 조건과 목표 함수를 가지는 최적화 문제를 해결하는 기법.
  • 예시: Simplex Algorithm, Interior Point Methods.

비선형 계획법 (Nonlinear Programming)

  • 설명: 비선형 관계식으로 구성된 제약 조건과 목표 함수를 가지는 최적화 문제를 해결하는 기법.
  • 예시: Gradient Descent, Newton's Method, Sequential Quadratic Programming (SQP).

혼합 정수 계획법 (Mixed Integer Programming, MIP)

  • 설명: 일부 변수는 정수로 제한되는 최적화 문제를 해결하는 기법.
  • 예시: Branch and Cut, Branch and Price.

동적 계획법 (Dynamic Programming)

  • 설명: 문제를 더 작은 하위 문제로 나누어 순차적으로 해결하는 최적화 기법.
  • 예시: Bellman Equation, Viterbi Algorithm.

제약 충족 문제 (Constraint Satisfaction Problems, CSP)

  • 설명: 주어진 제약 조건을 만족하는 해를 찾는 문제.
  • 예시: Backtracking, Forward Checking, Arc Consistency.

이진 결정 다이어그램 (Binary Decision Diagrams, BDD)

  • 설명: 불 대수 함수의 효율적인 표현과 조작을 위한 데이터 구조.
  • 예시: ROBDD (Reduced Ordered BDD), ZDD (Zero-suppressed BDD).

메타휴리스틱 (Metaheuristics)

  • 설명: 다양한 최적화 문제에 적용 가능한 일반적인 탐색 기법.
  • 예시: Genetic Algorithms, Simulated Annealing, Tabu Search, Ant Colony Optimization, Particle Swarm Optimization.

라그랑주안 최적화 (Lagrangian Optimization)

  • 설명: 제약 조건을 가진 최적화 문제를 해결하기 위한 방법.
  • 예시: Lagrangian Relaxation, Augmented Lagrangian Methods.

라그랑주 승수법 (Lagrange Multipliers)

  • 설명: 제약 조건이 있는 최적화 문제를 해결하기 위한 방법.
  • 예시: Method of Lagrange Multipliers.

이차 계획법 (Quadratic Programming)

  • 설명: 목표 함수가 이차 함수이고 제약 조건이 선형인 최적화 문제를 해결하는 기법.
  • 예시: Wolfe's Method, Interior Point Methods for QP.

유한차분법 (Finite Difference Methods)

  • 설명: 미분 방정식의 수치 해법을 찾는 방법.
  • 예시: Forward Euler Method, Backward Euler Method, Crank-Nicolson Method.

제약 최적화 (Constrained Optimization)

  • 설명: 제약 조건이 있는 최적화 문제를 해결하는 방법.
  • 예시: Penalty Methods, Barrier Methods.

실수 기반 최적화 (Real-Valued Optimization)

  • 설명: 실수 공간에서 최적화 문제를 해결하는 방법.
  • 예시: Hill Climbing, Simulated Annealing.

비선형 방정식 시스템 (Nonlinear Systems of Equations)

  • 설명: 비선형 방정식의 집합을 해결하는 방법.
  • 예시: Newton-Raphson Method, Broyden's Method.

이산 최적화 (Discrete Optimization)

  • 설명: 이산 변수로 구성된 최적화 문제를 해결하는 방법.
  • 예시: Integer Programming, Combinatorial Optimization.

다목적 최적화 (Multi-Objective Optimization)

  • 설명: 여러 개의 목표 함수를 동시에 최적화하는 방법.
  • 예시: Pareto Optimization, Weighted Sum Method, ε-Constraint Method.