개발자를 위한 AI 알고리즘 (정렬·탐색·그래프부터 LSTM·GRU·RNN, 트랜스포머까지 50가지 알고리즘)

개발자를 위한 AI 알고리즘 (정렬·탐색·그래프부터 LSTM·GRU·RNN, 트랜스포머까지 50가지 알고리즘)

$35.00
Description
AI 시대 개발자가 반드시 알아야 할 알고리즘의 핵심을 한 권에 담았다.

현대 개발자가 반드시 이해해야 할 알고리즘의 핵심을 한 권에 담은 실전 중심 알고리즘 가이드이다. 이 책은 기초적인 정렬·탐색·그래프 알고리즘부터 머신러닝, 딥러닝, 자연어 처리, 추천 시스템, 암호학, 대규모 알고리즘 처리까지 폭넓게 다루며, 알고리즘을 활용해 실제 문제를 해결하는 능력을 기르는 데 초점을 맞춘다.
특히 최근 주목받고 있는 생성형 AI와 대규모 언어 모델(LLM)을 이해하기 위한 토대를 제공하며, LSTM·GRU·RNN 등 순차 모델의 원리와 구조를 자세히 설명한다. ChatGPT를 비롯한 LLM이 어떤 알고리즘과 모델을 기반으로 동작하는지 이해할 수 있도록 구성되어 있어, AI 시대에 필요한 필수 역량을 자연스럽게 습득할 수 있다.
각 알고리즘은 Python 기반 예제로 구현 과정을 함께 제공하여 누구나 직접 실습하며 따라갈 수 있으며, 특정 문제에 어떤 알고리즘을 선택해야 하는지, 어떻게 설계·최적화해야 하는지 실무적인 관점에서 안내한다.
알고리즘을 처음 배우려는 개발자부터 최신 AI 기술을 이해하고 활용하고자 하는 현업 실무자까지, 폭넓은 독자층이 실질적인 도움을 받을 수 있는 책이다.
저자

임란 아마드

(Imran Ahmad)
알고리즘과 머신러닝 분야에서 오랜 기간 연구해 온 데이터 사이언티스트다. 2010년 박사 과정에서 클라우드 자원 할당을 위한 선형 계획법 기반 알고리즘을 제안했고, 2017년에는 실시간 분석 프레임워크 StreamSensing을 개발했다. 현재 캐나다 연방정부의 A2SC에서 일하며 칼턴대학교 겸임 교수로 활동 중이고, 구글(Google)과 러닝트리(Learning Tree)에서 알고리즘, 클라우드 컴퓨팅, 딥러닝을 가르쳐왔다. 여러 연구 논문을 발표했고 일부는 최우수 논문상을 받았다. 취미는 자연 사진이며, 기술을 인류 발전에 활용하는 데 열정을 쏟고 있다.

목차

〈1부〉 기초 및 핵심 알고리즘
1장 알고리즘 개요
1.1 알고리즘이란 무엇인가?
1.1.1 알고리즘의 단계
1.1.2 개발 환경
1.2 파이썬 패키지
1.2.1 SciPy 생태계
1.3 알고리즘 설계 기법
1.3.1 데이터 차원
1.3.2 계산 차원
1.4 성능 분석
1.4.1 공간 복잡도 분석
1.4.2 시간 복잡도 분석
1.4.3 성능 평가
1.4.4 빅오 표기법
1.4.5 상수 시간(O(1)) 복잡도
1.4.6 선형 시간(O(n)) 복잡도
1.4.7 2차 시간(O(n2)) 복잡도
1.4.8 로그 시간(O(logn)) 복잡도
1.5 알고리즘 선택하기
1.6 알고리즘 검증
1.6.1 정확한 알고리즘, 근사 알고리즘, 무작위 알고리즘
1.6.2 설명 가능성

2장 알고리즘에 사용되는 자료 구조
2.1 파이썬 내장 자료형 탐색하기
2.1.1 리스트
2.1.2 튜플
2.1.3 딕셔너리와 세트
2.1.4 시리즈와 데이터프레임 사용하기
2.1.5 행렬
2.2 추상 자료형 탐색하기
2.2.1 벡터
2.2.2 스택
2.2.3 큐
2.2.4 트리

3장 정렬 및 탐색 알고리즘
3.1 정렬 알고리즘 소개
3.1.1 파이썬에서 변수 교환하기
3.1.2 버블 정렬
3.1.3 삽입 정렬
3.1.4 병합 정렬
3.1.5 셸 정렬
3.1.6 선택 정렬
3.1.7 정렬 알고리즘 선택하기
3.2 탐색 알고리즘 소개
3.2.1 선형 탐색
3.2.2 이진 탐색
3.2.3 보간 탐색
3.3 실용 예제

4장 알고리즘 설계
4.1 알고리즘 설계의 기본 개념 소개
4.1.1 고려 1 - 정확성: 우리가 기대한 결과를 생성하고 있는가
4.1.2 고려 2 - 성능: 최적의 방식인가?
4.1.3. 고려 3 - 확장성: 더 큰 데이터세트에서 어떻게 작동할 것인가?
4.2 알고리즘 전략 이해하기
4.2.1. 분할 정복 전략 이해하기
4.2.2. 동적 프로그래밍 전략 이해하기
4.2.3. 탐욕 알고리즘 이해하기
4.3 실제 응용 - 외판원 문제(TSP) 해결
4.3.1. 무차별 대입 전략 사용하기
4.3.2. 탐욕 알고리즘 사용하기
4.3.3. 세 가지 전략 비교
4.4 페이지랭크 알고리즘 소개
4.4.1. 문제 정의
4.4.2. 페이지랭크 알고리즘 구현하기
4.5 선형 프로그래밍 이해하기
4.5.1. 선형 프로그래밍 문제 공식화하기
4.5.2. 실용 예제 - 선형 프로그래밍으로 공급능력 계획하기

5장 그래프 알고리즘
5.1 그래프 이해하기: 간단한 소개
5.1.1. 그래프: 현대 데이터 네트워크의 중추
5.1.2. 그래프 기초: 정점(혹은 노드)
5.2 그래프 이론과 네트워크 분석
5.3 그래프 표현 방식
5.4 그래프의 구조와 종류
5.4.1. 자아 중심 네트워크
5.5 네트워크 분석 이론 소개
5.5.1. 최단 경로 이해하기
5.5.2. 중심성 지표 이해하기
5.5.3. 파이썬으로 중심성 계산하기
5.5.4. 소셜 네트워크 분석
5.6 그래프 순회 이해하기
5.6.1. BFS
5.6.2. DFS
5.7 사례 연구: 소셜 네트워크 분석으로 사기 탐지하기
5.7.1. 도입
5.7.2. 사례 연구에서 사기란 무엇인가?
5.7.3. 단순한 사기 분석 수행하기
5.7.4. 감시탑 사기 분석 방법 소개

〈2부〉 머신 러닝 알고리즘
6장 비지도 머신 러닝 알고리즘
6.1 비지도 학습 개요
6.1.1. 데이터 마이닝 생명 주기에서 비지도 학습
6.1.2. 비지도 학습의 현재 연구 경향
6.1.3. 실용 예제
6.2 클러스터링 알고리즘 이해하기
6.2.1. 유사도 계산하기
6.2.2. k-평균 클러스터링 알고리즘
6.3 계층적 클러스터링의 단계
6.4 계층적 클러스터링 알고리즘 코드 작성하기
6.5 DBSCAN 이해하기
6.6 파이썬으로 DBSCAN을 사용하여 클러스터 생성하기
6.7 클러스터 평가하기
6.7.1. 클러스터링 응용 분야
6.8 차원 축소
6.8.1. 주성분 분석
6.9 연관 규칙 마이닝
6.9.1. 규칙의 종류
6.9.2. 연관 규칙 마이닝을 위한 알고리즘

7장 전통적인 지도 학습 알고리즘
7.1 지도 학습 이해하기
7.2 지도 학습 문제 공식화하기
7.2.1. 가능 조건 이해하기
7.2.2. 분류 모델과 회귀 모델 차이 구분하기
7.3 분류 알고리즘 이해하기
7.3.1. 분류 모델 과제 소개
7.3.2. 혼동 행렬
7.3.3. 재현율과 정밀도 간의 트레이드 오프 이해하기
7.4 결정 트리 분류 알고리즘
7.4.1. 결정 트리 분류 알고리즘 이해하기
7.4.2. 결정 트리 분류 모델의 장단점
7.4.3. 사용 사례
7.5 앙상블 기법 이해하기
7.5.1. XGBoost 알고리즘으로 그라디언트 부스팅 구현하기
7.5.2. 앙상블 부스팅과 랜덤 포레스트 알고리즘의 차이 구분하기
7.5.3. 분류 모델 과제에 랜덤 포레스트 알고리즘 활용하기
7.6 로지스틱 회귀
7.6.1. 가정
7.6.2. 관계 설정하기
7.6.3. 손실 함수와 비용 함수
7.6.4. 로지스틱 회귀를 사용해야 하는 경우
7.6.5. 분류 모델 과제에 로지스틱 회귀 알고리즘 활용하기
7.7 SVM 알고리즘
7.7.1. 분류 모델 과제에 SVM 알고리즘 활용하기
7.7.2. 나이브 베이즈 알고리즘 이해하기
7.8 베이즈 정리
7.8.1. 확률 계산하기
7.8.2. 곱셈 법칙과 AND 사건
7.8.3. 일반적인 곱셈 법칙
7.8.4. OR 사건에 대한 덧셈 법칙
7.8.5. 분류 모델 과제에 나이브 베이즈 알고리즘 활용하기
7.9 분류 알고리즘의 승자는...
7.9.1. 회귀 알고리즘 이해
7.9.2. 회귀 모델 과제 소개
7.9.3. 회귀 모델 문제 정의
7.9.4. 과거 데이터셋 탐색하기
7.9.5. 데이터 처리 파이프라인을 활용한 특징 공학
7.10 선형 회귀
7.10.1. 단순 선형 회귀
7.10.2. 회귀 모델 평가하기
7.10.3. 다중 회귀
7.10.4. 회귀 모델 과제에 선형 회귀 알고리즘 활용하기
7.10.5. 선형 회귀는 언제 사용하는가?
7.10.6. 선형 회귀의 약점
7.10.7. 회귀 트리 알고리즘
7.10.8. 회귀 모델 문제에 회귀 트리 알고리즘 활용하기
7.10.9. 그라디언트 부스트 회귀 알고리즘
7.10.10. 회귀 모델 과제에 그라디언트 부스트 회귀 알고리즘 활용하기
7.11 회귀 알고리즘의 승자는...
7.12 실용 예제: 날씨 예측하기

8장 신경망 알고리즘
8.1 신경망의 진화
8.1.1. 역사적 배경
8.1.2. AI 겨울과 AI 봄의 시작
8.2 신경망 이해하기
8.2.1. 퍼셉트론 이해하기
8.2.2. 신경망 직관적으로 이해하기
8.2.3. 딥러닝의 층 구조 이해하기
8.3 신경망 훈련시키기
8.4 신경망의 구조 이해하기
8.5 경사 하강법 정의하기
8.6 활성화 함수
8.6.1. 계단 함수
8.6.2. 시그모이드 함수
8.6.3. ReLU
8.6.4. 쌍곡 탄젠트(tanh)
8.6.5. 소프트맥스
8.7 도구 및 프레임워크
8.7.1. 케라스
8.8 순차적 모델 또는 함수형 모델 선택하기
8.8.1. 텐서플로 이해하기
8.8.2. 텐서플로의 기본 개념 소개
8.8.3. 텐서에 대한 수학적 이해
8.9 신경망 종류 이해하기
8.9.1. 합성곱 신경망
8.9.2. 생성적 적대 신경망
8.10 전이 학습 활용하기
8.11 사례 연구: 위조 문서 탐지에 딥 러닝 활용하기
8.11.1. 방법론

9장 자연어 처리를 위한 알고리즘
9.1 자연어 처리 개론
9.2 자연어 처리 용어 이해
9.2.1. 자연어 처리의 텍스트 전처리
9.3 파이썬으로 데이터 정제하기
9.4 단어 문서 행렬(Term Document Matrix) 이해
9.4.1. TF-IDF 사용하기
9.4.2. 결과 요약 및 논의
9.5 워드 임베딩 개론
9.6 Word2Vec으로 워드 임베딩 구현하기
9.6.1. 유사도 점수 해석
9.6.2. Word2Vec의 장단점
9.7 사례 연구: 레스토랑 리뷰 감성 분석
9.7.1. 필요 라이브러리 및 데이터셋 가져오기
9.7.2. 정제된 말뭉치 구축: 텍스트 데이터 전처리
9.7.3. 텍스트 데이터를 숫자 특징으로 변환하기
9.7.4. 결과 분석하기
9.8 자연어 처리 응용 분야<