본문 바로가기

좋아하는 것_매직IT/24.tensorflow

7.tensorflow, 머신러닝관련 알고리즘을 정리해보자.

반응형

블로깅 목적

  • 머신러닝관련 알고리즘에 대해서 정리해본다.

우선, 머신러닝 알고리즘을 분류해보자.

  • 기준
    • 학습모델

 우선, 의사결정 트리 기반 알고리즘에 대해서 알아보자

  • 의사결정 트리 기반 알고리즘(decision tree based algorithms)이란?
    • 제공된 데이터를 이용해 반복적 or 재귀적인 방법을 통해 모델을 정의하는 것.
  • 목표
    • 주어진 입력변수에 대한 데이터를 기반으로 타켓 변수를 예측하는 것.
    • 트리 기반의 기법을 사용해 분류(classification) / 회귀(regression) 문제를 해결함.
  • 주요 알고리즘
    • 랜덤 포레스트(Random Forest)
    • CART(Classification And Regression Tree)
    • C4.5 및 C5.0
    • 카이제곱(Chi-square)
    • GBM(Gradient Boosting Machine)
    • CHAID(Chi-Squared Automatic Interaction Detection)
    • 의사결정 스텀프(decision stump)
    • MARS(Multivariate Adaptive Regression Splines)

그럼, 베이지언 기법 알고리즘에 대해서 알아보자.

  • 베이지언 기법 알고리즘(Bayesian methods algorithms)이란?
    • 베이지언 추론(Bayesian Inference) 이론을 적용시킨 알고리즘으로 분류 / 회귀 문제 해결에 많이 사용됨.
  • 특징
    • 모델을 생성할때 "주관적확률"을 사용할 수 있음.
  • 주요 알고리즘
    • 나이브 베이즈(Naive Bayes)
    • AODE(Averaged One-Dependence Estimators)
    • BBN(Bayesian Belief Network)

그럼, 커널 기법 기반 알고리즘에 대해사 알아보자.

  • 커널 기법(Kernel methods algorithms) 알고리즘이란?
    • 분리 가능한 비선형 함수를 다차원 분리 가능한 선형 함수로 매핑하기 위해 사용
  • 특징
    • 패턴분석에 주로 사용함.
  • 주요 알고리즘
    • SVM(Support Vector Machine)
    • LDA(Linear Discriminant Analysis)

그럼, 차원 축소화 알고리즘에 대해서 알아보자.

  • 차원 축소화 알고리즘(dimensionality reduction algorithms)이란?
    • 반복적으로 실행되고, 비지도 학습 방식으로 데이터 구조상에서 동작함.
      • 즉, 데이터 셋과 차원이 주어졌을 경우, 차원이 높을 수록 머신러닝 구현 모델이 더 많이 실행되어야함.
      • 해당 기법의 기본 아이디어는
        • 차원을 반복적으로 감소시키는데, 이 과정에서 상대적으로 관련도가 높은 차원을 앞으로 이끌어 내는 것.
  • 특징
    • 대체로 고차원 데이터를 단순화할 때 사용함.
      • 그리고, 지도 학습 기술을 많이 적용함.
  • 주요 알고리즘
    • MDS(Multidimensional Scaling)
    • PCA(Principal Component Analysis)
    • PP(Projection Pursuit)
    • PLS(Partial Least Squares)
    • SM(Sammon Mapping)

그럼, 앙상블 기법 알고리즘에 대해서 알아보자.

  • 앙상블 기법 알고리즘(Ensemble methods algorithms) 이란?
    • 따로 따로 만들어진 여러개의 모델을 아우르는 기술로, 이들 모델의 결과를 조합해서 전체적인 예측결과를 만들어내는 것.
  • 특징
    • 결과도 적절하게 조합해야하고, 이를 통해 최종결과를 얻을 수 있음.
      • 그리고, 생성된 모델들 중 일부는 종종 영향도가 낮은 모델로 취급되기도 하며, 이럴 경우 이 모델들은 기대하는 수준의 결과를 내지 않아도 별 문제가 되지않음.
        • 즉, 다른 기법과 비교해서 좋은 특징이고, 이로 인해서 여러분야에 폭넓게 적용되고 있다고 함.
  • 주요 알고리즘
    • 랜덤 포레스트
    • Bagging
    • AdaBoost
    • BA(Bootstrapped Aggregation)
    • SG(Stacked Generalization)
    • GBM(Gradient Boosting Machines)

그럼, 인스턴스 기반 학습 알고리즘에 대해서 알아보자.

  • 인스턴스 기반 학습 알고리즘(Instance based learning algorithms)이란?
    • 어떤 문제에 큰 영향을 줄 수 있는 인스턴스 내지는 인스턴스 그룹을 찾아내는 것.
  • 특징
    • 인스턴스에 대한 결과를 비교함.
    • 인스턴스 기반 기법은 사례기반 or 메모리 기반 학습법이라고도 함.
  • 주요 알고리즘
    • KNN(K-Nearest Neighbour, K-최근접 이웃)
    • Self-Organizing
    • LVQ(Learning Vector Quantization)
    • SOM(Self-Organizing Maps)

그럼, 회귀 분석 기반 알고리즘에 대해서 알아보자.

  • 회귀 분석 기반 알고리즘(regression analysis based algorithms) 이란?
    • 모델을 통해 생성된 오차를 기반으로 모델을 지속적으로 수정/보완하는 것.
  • 주요 알고리즘
    • 정규 최소 제곱(Ordinary Least Squares)
    • 선형 회귀(Linear Regression)
    • 로지스틱 회귀(Logistic Regression)
    • MARS(Multivariate Adaptive Regression Splines)
    • 단계적 회귀(Step-wise Regression)

그럼, 연관 규칙 기반 학습 알고리즘에 대해서 알아보자.

  • 연관 규칙 기반 알고리즘(association rule based algorithms) 이란?
    • 학률 변수가 주어졌을때, 데이터셋에 적용할 수 있는 규칙을 추출하고 정의하는 것.
  • 특징
    • 경험 기반 학습을 보여주며, 예측까지도 가능함.
  • 주요 알고리즘
    • Apriori 
    • ECLAT

그럼, 클러스터링 기반 알고리즘에 대해서 알아보자

  • 클러스터링 기반 알고리즘(clustering based algorithms) 이란?
    • 회귀처럼 문제의 데이터를 어떻게 그룹으로 만들었는지, 이를 위해 어떤 방법을 사용했는지 등을 나타냄.
  • 특징
    • 대개 모델링 방법을 기반으로 함.
    • 입력 데이터의 구조를 파악하고 유사도를 측정한 결과를 바탕으로 데이터를 그룹핑함.
  • 주요 알고리즘
    • K-평균
    • EM(Expectation Maximization)
    • GMM(Gaussian Mixture Models)

마지막으로, 인공신경망 기법 알고리즘에 대해서 알아보자.

  • 인공신경망 알고리즘(artificial neural networks algorithms)이란?
    • 실제 생물학에서 다루는 신경망구조에서 아이디어를 얻었으며, 커널기법처럼 패턴 매칭 기술의 계열임.
  • 특징
    • 분류와 회귀를 해결하는데 많이 사용됨.
    • 딥러닝과도 밀접함.
  • 주요 알고리즘
    • LVQ(Learning Vector Quantization)
    • SOM(Self-Organizing Maps)
    • HN(Hopfield Network)
    • Perceptron
    • Backpropagation

결론

  • 머신러닝관련 알고리즘에 대해서 정리및 조사해보고 주요 알고리즘은 간단히 나열해보았음.
  • 머신러닝에 대해서 공부하면 공부할수록 엄청난 자료와 학습해야할 공부거리(?) 가 나타남
  • 오늘도 머신러닝관련 알고리즘에 대한 정리 및 지식 획득완료! 감사합니다.
  •  
728x90
300x250