나의 첫 머신러닝/딥러닝

파이썬으로 구현해보는 필수 머신러닝/딥러닝 알고리즘

머신러닝/딥러닝을 어디서부터 시작해야 하는지 모르는 분들을 위한 책입니다!

이 책은 머신러닝/딥러닝을 시작하려는 모든 분들을 대상으로 합니다. 이해하기 쉬운 알고리즘부터 차근차근 단계별로 학습함으로써, 어려움 없이 머신러닝/딥러닝을 학습할 수 있습니다.

간단한 그림과 명쾌한 설명으로 실습에 앞서 알고리즘을 충분히 이해할 수 있습니다. 실습 예제는 모두 주피터 노트북으로 작성되어 온라인에서 직접 조회 및 다운로드 후 실습할 수 있습니다.

단계별 이론 및 실습을 통해 머신러닝 개발자로서의 기본 지식을 확립하고, 더 나아가 기본 지식을 응용해 새로운 머신러닝/딥러닝 알고리즘을 이해하는 데 도움을 줍니다.

★ 이 책에서 배우는 내용 ★

  • 머신러닝 필수 개념
  • 딥러닝 필수 개념
  • k-최근접 이웃
  • 서포트 벡터 머신
  • 의사결정 트리
  • 나이브 베이즈
  • 앙상블
  • 군집화
  • 선형회귀
  • 로지스틱 회귀
  • 주성분 분석
  • 다층 퍼셉트론 

  • 컨볼루셔널 뉴럴 네트워크(CNN)
  • 순환신경망(RNN)
  • 오토인코더
  • Word2Vec

 

도서 상세 이미지

허민석(Minsuk Heo)

실리콘밸리에서 행복하게 살고 있는 평범한 머신러닝 개발자입니다. 취미로 머신러닝/딥러닝 지식과 경험을 유튜브 채널로 공유하고 많은 머신러닝 개발자, 데이터 과학자, 학생분들과 소통하며 살고 있습니다.

  • ▣ 01장: 개발자가 처음 만난 머신러닝의 세계
    • 1.1 머신러닝이란?
    • 1.2 프로젝트 과정 미리보기
    • 1.3 실습의 중요성
    •  
  • ▣ 02장: 개발 환경 구성
    • 2.1 예제 코드 다운로드
    • 2.2 아나콘다 설치
    • 2.3 자동 환경 구성
    • 2.4 수동 환경 구성
      • 2.4.1 아나콘다 가상환경 만들기
      • 2.4.2 Pandas
      • 2.4.3 NumPy
      • 2.4.4 Keras
      • 2.4.5 TensorFlow
      • 2.4.6 scikit-learn
      • 2.4.7 seaborn
      • 2.4.8 주피터 노트북 설치
    • 2.5 실습 요령
    •  
  • ▣ 03장: 자주 등장하는 머신러닝 필수 개념
    • 3.1 지도학습과 비지도학습
      • 3.1.1 지도학습
      • 3.1.2 비지도학습
    • 3.2 분류와 회귀
      • 3.2.1 분류
      • 3.2.2 회귀
    • 3.3 과대적합과 과소적합
      • 3.3.1 과소적합
      • 3.3.2 과대적합
    • 3.4 혼동 행렬
    • 3.5 머신러닝 모델의 성능 평가
      • 3.5.1 TP(true positive) – 맞는 것을 올바르게 예측한 것
      • 3.5.2 TN(true negative) – 틀린 것을 올바르게 예측한 것
      • 3.5.3 FP(false positive) – 틀린 것을 맞다고 잘못 예측한 것
      • 3.5.4 FN(false negative) – 맞는 것을 틀렸다고 잘못 예측한 것
      • 3.5.5 정확도
      • 3.5.6 정밀도
      • 3.5.7 재현율
      • 3.5.8 F1 점수
    • 3.6 k-폴드 교차 검증
    •  
  • ▣ 04장: 머신러닝 알고리즘 실습
    • 4.1 머신러닝 알고리즘 실습 개요
      • 4.1.1 알고리즘 선정 이유
      • 4.2 k-최근접 이웃(k-Nearest Neighbor, kNN)
      • 4.2.1 [이론] k최근접 이웃 알고리즘(kNN)
      • 4.2.2 [실습] 농구선수의 게임 데이터를 활용한 포지션 예측
    • 4.3 서포트 벡터 머신(SVM)
      • 4.3.1 [이론] 서포트 벡터 머신
      • 4.3.2 [실습] 농구선수의 게임 기록을 학습해서 포지션을 예측해보자
    • 4.4 의사결정 트리
      • 4.4.1 [이론] 의사결정 트리
      • 4.4.2 [실습] 서울 지역(강동, 강서, 강남 ,강북) 다중 분류하기
    • 4.5 나이브 베이즈
      • 4.5.1 [이론] 나이브 베이즈
      • 4.5.2 [실습] 가우시안 나이브 베이즈를 활용한 붓꽃 분류
      • 4.5.3 [실습] 베르누이 나이브 베이즈를 활용한 스팸 분류
      • 4.5.4 [실습] 다항분포 나이브 베이즈를 활용한 영화 리뷰 분류
    • 4.6 앙상블
      • 4.6.1 [이론] 배깅
      • 4.6.2 [이론] 부스팅
      • 4.6.3 [실습] 랜덤 포레스트 손글씨 분류
      • 4.6.4 [실습] 보팅 앙상블 손글씨 분류
    • 4.7 군집화
      • 4.7.1 [이론] k 평균 알고리즘
      • 4.7.2 [실습] 키와 몸무게에 따른 체형 군집화
    • 4.8 선형회귀
      • 4.8.1 [이론] 선형회귀
      • 4.8.2 [실습] 선형회귀
    • 4.9 로지스틱 회귀
      • 4.9.1 [이론] 로지스틱 회귀
      • 4.9.2 [실습] 단일 입력 로지스틱 회귀
      • 4.9.3 [실습] 다중 입력 로지스틱 회귀
      • 4.9.4 [실습] 소프트맥스(다중 분류 로지스틱 회귀)
    • 4.10 주성분 분석
      • 4.10.1 [이론] 주성분 분석
      • 4.10.2 [실습] 식습관 데이터를 차원축소시켜서 시각화하기
    •  
  • ▣ 05장: 딥러닝의 기본 개념
    • 5.1 딥러닝의 탄생
    • 5.2 딥러닝과 머신러닝의 관계
    • 5.3 딥러닝 이름의 유래
    • 5.4 딥러닝 탄생 배경
    • 5.5 퍼셉트론
    • 5.6 다층 퍼셉트론
    • 5.7 뉴런(노드)
    • 5.8 딥러닝의 학습
      • 5.8.1 순전파(forward propagation)
      • 5.8.2 손실 함수
      • 5.8.3 최적화
      • 5.8.4 역전파
      • 5.8.5 옵티마이저
    • 5.9 딥러닝의 과대적합
      • 5.9.1 드롭아웃
      • 5.9.2 조기 종료
    • 5.10 [실습] 퍼셉트론
    • 5.11 [실습] 다층 퍼셉트론으로 XOR 구현하기
    • 5.12 [실습] 다층 퍼셉트론으로 손글씨 숫자 분류하기
    •  
  • ▣ 06장: 딥러닝
    • 6.1 컨볼루셔널 뉴럴 네트워크(CNN)
    • 6.1.1 [이론] CNN
    • 6.1.2 [실습] CNN
    • 6.2 순환신경망(RNN)
      • 6.2.1 [이론] RNN
      • 6.2.2 [이론] LSTM
      • 6.2.3 [실습] RNN 기초
      • 6.2.4 [실습] LSTM 기초
      • 6.2.5 [실습] LSTM - 지문을 읽고 주제 분류하기
    • 6.3 오토인코더
      • 6.3.1 [이론] 오토인코더
      • 6.3.2 [실습] 손글씨 숫자 데이터 시각화
    • 6.4 Word2Vec
      • 6.4.1 [이론] Word2Vec
      • 6.4.2 [실습] Word2Vec
    •  
  • ▣ 07장: 참고문헌
    • 딥러닝 이론/실습
    • 파이썬 활용 데이터 과학 및 엔지니어링
    • Numpy
    • IPython
    • Matplotlib
    • Seaborn
    • Cython
    • Pandas
    • scikit-learn
    • scikit-image 321
    • Jupyter Notebook 321
    • Keras 321
    • Tensorflow 321
  • 55쪽, 상단 예제 코드의 첫 번째 줄

    knn = KNeighborsClassifier(n_neighbors=optimal_k)
    

    ==>

    from sklearn.neighbors import KNeighborsClassifier
    from sklearn.metrics import accuracy_score
    
    knn = KNeighborsClassifier(n_neighbors=k)