머신러닝을 공부하기 위해 "파이썬 머신러닝 완벽가이드"라는 도서를 구매했다.
이 교제의 시작부분에서 이 "마스터 알고리즘"이라는 책을 소개하였다.
나는 머신러닝의 입문자로서 앞으로의 학습 방향을 설정하기에
이 책은 좋은 선택이 될것이라 생각이 들어 읽게 되었다.
가장 흥미로웠던 점은 지금까지 스쳐가며 들었던 각종 알고리즘들이
시작된 학파가 있고, 지금까지 각자의 논리와 영역에서 발전해왔다는 것이었다.

수많은 알고리즘들이 5개로 분류할 수 있다니 !
심지어는 모든 상황에 적용가능한 마스터 알고리즘을 만들어야 한다니 !
처음보는 용어가 많았지만 차근차근 읽다보면 이해가 될수 있도록
수식이나 용어는 최소화하고 예시와 쉬운 설명으로 채워진 좋은 입문서였다.
그렇기에 AI 전문가를 꿈꾸는 또다른 누구에게도 이 책을 강력히 추천한다.
(아래는 개인적으로 책을 읽으며 기억에 남는 개념을 정리한 것이다.)
알고리즘의 종족(학파) 빠르게 알아보기
핵심 키워드 | 한 줄 정리 | 비고 |
마스터 알고리즘 | 모든 알고리즘을 대체할 수 있는 것으로, 최소한의 입력만을 받아도 모든 분야에 적용 될수 있고 모든 상황을 이해하고 설명할 수 있는 단 하나의 알고리즘이다. | #알고리즘의 최종 종착지 #자발적이고 능동적인 데이터 탐색 |
기호주의자 | 연역법(알고있는 것->새로운 판단)을 바탕으로 기존에 알고있는 사실을 가지고, 연역 추론에서 빠진 부분을 채우는 것을 목표로 한다. | - 역연역법(inverse deduction) |
연결주의자 | 온전한 것을 분해하여 그 기술을 알아내는 역공학 방식으로, 어떤 연결이 오류를 일으키는 지를 파악하여 수정해가며 발전할 수 있는 알고리즘을 만드는 것을 목표로 한다. | - 역전파법(back propagation) |
진화주의자 | 생물의 자연선택에서 착안하여, 오류가 나타나는 부분을 세부 조정하며 발달하는 방식을 가진 학습하는 구조물을 만드는 것을 목표로 한다. | - 유전자 프로그래밍 |
베이스주의자 | 학습된 데이터의 불완전성에 주목하여, 확률 추론을 통해 정답과 가까운 답을 추론하는 것을 목표로 한다. | - 베이즈 정리 |
유추주의자 | 데이터 간의 유사성을 찾아내어 다른 유사성을 발견하는 알고리즘을 만드는 것을 목표로 한다. | - 서포트 벡터머신(SVM) |
책에 나온 주요 용어 한 줄 정리 하기(작성중)
핵심 키워드 | 한 줄 정리 | 비고 |
퍼셉트론 | 여러개의 입력값과 가중치를 곱한 결과를 계단함수(활성화 함수)를 거쳐 결과를 도출하는 기본적인 형태의 모델. | - 계단함수: 임계값을 넘으면 1, 아니면 0을 반환 - 이진 로지스틱 회귀모델: 계단함수 -> 시그모이드 |
지도학습(Supervised-) | 정답(라벨)이 있는 데이터의 학습을 통해, 새로운 데이터에 대한 예측 등을 진행하는 머신러닝 학습 | - 회귀 모델(숫자값 예측) - 분류모델(카테고리 할당) |
비지도학습(unsupervised-) | 정답(라벨)이 없는 데이터를 가지고, 데이터 간 연관성으로 그룹화 등을 진행하는 머신러닝 학습 | - 클러스터링(그룹화. ex. k-means clustering) - 연관(장바구니 분석, 추천엔진 등에 사용) |
베이즈 정리(bayes's theroy) | 사후확률(결과)을 사전확률(원인&결과 자체가 발생할 확률)로 조정하여 가설의 확률을 계산하는 확률추론 | - 에이즈 발생 확률 자체가 너무 작으면 양성일 때 에이즈일 확률(사후 확률)도 작아진다. |
나이브 베이즈 분류기(naive bayes) | for 변수의 단순화, 모든 입력변수들이 서로 독립적이라고 가정한 뒤 사후확률을 계산하는 지도 학습 알고리즘. | - 증상에 따른 독감 여부를 판단하기 위해, 독감일때 각 증상의 빈도와 증상 자체의 발생 빈도 확인 |
SVM(Support Vector Machine) | 그룹을 구분짓는 선들 중에서 불필요한 벡터들을 지워나가며, 그룹을 가장 잘 분류할 경계선만 남김. | - 서포트 벡터 머신 - 유추주의 머신러닝 |
k-최근접이웃(k-nearest-neighbor) | 새로운 데이터를 가장 가까운 k개의 데이터 중 다수를 차지하는 그룹으로 할당하여 분류,회귀(평균) 수행. | - 무제한의 데이터에 대해 비선형 경계선 - 가중치로 데이터간 평균값의 차이 보정 |
군집화(clustering) | 가장 특징이 유사한 것 끼리 묶어 집단을 구분짓는 비지도학습의 한 예시 | |
k-평균 알고리즘(k-means) | 군집화된 k개 데이터의 평균값으로, 데이터가 추가될 때마다 각 그룹의 평균을 구하고 다시 그룹을 재할당. | |
EM(Expectation Maximization) | 파라미터를 갱신하며 유형을 추론하는 과정을 값이 수렴할 때까지 반복하여 최적값을 찾는 방식 | - 불완전한 데이터에서 패턴을 찾는 문제 등에 사용 |
강화학습(reinforcement learning) | 여러번의 반복수행을 통해 장기적인 누적 보상을 최대화할 수있느 최적의 선택을 찾아감 | |
PCA(Pinciple-component anal.) | 여러개의 변수를 소수의 차원 공간에 투사(요약)하여, 원데이터(분산)를 보존하면서 선형데이터의 그룹화를 도움 | |
차원축소(Dim Reduction) | 알고리즘의 결과에 영향을 주지 않는 변수들을 제거 또는 변형 한 후 유사성을 분석하여 효율을 증가시키는 방법 | - 과적합 방지 - PCA는 변수 제거가 아닌 변환을 수행 |
관계형 알고리즘 | 모든 현상과 결과는 독립적으로 발생하지 않고 주변과 상호작용 하기에 데이터 간의 관계를 바탕으로 예측 | ex) 세포는 수많은 화학반응의 부산물을 만들어내 주변 세포에 영향을 주고 받는다. |
메타학습 알고리즘 | 여러 알고리즘 모델을 하나로 묶어 예측을 시키는 방식으로, 성능에 따라 가중치를 부여하여 최고의 결과를 도출 | - 랜덤 포레스트 |
'프로그래밍 > for AI' 카테고리의 다른 글
[Data] pandas 핵심 기능 정리 (1) | 2025.02.10 |
---|---|
[Utils] github 기본 사용법 정리(feat.TIL) (1) | 2025.02.10 |
[Data] numpy 핵심 기능 정리 (1) | 2025.02.06 |
[DL] 딥러닝 기초개념 정리 (0) | 2025.02.05 |
[ML] 머신러닝 기초개념 정리 (1) | 2025.01.16 |