인공지능
최적화, 분류 알고리즘과 추정방법 목록 나열
Engivia
2024. 5. 22. 02:10
한 학기 남짓 너무나도 많은 수업을 듣고있다...
솔직히 뭐가 뭔지 잘 모른다. 이게 저거 같고 저게 이거 같고..
이럴 때는 지식을 분류하는 게 좋다.
그래서, 챗 gpt와의 꽤나 긴 시간의 대화 끝에 배운 어떤 알고리즘들이 있는지 나열할 수 있었다.
1. 문제 유형에 따른 분류
분류 알고리즘:
- Linear Discriminant Analysis (LDA) - 선형 판별 분석
- Support Vector Machine (SVM) - 서포트 벡터 머신
- Neural Networks - 신경망
- K-Nearest Neighbors (KNN) - k-최근접 이웃
- Decision Trees - 의사결정나무
- Random Forest - 랜덤 포레스트
- Naive Bayes - 나이브 베이즈
- Logistic Regression - 로지스틱 회귀
- Softmax Regression - 소프트맥스 회귀
- Minimum Distance Classifier - 최소 거리 분류기
- Optimal Statistical Classifier - 최적 통계 분류기
회귀 알고리즘:
- Linear Regression - 선형 회귀
- Polynomial Regression - 다항 회귀
- Ridge Regression - 릿지 회귀
- Lasso Regression - 라쏘 회귀
2. 모델 유형에 따른 분류
파라메트릭 모델 (Parametric Models):
- Linear Regression - 선형 회귀
- Logistic Regression - 로지스틱 회귀
- LDA - 선형 판별 분석
- Ridge Regression - 릿지 회귀
- Lasso Regression - 라쏘 회귀
- Softmax Regression - 소프트맥스 회귀
비파라메트릭 모델 (Non-Parametric Models):
- K-Nearest Neighbors (KNN) - k-최근접 이웃
- Decision Trees - 의사결정나무
- Random Forest - 랜덤 포레스트
- Naive Bayes - 나이브 베이즈
- Neural Networks - 신경망
- Parzen Window - 파르젠 윈도우
3. 최적화 알고리즘
확률적 최적화 (Stochastic Optimization):
- Genetic Algorithm - 유전 알고리즘
- Simulated Annealing - 시뮬레이티드 어닐링
- Particle Swarm Optimization - 입자 군집 최적화
- Differential Evolution - 차등 진화
- Monte Carlo Methods - 몬테카를로 방법
결정적 최적화 (Deterministic Optimization):
- Gradient Descent - 경사 하강법
- Batch Gradient Descent - 배치 경사 하강법
- Stochastic Gradient Descent (SGD) - 확률적 경사 하강법
- Mini-Batch Gradient Descent - 미니 배치 경사 하강법
- Newton's Method - 뉴턴 방법
- Conjugate Gradient Method - 공액 기울기 방법
- Quasi-Newton Methods - 의사 뉴턴 방법
- Greedy Algorithm - 탐욕 알고리즘
- Steepest Descent - 최급강하법
- Gauss-Newton Method - 가우스-뉴턴 방법
- Levenberg-Marquardt Method - 레벤버그-마쿼트 방법
4. 계산 복잡도에 따른 분류
단순 계산 최적화 (Simple Calculation Optimization):
- Gradient Descent - 경사 하강법
- Stochastic Gradient Descent (SGD) - 확률적 경사 하강법
- Mini-Batch Gradient Descent - 미니 배치 경사 하강법
복잡한 계산 최적화 (Complex Calculation Optimization):
- Newton's Method - 뉴턴 방법
- Conjugate Gradient Method - 공액 기울기 방법
- Quasi-Newton Methods - 의사 뉴턴 방법
- Genetic Algorithm - 유전 알고리즘
- Particle Swarm Optimization - 입자 군집 최적화
- Differential Evolution - 차등 진화
- Tabu Search - 타부 탐색
- Ant Colony Optimization - 개미 군집 최적화
- Complexity-Based Search - 복잡도 기반 탐색
- Orthogonal Array Search - 직교 배열 탐색
- Iterated Local Search - 반복적 지역 탐색
5. 정규화 기법
- Total Variation Regularization - 총 변동 정규화
- Ridge Regularization - 릿지 정규화
- Lasso Regularization - 라쏘 정규화
6. 강화 학습 알고리즘
- Q-Learning - Q-러닝
- Double Q-Learning - 더블 Q-러닝
- SARSA (State-Action-Reward-State-Action) - SARSA
- Deep Q-Network (DQN) - 딥 Q-네트워크
- 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. 손실 함수
회귀 문제:
- Mean Squared Error (MSE) - 평균 제곱 오차
- Mean Absolute Error (MAE) - 평균 절대 오차
- Huber Loss - 후버 손실
- Log-Cosh Loss - 로그-코시 손실
분류 문제:
- Cross-Entropy Loss - 교차 엔트로피 손실
- Binary Cross-Entropy Loss - 이진 교차 엔트로피 손실
- Categorical Cross-Entropy Loss - 범주형 교차 엔트로피 손실
- Kullback-Leibler Divergence (KL Divergence) - 쿨백-라이블러 발산
일반화된 손실 함수:
- Hinge Loss - 힌지 손실
- Squared Hinge Loss - 제곱 힌지 손실
8. 정보 엔트로피
- Shannon Entropy - 섀넌 엔트로피
- Conditional Entropy - 조건부 엔트로피
- Joint Entropy - 결합 엔트로피
- Relative Entropy (Kullback-Leibler Divergence) - 상대 엔트로피 (쿨백-라이블러 발산)
- Mutual Information - 상호 정보
- Cross-Entropy - 교차 엔트로피
- Jensen-Shannon Divergence - 젠슨-섀넌 발산
9. 기타 개념
모델 평가 및 선택:
- Bias-Variance Tradeoff - 편향-분산 트레이드오프
- Cross-Validation - 교차 검증
- ROC Curve - ROC 곡선
- Precision-Recall Curve - 정밀도-재현율 곡선
- F1 Score - F1 점수
집합 학습 (Ensemble Learning):
- Ensemble Methods (e.g., Bagging, Boosting, Stacking) - 집합 학습 방법
- Gradient Boosting Machines (GBM): XGBoost, LightGBM, CatBoost - 그래디언트 부스팅 기법
차원 축소 (Dimensionality Reduction):
- Principal Component Analysis (PCA) - 주성분 분석
- Independent Component Analysis (ICA) - 독립 성분 분석
- t-Distributed Stochastic Neighbor Embedding (t-SNE) - t-분포 확률적 이웃 임베딩
- Autoencoders - 오토인코더
하이퍼파라미터 튜닝 (Hyperparameter Tuning):
- Hyperparameter Tuning (e.g., Grid Search, Random Search) - 하이퍼파라미터 튜닝
- Bayesian Optimization - 베이지안 최적화
심층 학습 (Deep Learning):
- Convolutional Neural Networks (CNNs) - 합성곱 신경망
- Recurrent Neural Networks (RNNs) - 순환 신경망
- Long Short-Term Memory Networks (LSTMs) - 장단기 메모리 네트워크
- Generative Adversarial Networks (GANs) - 생성적 적대 신경망
최신 연구 동향 및 기술:
- Transfer Learning (전이 학습) - 전이 학습
- Meta-Learning (메타 학습) - 메타 학습
- AutoML (자동화 머신러닝) - 자동화 머신러닝
- Semi-Supervised Learning (반지도 학습) - 반지도 학습
- Self-Supervised Learning (자기지도 학습) - 자기지도 학습
- Metric Learning (거리 학습) - 거리 학습
10. 고급 개념 및 최신 연구
고급 최적화 알고리즘:
- Second-Order Methods (BFGS 등) - 2차 미분 기반 방법
- Constrained Optimization (Lagrange Multipliers, SQP 등) - 제한 조건 최적화
분산 및 병렬 최적화:
- Distributed Computing (Horovod, TensorFlow Distributed 등) - 분산 컴퓨팅
- Federated Learning - 연합 학습
최신 알고리즘 및 모델:
- Transformers (BERT, GPT, T5 등) - 트랜스포머
- Graph Neural Networks (GNNs) - 그래프 신경망
- Self-Supervised Learning (SimCLR, BYOL 등) - 자기지도 학습
최적화 기법의 응용:
- Hyperparameter Optimization (Hyperband, Optuna 등) - 하이퍼파라미터 최적화
- Meta-Learning (MAML 등) - 메타 학습
MLOps (Machine Learning Operations):
- MLflow - MLflow
- Kubeflow - Kubeflow
Explainable AI (XAI):
- SHAP (SHapley Additive exPlanations) - SHAP
- 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.