오렌지와 토마토 분류에 활용 가능한 주요 분류 알고리즘

다음은 KNN과 SVM을 제외하고 오렌지와 토마토를 구분하기 위해 사용할 수 있는 대표적인 지도 학습 기반 분류 알고리즘 목록이다. 각 알고리즘의 핵심 아이디어와 활용 예시를 함께 제시한다.

1. 로지스틱 회귀 (Logistic Regression)

입력 특징(feature)과 클래스 확률 간의 관계를 시그모이드 함수로 모델링하여, 이진 분류(오렌지 vs 토마토)에 자주 활용된다[1].

2. 결정 트리 (Decision Tree)

데이터의 특징 값을 기준으로 분기 규칙을 트리 구조로 학습한다. 각 노드에서 정보 획득량(Information Gain)이 최대가 되도록 분할함으로써 해석이 용이하다[1].

3. 랜덤 포레스트 (Random Forest)

여러 개의 결정 트리를 배깅(bagging) 방식으로 학습시키고, 다수결 투표로 최종 예측을 수행하는 앙상블 기법이다. 과적합 위험을 낮추고 성능을 안정화한다[1].

4. 나이브 베이즈 분류기 (Naive Bayes)

특징 간 독립을 가정하고, 베이즈 정리 기반으로 확률을 계산하여 분류를 수행한다. 텍스처나 색상 히스토그램 등 조건부 확률 활용 시 효율적이다[1].

5. 퍼셉트론 (Perceptron)

가장 기본적인 선형 분류기로, 가중치의 선형 결합이 임계값을 넘는지를 판단하여 이진 분류를 수행한다. 단일 레이어 신경망으로 볼 수 있다[2].

6. 다층 퍼셉트론 (Multilayer Perceptron, MLP)

은닉층(hidden layer)을 하나 이상 둔 신경망으로, 비선형 분리면을 학습할 수 있어 복잡한 색상·형태 특징을 포착하는 데 유리하다[2].

7. 합성곱 신경망 (Convolutional Neural Network, CNN)

이미지 분류에 특화된 딥러닝 모델로, 컨볼루션 연산을 통해 공간적 특징을 자동 추출한다. 오렌지와 토마토의 형태·질감 차이를 효과적으로 학습할 수 있다[2].

8. 앙상블 부스팅 계열

  • AdaBoost: 여러 약한 학습기(weak learner)의 오차를 가중 합산하며 순차 학습.
  • Gradient Boosting: 잔차(residual)에 초점을 맞춰 결정 트리를 순차 생성.
  • XGBoost: Gradient Boosting의 효율적 구현체[3].
  • LightGBM: Leaf-wise 트리 분할로 경량·고속 학습 지원[4].
  • CatBoost: 범주형 변수 처리에 강점이 있는 Gradient Boosting 구현체[5].

9. 선형 판별 분석 (Linear Discriminant Analysis, LDA)

클래스 간 분산 대비 클래스 내 분산 비율을 최대로 하는 투영 벡터를 찾아 차원을 축소하면서 분류 경계를 학습한다. 다중 클래스도 지원한다[6].

10. 이차 판별 분석 (Quadratic Discriminant Analysis, QDA)

LDA와 달리 클래스별로 공분산 행렬을 별도로 추정해, 이차 결정 경계를 학습한다. 비등방 분포를 가지는 클래스 구분에 유리하다[6].

출처
[1] The Machine Learning Algorithms List: Types and Use Cases https://www.simplilearn.com/10-algorithms-machine-learning-engineers-need-to-know-article
[2] Sahith02/machine-learning-algorithms – GitHub https://github.com/Sahith02/machine-learning-algorithms
[3] XGBoost Classifier | Machine Learning for Engineers – APMonitor https://apmonitor.com/pds/index.php/Main/XGBoostClassifier
[4] lightgbm.LGBMClassifier — LightGBM 4.6.0.99 documentation https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.LGBMClassifier.html
[5] How CatBoost algorithm works—ArcGIS Pro | Documentation https://pro.arcgis.com/en/pro-app/latest/tool-reference/geoai/how-catboost-works.htm
[6] [Classifier] Quadratic Discriminant Analysis (QDA) – velog https://velog.io/@greensox284/Classifier-Quadratic-Discriminant-Analysis-QDA
[7] Category:Machine learning algorithms – Wikipedia https://en.wikipedia.org/wiki/Category:Machine_learning_algorithms
[8] Main Classification Algorithms – Part 1 – Linedata https://www.linedata.com/main-classification-algorithms-part-1
[9] Choosing the Best Machine Learning Classification Model and … https://www.mathworks.com/campaigns/offers/next/choosing-the-best-machine-learning-classification-model-and-avoiding-overfitting.html
[10] Classification algorithms: Definition and main models – DataScientest https://datascientest.com/en/classification-algorithms-definition-and-main-models
[11] XGBoost for classification | Vertica 24.3.x https://docs.vertica.com/24.3.x/en/data-analysis/ml-predictive-analytics/classification-algorithms/xgboost-classification/
[12] Classification using XGBoost in Python – Educative.io https://www.educative.io/answers/classification-using-xgboost-in-python
[13] What is XGBoost? An Introduction to XGBoost Algorithm in Machine … https://www.simplilearn.com/what-is-xgboost-algorithm-in-machine-learning-article
[14] Light GBM(LGBM)의 개요와 파라미터 정의에 대해 https://nicola-ml.tistory.com/51
[15] [Chapter 4. 분류] LightGBM – 데이터분석, 머신러닝 정리 노트 https://injo.tistory.com/48
[16] 머신러닝 – LDA (Linear Discriminant Analysis) – velog https://velog.io/@swan9405/LDA-Linear-Discriminant-Analysis
[17] What Is Linear Discriminant Analysis? – IBM https://www.ibm.com/think/topics/linear-discriminant-analysis
[18] Linear discriminant analysis – Wikipedia https://en.wikipedia.org/wiki/Linear_discriminant_analysis
[19] 1.2. Linear and Quadratic Discriminant Analysis – Scikit-learn https://scikit-learn.org/stable/modules/lda_qda.html
[20] QDA in Machine Learning: 7 Essential Statistics to Know https://www.numberanalytics.com/blog/qda-machine-learning-essential-stats
[21] Implementing QDA Algorithms: Techniques for Data Modeling Mastery https://www.numberanalytics.com/blog/implementing-qda-algorithms-data-modeling
[22] Catboost 모델에 대하여 – 알고리즘, 구현 코드 https://julie-tech.tistory.com/119
[23] CatBoostClassifier | CatBoost https://catboost.ai/docs/en/concepts/python-reference_catboostclassifier
[24] catboost/catboost – GitHub https://github.com/catboost/catboost
[25] What are Machine Learning Algorithms? – H2O.ai https://h2o.ai/wiki/machine-learning-algorithms/
[26] 101 machine learning algorithms for data science https://datasciencedojo.com/blog/machine-learning-algorithms/
[27] 10 Machine Learning Algorithms to Know in 2025 – Coursera https://www.coursera.org/articles/machine-learning-algorithms
[28] 5 Classification Algorithms for Machine Learning | Built In https://builtin.com/data-science/supervised-machine-learning-classification
[29] Xgboost Classification Indepth Maths Intuition- Machine Learning … https://www.youtube.com/watch?v=gPciUPwWJQQ
[30] XGBoost Tutorial (Classification) – Kaggle https://www.kaggle.com/code/soheiltehranipour/xgboost-tutorial-classification
[31] XGBoost Documentation — xgboost 3.0.2 documentation https://xgboost.readthedocs.io
[32] 선형판별분석(Linear Discriminant Analysis) – ratsgo’s blog https://ratsgo.github.io/machine%20learning/2017/03/21/LDA/
[33] StatQuest: Linear Discriminant Analysis (LDA) clearly explained. https://www.youtube.com/watch?v=azXCzI57Yfc
[34] Discriminant Analysis Classification – MATLAB & Simulink – MathWorks https://www.mathworks.com/help/stats/discriminant-analysis.html
[35] CatBoost Classifier in Python – Kaggle https://www.kaggle.com/code/prashant111/catboost-classifier-in-python
[36] 머신러닝 CatBoost 다중 분류 알고리즘을 이용한 조류 발생 예측 모형 … https://www.kci.go.kr/kciportal/ci/sereArticleSearch/ciSereArtiView.kci?sereArticleSearchBean.artiId=ART002929452

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다