머신러닝 알아보기

[머신러닝] 0. 머신러닝 공부에 들어가기 앞서

빈이름 2024. 11. 26. 15:28

안녕하세요~ 오늘부터는 머신러닝 알고리즘들에 대해서 알아볼 겁니다. 머신러닝 공부를 시작하는 다양한 이유가 있겠지만, 저 같은 경우에는 딥러닝을 공부하다가 필요성을 느껴서 머신러닝에 대해 공부를 해보게 되었습니다.

 

인공지능을 크게 분류해 보면 아래와 같이 구분할 수 있습니다.

이 중에서도 현재 가장 핫한 chatGPT와 같은 인공지능들은 딥러닝에 속합니다. 딥러닝에 속하지 않은 머신러닝 기법들은 딥러닝이 발전하기 주로 사용되던 기법들입니다. 그런만큼 사실 지금은 딥러닝 기법에 비해 성능이 떨어지는 것이 사실입니다. 그럼에도 머신러닝 공부의 필요성을 느낀 것은 다음과 같은 이유에서입니다.

 

첫번째로, 딥러닝 연구들 중에서도 머신러닝 기법에 기반한 연구나 기술이 많습니다.

 

예를 들어, 딥러닝에서 사용하는 Gradient Descent, 앙상블 모델 등은 머신러닝 기법을 기반으로 확장된 것들입니다. 이런 개념들에 대한 설명을 볼 때 머신러닝에 대한 배경지식이 있으면 이해나 활용이 훨씬 쉬울겁니다.

 

두번째로, 머신러닝은 딥러닝과 달리 적은 컴퓨팅 자원을 필요로 합니다.

 

딥러닝은 대량의 파라미터 계산을 토대로 이뤄지기 때문에 좋은 컴퓨터를 필요로 합니다. 그에 반해 머신러닝 기법들은 파라미터 수가 적고 계산도 적게 필요해 낮은 사양에서도 더 빠른 속도로 학습이 가능합니다. 따라서 간단한 데이터 분석이 필요하거나 IOT 기기와 같은 단순 기기에서 사용하기엔 머신러닝 기법도 여전히 적합합니다.

 

세번째로, 머신러닝 기법은 딥러닝 모델의 베이스라인 역할을 수행할 수 있습니다.

 

어떤 분석이나 학습을 수행할 때, 머신러닝 기법으로 먼저 베이스라인을 잡으면 딥러닝 모델 연구에도 도움이 됩니다. 딥러닝 모델 설계를 하기 전에 머신러닝 모델을 먼저 만든다면, 딥러닝 모델이 내야 하는 성능의 최소 수준을 알 수 있습니다. 게다가 간단한 데이터라면 머신러닝 기법이 오히려 더 효율적일 수도 있습니다.

 

이런 이유들로 인해 머신러닝 기법에 대해 공부할 필요성을 느꼈고, 공부한 내용들을 공유하려고 합니다. 우선 가장 많이 사용되는 5가지 머신러닝 기법들의 원리에 대해서 알아고 간단한 코드 구현법을 알아볼 겁니다. 알아보고자 하는 머신러닝 기법은 아래와 같습니다.

  • KNN (K-Nearest Neighbors)
  • Decision Tree
  • Random Forest
  • Linear/Logistic Regression
  • SVM (Support Vector Machine)

최종적으로 5가지 머신러닝 기법들의 성능을 비교해보고 장단점을 비교해보는 것으로 마무리하려고 합니다. 그럼 지금부터 머신러닝 공부를 시작해 보도록 하겠습니다!

 

1. KNN : https://all-the-meaning.tistory.com/65

2. Decision Tree : https://all-the-meaning.tistory.com/69

3. Random Forest : https://all-the-meaning.tistory.com/70

4. Linear/Logistic Regression : https://all-the-meaning.tistory.com/71

5. SVM : https://all-the-meaning.tistory.com/72