cs

충전기 고장난 느낌으로 살고있댜

 

다양한걸 경험하고, 너무나 많은 일들을 몸으로 느끼고 배워왔다고 느꼈는데, 

 

요즘은 그 경험한 모든 것들을 머리속에 잘 저장을 하고 있어야 한다는 생각을 한다. 

 

그래서 새롭게 다시 맘을 잡으려고 하는데... 

 

그전에 정말, 나는 쉼이 필요하다. 

 

쉴때 쉬어주어야 다음 스탭을 갈 수 있는건데, 그걸 모르고 그냥 걸어온 느낌이 든다.

 

지금은 모든게 번아웃처럼 다 무의미하게 느껴진다. 

 

그럼에도 이렇게 블로그에 공부할거 쓰고있고 혼자 막 불안함을 느끼는 나는 뭐하는 놈이냐..

하기 싫은데 하고 있는? 아니 공부는 더 하고싶은데 환경이 싫은데 하고있ㅇ? 뭐라는거냐... (술 안마셨어요)

 

 


자자, 다시 정신 차리고!! 

 

데싸노트의 실전에서 통하는 머신러닝을 서점에서 한참 본 후에 구매했다.

http://www.yes24.com/Product/Goods/110511505

아주 예전에 유툽으로 잠시 본 사람이였던건아는데, 실전에서의 머신러닝은 뭘까 하면서 책을 뒤척뒤척 거렸는데

 

생각보다 내용이 다른 흔한 머신러닝 책보다는 효율적?이여서 공부해보기로했다.

 

다들 간단한 데이터, 그러니까 이쁜 데이터 셋을 가지고 하는 머신러닝은 어떤 책이든 똑같지만,

 

다양한 알고리즘을 활용하면서 각 프로세스를 하나씩 익히는 그런 과정들이 좋아서 공부해보기로 마음을 먹었다.

 

물론 나는 정말, 여기 나온 알고리즘들을 하나씩 다 찔끔찔끔 맛보기는 다 했지만, 

 

요즘 전공생들이 배운 과정이나, 요즘 부트캠프들이 가르쳐주는 그런 교육을 받지 않아서 개념이 좀 부족하다.

 

부족하다? 그럼 뭐 공부해야지.

 

스킵할 부분은 쭉 스킵할것이고, 모든 내게 도움이 될 부분은 공부하며 기록으로 남겨보려 한다. 

 


TOP 10 알고리즘

이 책에서 10가지 머신러닝 알고리즘을 다루는데, 꼭 필요한 8가지의 지도학습과 2가지 비지도학습을 소개하고있다.

 

정말 흔한? 그리고 중요한 알고리즘들이기 때문에 나로써도 개념잡고 가기 너무 좋아서 정리하고 차근차근 한 스탭씩 밟아보려 한다. 

 

각 알고리즘에서 문제 유형에 따라 회귀 혹은 분류로 나뉘는데

  • 회귀 : 연속된 값을 측정하는 문제
  • 분류: 범주형 값을 측정하는 문제

라고 생각하고 하나씩 보자.

 


1. 선형회귀 (Linear Regression)

문제유형 적합한 데이터 유형 책에서의 선정 이유
회귀 종속변수와 독립변수가 선형관계에 있는 데이터 * 기초적인 머신러닝 알고리즘이며, 복잡한 알고리즘에 비해 예측력이 떨어지긴 하지만 데이터 특성이 복잡하지 않을때는 쉽고 빠른 예측이 가능
* 다른 모델과의 성능을 비교하는 베이스라인으로 사용하기도 함

(정리가 깔끔해서 더 맘에든다)

 

 

 

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

문제유형 적합한 데이터 유형 책에서의 선정 이유
분류 종속변수와 독립변수가 선형관계에 있는 데이터 * 선형 회귀 분석과 마찬가지로 기본적인 알고리즘
* 실제 이진분류가 필요한 상황이 많기 때문에 두가지 범주를 구분하는 간단한 예측에 유용함
* 딥러닝에서도 기초지식으로 활용

(실제 지금 회사에서 로지스틱 기반으로 열심히 모델링을 해보고 있는데, 말이 기본이지, 쉬운건 없다)

 

 

 

3. K-최근접 이웃 (KNN)

문제유형 적합한 데이터 유형 책에서의 선정 이유
회귀/분류 아웃라이어가 적은 데이터 * 다중분류 문제에 가장 간편히 적용 가능한 알고리즘
* 데이터가 크지 않고 예측이 까다롭지 않다면 쉽게 모델 구현 가능 
* 베이스라인 모델로 많이 사용

(혼공머신에서도 처음에 다룬 알고리즘이 KNN이다! 그리고 난 바보같이 면접에서 질문을 받았지만, 바보같은 헛소리만 했다?)

 

 

 

4. 나이브 베이즈 (Naive Bayes)

문제유형 적합한 데이터 유형 책에서의 선정 이유
분류 독립변수의 종류가 매우 많은 경우 * 범용성이 높지 않지만 독립변수들이 모두 독립적이라면 충분히 경쟁력이 있는 알고리즘 
* 특히, 딥러닝을 제외하고 자연어 처리에 가장 적합한 알고리즘
* 일반적 데이터보다 특수상황을 고려하길

(한번도 다뤄보지 못한 알고리즘이다. 개념을 먼저 소개하기 보다는 특징을 일단 잡아줘서 좋긴한데, 나중에 직접 모델링 하는 부분에서는 약간 디테일 하게 소개가 조금씩 있으니 그때 가서 개념을 다시 잡아야겠다.

 

 

 

5. 결정 트리 (Decision Tree)

문제유형 적합한 데이터 유형 책에서의 선정 이유
회귀/분류 일반적인 데이터 * 예측력과 성능으로 따지면 결정트리 모델을 사용할 일이 없다고 나온다?
* 시각화가 매우 뛰어나다는 장점만 있다고 한다?
* 하지만 앞으로 배울 다른 트리 기반 모델을 설명하려면 결정트리를 알아야함
* 트리 기반의 모델은 딥러닝을 제외하면 가장 유용하고 많이 쓰이는 트랜드

(기본적인 트리 모델이라서 선정이유에서 좀 선호하지 않는 뉘앙스지만, 기초는 항상 중요하기에 꼭 잘 알고 넘어가자)

 

 

 

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

문제유형 적합한 데이터 유형 책에서의 선정 이유
회귀/분류 일반적인 데이터 * 앙상블 기법을 사용한 트리 기반 모델중 가장 보편적인 방법
* 부스팅에 비하면 속도나 예측력에서 부족함
* 그러나 부스팅을 이해하려면 역시 꼭 알아야할 필수 알고리즘

(역시 회사에서 사용했었다, 기본 개념없이 사용해서 애를 먹었는데 그당시 인턴님이 많이 도와주셔서,,보고싶네 ㅠㅠ 암튼 정말 개념 다시 꼭 잡고 가자. 책 잘 골랐다 증말)

 

 

 

7. XG 부스트 (XGBoost)

문제유형 적합한 데이터 유형 책에서의 선정 이유
회귀/분류 일반적인 데이터 * 캐글 컴피티션 우승자가 가장 많이 사용한 검증된 모델
* 구글 검색에서 수많은 예시와 다양한 튜닝 방법을 쉽게 접할 수 있음

(다른건 몰라도 이 xgboost는 입사하고 처음 들은 알고리즘이다. 알고리즘 1도 모를때 xgboost를 듣고 바로 코드를 따서 열심히 오랜시간 걸렸지만 돌렸던 기억이 있고, 지금도 파일을 사용한다. 참 무서울정도로 막가파로 내가 공부하고 활용하긴 했는데, 예전엔 예전이고 이제는 더 디테일하게 공부해야지..)

 

 

 

8. 라이트GBM (LightGBM)

문제유형 적합한 데이터 유형 책에서의 선정 이유
회귀/분류 일반적인 데이터 * 표로 정리된 데이터에서 Catboost, XGBoost와 함께 가장 좋은 성능을 보여주는 알고리즘 
* 활용 빈도 높음

(내 기억에는 xgboost보다 더 가볍고 빠르고 데이터가 커도 핸들링이 쉽다는걸 알고있다. Catboost는 범주형 데이터를 분석하는 알고리즘중 유명한 걸로 알고있는데, 셋다 모두 써봤다.. 근데 머리속에? 개념이 부족..)

 

 

 

9. K-평균 군집화 (K Means Clustering)

문제유형 적합한 데이터 유형 책에서의 선정 이유
- - * 수많은 데이터를 가지고 있을때 클러스터링을 통해 적절한 그룸으로 나눌 수 있음 
여러 클러스터링 기법중 K-평균 군집화는 가장 보편적이고 무난함

(여기서 부터는 비지도 학습인데(9,10번), 주식 관련해서 프로잭트를 했을때 사용했고, 회사에서도 처음에 사용했다. 왜? 몰라서 내가 뭘 지정할줄 모르겠으니 애라 모르겠다 비지도 학습 때려보자 해서 K Means를 사용했었다.. 무식한거지)

 

 

 

10. 주성분 분석 (PCA)

문제유형 적합한 데이터 유형 책에서의 선정 이유
- - * 차원 축소 방법중 가장 인기 있으며 구현하기 쉬운편
* 차원 축소를 시도함으로써 시각화 내지 모델링 효율을 개선할 여지가 있음

(개념과 이론을 가장 빠삭하게 배우고 싶은 분석중 하나이다.  실제 데이터에서는 다양한 변수들이 넘치고 차원이 많아질때 복잡한 경우가 있는데, 차원 축소를 하여 분석을 하는 방법을 꼭 알아야 할 필요가 있다고 본다. 예전에 주성분분석이 아닌 더 고차원의 차원 축소 방식 알고리즘을 들었는데... 이름을 까묵었네..Multilinear pca였는지 암튼...)

 

 

 


책을 본격적으로 시작하기 전에 알고리즘을 정리해봤는데. 

 

빨리, 아니 좀 디테일하게 이 10가지 예제들의 프로세스를 경험하고 내 지식으로 만들고싶다. 

 

 

 

 

힘내자.. 진짜 우울하고 힘든데 좀 더 힘내보자..!

+ Recent posts