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

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

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

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

임란아마드

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

목차

〈1부〉기초및핵심알고리즘
1장알고리즘개요
1.1알고리즘이란무엇인가?
1.1.1알고리즘의단계
1.1.2개발환경
1.2파이썬패키지
1.2.1SciPy생태계
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.72차시간(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.5DBSCAN이해하기
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.7SVM알고리즘
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단어문서행렬(TermDocumentMatrix)이해
9.4.1.TF-IDF사용하기
9.4.2.결과요약및논의
9.5워드임베딩개론
9.6Word2Vec으로워드임베딩구현하기
9.6.1.유사도점수해석
9.6.2.Word2Vec의장단점
9.7사례연구:레스토랑리뷰감성분석
9.7.1.필요라이브러리및데이터셋가져오기
9.7.2.정제된말뭉치구축:텍스트데이터전처리
9.7.3.텍스트데이터를숫자특징으로변환하기
9.7.4.결과분석하기
9.8자연어처리응용분야

10장순차모델이해하기
10.1순차데이터이해
10.1.1.순차모델의종류
10.2순차모델의데이터표현
10.3RNN개론
10.3.1.RNN구조이해
10.3.2.첫번째타입스텝에서RNN훈련하기
10.3.3.시간에따른역전파
10.3.4.기본RNN의한계
10.4GRU(게이트순환유닛)
10.4.1.업데이트게이트소개
10.4.2.업데이트게이트구현
10.4.3.은닉셀업데이트하기
10.5LSTM(장단기메모리)소개
10.5.1.망각게이트
10.5.2.후보셀상태
10.5.3.업데이트게이트
10.5.4.메모리상태계산하기
10.5.5.출력게이트
10.5.6.모두합치기
10.5.7.순차모델코딩하기

11장고급순차모델알고리즘
11.1고급순차모델기법의발전
11.2오토인코더탐색
11.2.1.오토인코더코드작성하기
11.2.2.환경준비
11.3Seq2Seq모델이해하기
11.3.1.인코더
11.3.2.사고벡터
11.3.3.디코더
11.3.4.Seq2Seq의특수토큰
11.3.5.정보병목딜레마
11.4어텐션메커니즘이해
11.4.1.신경망에서어텐션이란?
11.4.2.어텐션메커니즘의세가지주요측면
11