추천 검색어

최근 검색어

도서 IT전문서/IT입문서 프로그래밍/오픈소스
파이썬 예제로 배우는 필수 알고리즘! 프로그래머가 알아야 할 알고리즘 40
정 가
24,000원
출 간
2022-04-29
지 은 이
임란 아마드
옮 긴 이
황준식
I S B N
9791165219642
분 량
376쪽
난 이 도
초급,중급

파이썬 예제로 배우는 필수 알고리즘!

현실 세계의 문제를 해결하는 40가지 알고리즘을 배우면서

프로그래머라면 꼭 갖춰야 할 알고리즘 응용력과 문제 해결력을 높이자!

 

현대 사회에서 개발자와 프로그래머가 갖추어야 하는 필수 소양은 알고리즘을 이용한 문제 해결 능력이다. 이 책은 문제의 성격에 따라 적합한 알고리즘을 소개하고 그 작동 원리를 설명한다. 특히 현실 세계의 문제를 해결하는 40여 개 알고리즘을 보여주면서 그 작동 원리를 이해시키고 파이썬으로 직접 구현해 본다.

 

1부 기초와 핵심 알고리즘

 

1장 알고리즘 기초

1.1 알고리즘 정의하기

__1.1.1 알고리즘의 단계

1.2 알고리즘의 로직 표현하기

__1.2.1 의사코드 이해하기

__1.2.2 스니펫 사용하기

__1.2.3 실행 계획 생성하기

1.3 파이썬 패키지 살펴보기

__1.3.1 파이썬 패키지

__1.3.2 주피터 노트북으로 파이썬 사용하기

1.4 알고리즘 설계 기법 이해하기

__1.4.1 데이터 차원

__1.4.2 연산 차원

1.5 성능 분석하기

__1.5.1 공간 복잡도 분석

__1.5.2 시간 복잡도 분석

__1.5.3 성능 추정

__1.5.4 알고리즘 선택

__1.5.5 빅오 표기법

1.6 알고리즘 검증하기

__1.6.1 결정론적, 비결정론적 알고리즘과 최적, 근사 알고리즘

__1.6.2 해석 가능성

1.7 요약

 

2장 알고리즘에 사용되는 자료 구조

2.1 파이썬 자료 구조 파악하기

__2.1.1 리스트

__2.1.2 튜플

__2.1.3 딕셔너리

__2.1.4 세트

__2.1.5 데이터프레임

__2.1.6 행렬

2.2 추상화 자료 유형 파악하기

__2.2.1 벡터

__2.2.2 스택

__2.2.3 큐

__2.2.4 스택과 큐에 대한 기본 아이디어

__2.2.5 트리

2.3 요약

 

3장 정렬과 검색 알고리즘

3.1 정렬 알고리즘 이해하기

__3.1.1 파이썬에서 변수 바꾸기

__3.1.2 버블 정렬

__3.1.3 삽입 정렬

__3.1.4 병합 정렬

__3.1.5 셸 정렬

__3.1.6 선택 정렬

3.2 검색 알고리즘 이해하기

__3.2.1 선형 검색

__3.2.2 이진 검색

__3.2.3 보간 검색

3.3 활용 사례 - 이민관리청에 접수된 서류 조회하기

3.4 요약

 

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 활용 사례 - 외판원 문제 해결하기

__4.3.1 무차별 대입 전략 사용하기

__4.3.2 탐욕 알고리즘 사용하기

4.4 페이지랭크 알고리즘 이해하기

__4.4.1 문제 정의하기

__4.4.2 페이지랭크 알고리즘 구현하기

4.5 선형 계획법 이해하기

__4.5.1 선형 계획법 문제 정의하기

4.6 활용 사례 - 선형 계획법을 활용해 용량 계획하기

4.7 요약

 

5장 그래프 알고리즘

5.1 그래프 표현 이해하기

__5.1.1 그래프 유형

__5.1.2 특수한 유형의 엣지

__5.1.3 에고 중심 네트워크

__5.1.4 소셜 네트워크 분석

5.2 네트워크 분석 이론 살펴보기

__5.2.1 최단 경로

__5.2.2 삼각형

__5.2.3 밀도

__5.2.4 중심성 지표 이해하기

__5.2.5 파이썬으로 중심성 지표 계산하기

5.3 그래프 순회 이해하기

__5.3.1 너비 우선 검색

__5.3.2 깊이 우선 검색

5.4 활용 사례 - 사기 범죄 분석하기

__5.4.1 간단한 사기 분석 방법

__5.4.2 감시탑 사기 분석 방법

5.5 요약

 

2부 머신러닝 알고리즘

 

6장 비지도 학습 알고리즘

6.1 비지도 학습 이해하기

__6.1.1 데이터 마이닝 사이클에서의 비지도 학습

__6.1.2 비지도 학습의 최신 연구 트렌드

__6.1.3 비지도 학습의 활용 사례

6.2 클러스터링 알고리즘 이해하기

__6.2.1 유사도 측정하기

__6.2.2 계층적 클러스터링 알고리즘

__6.2.3 클러스터 평가하기

__6.2.4 클러스터링의 활용 사례

6.3 차원 축소 알고리즘 이해하기

__6.3.1 주성분 분석

__6.3.2 주성분 분석의 한계

6.4 연관 규칙 마이닝 이해하기

__6.4.1 연관 규칙 마이닝의 활용 사례

__6.4.2 장바구니 분석

__6.4.3 연관 규칙

__6.4.4 평가 척도

__6.4.5 연관 규칙 마이닝 알고리즘

6.5 활용 사례 - 비슷한 트윗끼리 클러스터링하기

__6.5.1 토픽 모델링

__6.5.2 클러스터링

6.6 이상 탐지 알고리즘 이해하기

__6.6.1 클러스터링 알고리즘

__6.6.2 밀도 기반 이상 탐지 알고리즘

__6.6.3 서포트 벡터 머신 알고리즘

6.7 요약

 

7장 전통적인 지도 학습 알고리즘

7.1 지도 학습 이해하기

__7.1.1 지도 학습 구조 소개

__7.1.2 지도 학습의 필요 조건

__7.1.3 분류 모델과 회귀 모델 비교하기

7.2 분류 알고리즘 이해하기

__7.2.1 분류 문제 소개

__7.2.2 분류 모델 평가하기

__7.2.3 분류 모델 구축 단계

__7.2.4 결정 트리 분류 알고리즘

__7.2.5 앙상블 알고리즘

__7.2.6 로지스틱 회귀 알고리즘

__7.2.7 서포트 벡터 머신 알고리즘

__7.2.8 나이브 베이즈 알고리즘

__7.2.9 분류 알고리즘 비교하기

7.3 회귀 알고리즘 이해하기

__7.3.1 회귀 문제 소개

__7.3.2 선형 회귀 알고리즘

__7.3.3 회귀 트리 알고리즘

__7.3.4 그레이디언트 부스팅 회귀 알고리즘

__7.3.5 회귀 알고리즘 비교하기

7.4 활용 사례 - 날씨 예측하기

7.5 요약

 

8장 뉴럴 네트워크 알고리즘

8.1 뉴럴 네트워크 이해하기

8.2 뉴럴 네트워크의 발전 살펴보기

8.3 뉴럴 네트워크 훈련하기

__8.3.1 뉴럴 네트워크 구조

__8.3.2 경사하강법

__8.3.3 활성화 함수

8.4 도구와 프레임워크 살펴보기

__8.4.1 케라스

__8.4.2 텐서플로 사용하기

__8.4.3 뉴럴 네트워크의 종류

8.5 전이 학습 이해하기

8.6 활용 사례 - 딥러닝으로 부정 탐지하기

__8.6.1 방법론

8.7 요약

 

9장 자연어 처리 알고리즘

9.1 자연어 처리 살펴보기

__9.1.1 자연어 처리 용어 이해하기

__9.1.2 자연어 처리 툴킷

9.2 백오브워즈 기반 자연어 처리 이해하기

9.3 단어 임베딩 살펴보기

__9.3.1 단어의 이웃

__9.3.2 단어 임베딩의 특징

9.4 자연어 처리에 리커런트 뉴럴 네트워크 사용하기

9.5 자연어 처리를 이용해 감성 분석하기

9.6 활용 사례 - 영화 리뷰 감성 분석하기

9.7 요약

 

10장 추천 엔진

10.1 추천 엔진 살펴보기

10.2 추천 엔진 종류 살펴보기

__10.2.1 콘텐츠 기반 추천 엔진

__10.2.2 협업 필터링 추천 엔진

__10.2.3 하이브리드 추천 엔진

10.3 추천 엔진의 한계점 이해하기

__10.3.1 콜드 스타트 문제

__10.3.2 메타 데이터

__10.3.3 데이터 희소성 문제

__10.3.4 사회적 영향력으로 인한 편향

__10.3.5 제한된 데이터

10.4 활용 분야 살펴보기

10.5 활용 사례 - 추천 엔진으로 영화 추천하기

10.6 요약

3부 고급 기법

 

11장 데이터 알고리즘

11.1 데이터 알고리즘 살펴보기

__11.1.1 데이터 분류

11.2 데이터 저장 알고리즘 이해하기

__11.2.1 데이터 저장 전략 이해하기

11.3 데이터 스트리밍 알고리즘 이해하기

__11.3.1 스트리밍 활용 분야

11.4 데이터 압축 알고리즘 이해하기

__11.4.1 무손실 압축 알고리즘

11.5 활용 사례 - 트위터 실시간 감성 분석하기

11.6 요약

 

12장 암호화

12.1 암호화 살펴보기

__12.1.1 가장 약한 연결고리의 중요성 이해하기

__12.1.2 기본 용어

__12.1.3 보안 요구사항 이해하기

__12.1.4 기본적인 암호 설계 이해하기

12.2 암호화 기법의 종류 이해하기

__12.2.1 암호화 해시 함수 사용하기

__12.2.2 대칭 암호화

__12.2.3 비대칭 암호화

12.3 활용 사례 - 머신러닝 모델 배포와 관련한 보안 이슈 살펴보기

__12.3.1 중간자 공격

__12.3.2 위장 공격

__12.3.3 데이터와 모델 암호화

12.4 요약

 

13장 대규모 알고리즘

13.1 대규모 알고리즘 살펴보기

__13.1.1 대규모 알고리즘 정의

__13.1.2 기본 용어

13.2 병렬 알고리즘 설계 이해하기

__13.2.1 암달의 법칙

__13.2.2 작업 세분성

__13.2.3 부하 분산

__13.2.4 국지성 이슈

__13.2.5 파이썬에서 병렬 프로세싱 실행하기

13.3 멀티 자원 프로세싱 전략 이해하기

__13.3.1 컴퓨팅 통합 장치 아키텍처

__13.3.2 클러스터 컴퓨팅

__13.3.3 혼합 방법

13.4 요약

 

14장 실질적 고려사항

14.1 실질적 고려사항 살펴보기

__14.1.1 AI 트위터 봇의 슬픈 사연

14.2 알고리즘의 해석 가능성 이해하기

__14.2.1 머신러닝 알고리즘과 해석 가능성

14.3 알고리즘의 윤리 이해하기

__14.3.1 학습 알고리즘이 가진 문제

__14.3.2 윤리적 고려사항 이해하기

14.4 모델의 편향 줄이기

14.5 NP-난해 문제 다루기

__14.5.1 문제를 단순화하기

__14.5.2 널리 알려진 다른 해결책을 수정해 사용하기

__14.5.3 확률적 모델 사용하기

14.6 알고리즘을 사용해야 할 때

__14.6.1 활용 사례 - 검은 백조 이벤트

14.7 요약

 

찾아보기

 

ㆍ지은이 임란 아마드
소개
구글(Google) 인증 인스트럭터로, 지난 수년간 구글과 러닝 트리(Learning Tree)에서 파이썬, 빅데이터, 머신러닝, 딥러닝을 가르치고 있다. 클라우드 컴퓨팅 환경에서 자원 할당을 최적화할 수 있는 새로운 선형 프로그래밍 기반 알고리즘인 ATSRA라는 알고리즘을 제안하여 박사 학위를 받았다. 이후 캐나다 연방 정부 소속 고등 분석 연구소에서 진행하는 머신러닝 프로젝트에서 이민 절차를 자동화하는 알고리즘을 개발하는 데 힘썼으며, 복잡한 머신러닝 모델을 학습할 때 GPU를 최적으로 사용하는 알고리즘을 개발하고 있다.

ㆍ옮긴이 황준식
소개
경영학과를 졸업한 후 뒤늦게 수학과 프로그래밍의 매력에 빠진 데이터 분석가로, 현재 넥슨코리아에서 데이터 분석가로 일하고 있다. 수학적인 모형으로 현상을 정의하고 의사결정에 대한 결과를 측정할 수 있는 데이터 과학에 큰 재미를 느끼고 있다. 최근에는 머신 러닝을 사용한 이상행동 탐지나 강화학습 분야에 관심을 기울이고 있다. 주위에서 발견하는 크고 작은 호기심을 데이터로 접근해보는 개인 블로그인 jsideas.net을 운영하고 있다.

필요한 자료를 선택하세요.

추천도서