서브메뉴

본문

직접 코딩하면서 배우는 머신러닝/딥러닝
직접 코딩하면서 배우는 머신러닝/딥러닝
저자 : 정재준
출판사 : 커널연구회
출판년 : 2017
정가 : 28000, ISBN : 9788997750108

책소개


내용
직접 코딩하면서 배우는 머신러닝/딥러닝 1
저작권 2
커널연구회 로드맵 3
저자 소개 4
목차 5

제1부 텐서플로우/파이썬 기반 머신러닝 9

1. 머신러닝 실습 환경 10
1.1 머신러닝 소개 10
1.2 리눅스용 개발환경 설치 16
1.3 윈도우용 개발환경 설치 20
1.4 TENSORFLOW 기본 21
2. 머신러닝 알고리즘 23
2.1 LINEAR REGRESSION 23
2.1.1 가설함수(학습 모델)와 비용함수 23
2.1.2 비용 줄이기(기울기 예측) 30
2.1.3 미분 함수(Convex) 32
2.2 LINEAR REGRESSION LEARNING 35
2.2.1 단항변수 기울기 학습1 35
2.2.2 단항변수 기울기 학습2 37
2.2.3 단항변수 기울기 학습3 39
2.2.4 다항변수 기울기 학습 41
2.2.5 다항변수 매트릭스 처리 44
2.2.6 다항변수 파일 읽기 47
2.3 LOGISTIC(BINARY) CLASSIFICATION 51
2.3.1 학습 모델(Hypothesis) 51
2.3.2 비용 함수 55
2.3.3 Logistic Regression 57
2.4 MULTINOMIAL(SOFTMAX) CLASSIFICATION 61
2.4.1 학습 모델(Hypothesis) 61
2.4.2 Softmax 함수 64
2.4.3 비용 함수 67
2.4.4 TensorFlow 실습 69
3. DEEP LEARNING 77
3.1 딥러닝 기본 78
3.1.1 행동 함수 80
3.1.2 XOR 문제 80
3.1.3 Neural Network 82
3.1.4 Back Propagation 88
3.2 XOR 문제 해결 실습 93
3.2.1 일반적인 XOR 문제 93
3.2.2 XOR Neural Network 95
3.2.3 XOR Deep Learning 98
3.2.4 XOR Deep Learning2 105
3.2.5 XOR ReLU 108
3.3 딥러닝 정확성 향상 110
3.3.1 ReLU 110
3.3.2 Good Weight (초기값) 112
3.3.3 Overfitting 조정 113
3.3.4 DropOut 114
3.3.5 Optimizer 성능 비교 116
3.4 딥러닝 실습 117
3.4.1 일반적인 softmax 118
3.4.2 ReLU 121
3.4.3 DropOut 123
3.4.4 초기값 설정 126
3.4.5 결과 정리 128
4. CONVOLUTIONAL NEURAL NETWORK 129
4.1 CONVOLUTION LAYER 129
4.2 POOLING LAYER 133
4.3 CNN 종류 136
4.3.1 AlexNet 136
4.3.2 GoogLeNet 136
4.3.3 ResNet 137
4.3.4 DeepMind AlphaGo 138
4.4 CNN 실습 139
4.4.1 Adam Optimizer 139
4.4.2 RMS Optimizer 144
4.4.3 결과 정리 148
5. RECURRENT NEURAL NETWORK 149
5.1 RNN 이해 149
5.2 RNN 활용 153

제2부 C언어로 머신러닝/딥러닝 코딩하기 154

6. 머신러닝 기본 알고리즘 코딩 155
6.1 LINEAR REGRESSION 155
6.1.1 가설함수 및 비용함수 코딩 156
6.1.2 비용 산출 전체 소스 157
6.1.3 최소비용 산출 함수 코딩 163
6.1.4 학습진행 함수 코딩 165
6.1.5 학습진행 전체 소스 166
6.1.6 미분함수 코딩 172
6.1.7 미분값 산출함수 코딩 179
6.2 다항변수 머신러닝 186
6.2.1 다항변수 학습 코딩 186
6.2.2 매트릭스(행열) 코딩 195
6.2.3 매트릭스(행열) 미분함수 변경 210
6.3 LOGISTIC(BINARY) CLASSIFICATION 218
6.3.1 학습 모델 코딩 218
6.3.2 비용 함수 코딩 219
6.3.3 Logistic Regression 220
6.3.4 전체 실행 소스 224
6.4 MULTINOMIAL(SOFTMAX) CLASSIFICATION 231
6.4.1 학습 모델(Hypothesis) 231
6.4.2 Softmax 함수 코딩 233
2.4.4 TensorFlow 실습 234
7. NEURAL NETWORK 알고리즘 코딩 235
7.1 데이터 읽기 236
7.2 읽기 실행 소스 241
7.3 읽기 결과 248
7.4 NEURAL NETWORK 코딩 250
7.5 FORWARD PROPAGATION 251
7.6 BACK PROPAGATION 254
7.7 NEURAL NETWORK 소스 260
7.8 실행 결과 271
8. 얼굴 인식 알고리즘 275
8.1 얼굴 검출 알고리즘 275
8.2 얼굴 학습 310
부록A. 머신러닝 관련 오픈소스들 313
부록B. 커널연구회 교육과정 상세안내 314
B.1 커널연구회 교육과정 로드맵 314
B.2 C언어와 자료구조 알고리즘 315
B.3 리눅스 시스템 프로그래밍 319
B.4 ARM 아키텍쳐, STM32 프로그래밍 323
B.5 리눅스 커널 자료구조 알고리즘 실습 326
B.6 리눅스 커널 소스 디버깅 실습 330
B.7 리눅스 커널 DEVICE TREE 실습 334
B.8 교육 내용 테이블 338

목차


저자는 학창시절 마이크로프로세서 제어 기술을 배웠으며 리눅스 커널을 연구하고 있다.
15년 이상 쌓아온 실무 경험을 바탕으로 “C언어와 자료구조 알고리즘”, “리눅스 시스템 프로그래밍”,
“리눅스 커널과 디바이스드라이버 실습2”, “자료구조 알고리즘 & 머신러닝 상세분석"등의 책을 집필하고, 월간임베디드월드 잡지에 다수의 글을 기고 하였다.
또한 “맞춤형 문장 자동 번역 시스템 및 이를 위한 데이터베이스 구축방법
(The System for the customized automatic sentence translation and database construction method)” 라는 내용으로 프로그래밍을 하여 특허청에 특허등록 하였다.
최근에는 서울시 버스와 지하철 교통카드 요금결재 단말기에 들어가는 리눅스 커널과 디바이스 드라이버 개발 프로젝트를 성공적으로 수행했고
여러가지 임베디드 제품을 개발했다. 저자는 스탠포드대학교의 John L. Hennessy 교수의 저서 “Computer Organization and Design” 책을 읽고 깊은 감명을 받았으며,
컴퓨터구조와 자료구조 알고리즘 효율성 연구를 통한 기술서적 집필을 해오고 있다.
저자는 커널연구회(www.kernel.bz) 웹사이트를 운영하며 연구개발, 교육, 관련기술 공유 등을 위해 노력하고 있다.