CHAPTER 01 인공지능 소개
01 인공지능의 시대
02 인공지능의 정의
인공지능 vs 기계학습 vs 딥러닝
03 튜링 테스트
ELIZA
중국인 방(The Chinese room)
유진 구스트만
튜링 테스트의 문제점
04 인공지능의 역사
인공지능의 태동(1943-1956)
황금기(1956-1974)
첫 번째 AI 겨울(1974-1980)
전성 시대(1980-1987)
두 번째 AI 겨울(1987-1993)
AI의 부활(1993-2011)
딥러닝, 빅데이터 및 인공지능(2011-현재)
05 인공지능은 어디에 필요할까?
자율주행 자동차
광고
챗봇(chatbot)
의료 분야
경영 분야
06 파이썬 설치
아나콘다 다운로드하기
아나콘다 설치하기
스파이더
스파이더의 실행
스파이더의 대화형 모드와 스크립트 모드
스크립트 모드 실습
CHAPTER 02 탐색
01 탐색
02 상태 공간의 예
03 탐색 트리
04 기본적인 탐색 기법
05 맹목적 탐색 #1: 깊이 우선 탐색(DFS)
06 맹목적 탐색 #2: 너비 우선 탐색(BFS)
07 DFS와 BFS 프로그램
보드를 어떻게 표현할 것인가?
Open과 closed 리스트는 무엇으로 구현할 것인가?
자식 노드들은 어떻게 생성할 것인가?
전체 소스
08 경험적 탐색 방법
09 언덕 등반 기법(Hill-Climbing)
알고리즘
지역 최소 문제
10 최고 우선 탐색
11 A* 알고리즘
12 A* 알고리즘의 파이썬 구현
CHAPTER 03 게임트리
01 게임 프로그램
게임 정의
Tic-Tac-Toe에 대한 게임 트리
02 미니맥스 알고리즘
틱택토 게임에 미니맥스 알고리즘 적용
미니맥스 알고리즘의 의사코드
03 틱택토 게임 프로그래밍
04 알파베타 가지치기
알파베타 알고리즘
알파베타 알고리즘 실습
05 불완전한 결정
CHAPTER 04 전문가 시스템
01 전문가 시스템
전문가 시스템의 역사
02 전문가 시스템의 구성 요소
지식 베이스
추론 엔진
사용자 인터페이스
03 지식과 인공지능
데이터, 정보, 지식
04 규칙
규칙에 AND나 OR를 사용할 수 있다.
05 전문가 시스템에서의 추론
순방향 추론
역방향 추론
06 충돌 해법
07 전문가 시스템의 장점과 약점
CHAPTER 05 지식 표현
01 지식 표현(Knowledge Representation)
02 규칙
03 의미망
04 프레임
프레임의 장점
프레임과 객체 지향 프로그래밍
프레임과 상속
05 논리(Logic)
06 명제 논리
명제 논리에서의 추론
모더스 포넌스(Modus Ponens)
부정 논법(Modus Tollens)
삼단논법(syllogism)
07 술어 논리
08 술어 논리에서 추론
정형식
도출(resolution)
도출에 의한 증명
09 프롤로그(Prolog)
CHAPTER 06 퍼지 논리
01 퍼지 논리란?
퍼지 논리를 사용할 수 있는 분야
02 크리스프 집합과 퍼지 집합
크리스프 집합
퍼지 집합
퍼지 집합의 표기 방법
03 퍼지 집합에서의 연산자
집중화 연산자 CON과 DIL
04 퍼지 추론
퍼지 규칙
퍼지 추론의 기본
퍼지 추론의 과정
규칙이 여러 개 있는 경우
CHAPTER 07 불확실성
01 불확실성
불확실성의 예
불확실성은 왜 발생하는 것인가
인공지능 시스템에서의 불확실성 처리
02 확률을 이용한 불확실성 처리
사전 확률과 사후 확률
베이즈 정리
03 베이즈 정리와 추론
증거와 가설이 여러 개일 때
베이즈 정리의 단점
04 확신도
확신도의 정의
불확실한 증거를 가진 규칙에서의 확신도
규칙이 여러 개의 전제를 가지는 경우
CHAPTER 08 유전자 알고리즘
01 자연계에서의 진화
02 유전자 알고리즘
염색체, 인코딩, 평가 함수
유전자 알고리즘의 순서도
선택 연산자
교차 연산자
돌연변이 연산자
유전자 알고리즘
03 유전자 알고리즘의 예제
04 유전자 알고리즘 프로그램
05 유전자 알고리즘의 장단점
06 유전자 프로그래밍
어떻게 프로그램을 표현할 것인가?
기본 연산들
GP 알고리즘
CHAPTER 09 기계학습의 소개
01 기계학습이란?
기계학습은 어디에 이용되는가?
기계학습의 역사
02 기계학습의 종류
03 기계학습의 용어들
특징(feature)
레이블(label)
샘플
학습과 예측
학습 데이터와 테스트 데이터
04 지도 학습
회귀(regression)
분류(classification)
05 비지도 학습
06 강화 학습
07 기계학습의 실용적인 가치
08 넘파이(Numpy)
리스트 vs 넘파이 배열
인덱싱과 슬라이싱
논리적인 인덱싱
2차원 배열
arange() 함수
linspace() 함수
reshape() 함수
난수를 생성해보자.
난수 생성하기
정규분포 난수 생성
CHAPTER 10 선형 회귀
01 선형 회귀
선형 회귀 소개
선형 회귀의 원리
학습과 손실
02 선형 회귀에서 손실 함수 최소화 방법
경사 하강법(gradient descent method)
선형 회귀에서 경사 하강법
경사 하강법 구현
03 선형 회귀 예제
선형 회귀를 그래프로 그려보자.
04 과잉 적합 vs 과소 적합
CHAPTER 11 kNN 알고리즘과 K-means 알고리즘
01 kNN 알고리즘
02 kNN 알고리즘
kNN 알고리즘
수정된 kNN 알고리즘
03 sklearn을 이용한 kNN 알고리즘 실습
특징과 레이블
kNN 학습하기
새로운 데이터로 예측해보기
04 비지도 학습(K-means 클러스터링)
K-means 클러스터링의 예
K-means 알고리즘
05 sklearn을 이용한 K-means 클러스터링
라이브러리를 포함시킨다.
데이터를 준비한다.
데이터 시각화
클러스터 만들기
06 k를 결정하는 방법
팔꿈치 방법의 구현
CHAPTER 12 신경망 I(퍼셉트론)
01 신경망
신경망의 장점
뉴런의 수학적인 모델
02 퍼셉트론
퍼셉트론은 논리 연산을 학습할 수 있을까?
03 퍼셉트론 학습 알고리즘
퍼셉트론 학습 알고리즘
예제
04 sklearn으로 퍼셉트론 실습하기
05 퍼셉트론 프로그래밍
06 선형 분류 가능 문제
XOR 연산 학습
선형 분류 가능 문제
다층 퍼셉트론으로 XOR 문제를 해결
CHAPTER 13 신경망 II(MLP)
01 다층 퍼셉트론
활성화 함수
02 역전파 학습 알고리즘
출력 노드 값 계산
손실 함수란 무엇인가?
경사 하강법
03 역전파 알고리즘의 유도
역전파 알고리즘
역전파 알고리즘 상세 설명
체인룰을 사용하자.
출력 노드의 경우
결론을 내려보자.
04 구글의 플레이그라운드를 이용한 실습
에포크
학습률
활성화 함수 선택
문제 유형
학습 데이터와 테스트 데이터의 비율
입력 특징 선택
은닉층 추가하기
학습 시작
은닉층 없이 분류 실습
은닉층을 추가한 실습
05 넘파이를 이용하여 MLP 구현
06 구글의 텐서플로우
아나콘다에서 텐서플로우 설치하기
Keras
Keras 예제 #1
Keras 예제 #2
CHAPTER 14 신경망 III(딥러닝)
01 딥러닝
은닉층의 역할
02 그래디언트 소멸 문제
새로운 활성화 함수
03 손실 함수 문제
소프트맥스(softmax) 활성화 함수
교차 엔트로피 손실 함수
04 가중치 초기화 문제
가중치 초기화 방법
05 미니 배치
06 데이터 정규화
07 데이터 인코딩 기법
08 학습률과 모멘텀
09 과잉 적합의 처리
드롭 아웃
10 앙상블
11 Keras를 이용한 MNIST 숫자 인식
숫자 데이터 가져오기
모델 구축하기
학습시키기
CHAPTER 15 신경망 IV(컨볼루션 신경망)
01 영상 인식이란?
02 전통적인 영상 인식 시스템의 구조
03 영상 인식과 DNN
04 컨볼루션 신경망(CNN)
컨볼루션이란?
05 풀링 또는 서브 샘플링
컨볼루션 계층
06 DNN을 이용한 영상 분류
완전 연결 신경망 이용
07 CNN을 이용한 영상 분류