CONTENTS 1 인공지능과머신러닝 2 머신러닝알고리즘의분류 3 일상생활속머신러닝의예 4 머신러닝의구성요소

Similar documents
딥러닝 첫걸음

Introduction to Deep learning

Ch 1 머신러닝 개요.pptx

1-1-basic-43p


슬라이드 1

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

(Microsoft PowerPoint - Ch19_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

PowerPoint Presentation

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

PowerPoint Presentation

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

소성해석

신경망 (Neural Networks) < 인공지능입문 > 강의 허민오 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University

adfasdfasfdasfasfadf

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

표본재추출(resampling) 방법

Resampling Methods

Sequences with Low Correlation

OCW_C언어 기초

Microsoft PowerPoint - ºÐÆ÷ÃßÁ¤(ÀüÄ¡Çõ).ppt

문제지 제시문 2 보이지 않는 영역에 대한 정보를 얻기 위하여 관측된 다른 정보를 분석하여 역으로 미 관측 영역 에 대한 정보를 얻을 수 있다. 가령 주어진 영역에 장애물이 있는 경우 한 끝 점에서 출발하여 다른 끝 점에 도달하는 최단 경로의 개수를 분석하여 장애물의

슬라이드 1

statistics

<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770>

Microsoft PowerPoint - ch07 - 포인터 pm0415

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

PowerPoint Presentation

<4D F736F F D20B1E2C8B9BDC3B8AEC1EE2DC0E5C7F5>

(Microsoft PowerPoint - Ch21_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

퇴좈저널36호-4차-T.ps, page Preflight (2)

ch3.hwp

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

Microsoft PowerPoint - chap_2_rep.ppt [호환 모드]

비선형으로의 확장

( 분류및특징 ) 학습방법에따라 1 지도학습 (Supervised 2 비지도 학습 (Unsupervised 3 강화학습 (Reinforcement 으로구분 3) < 머신러닝의학습방법 > 구분 지도학습 (Supervised 비지도학습 (Unsupervised 강화학습 (


완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Probability Overview Naive Bayes Classifier Director of TEAMLAB Sungchul Choi

1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut

제1강 인공지능 개념과 역사

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

슬라이드 1

(001~006)개념RPM3-2(부속)

chap 5: Trees

11장 포인터

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

= ``...(2011), , (.)''

Ch 8 딥강화학습

체의원소를계수로가지는다항식환 Theorem 0.1. ( 나눗셈알고리듬 (Division Algorithm)) F 가체일때 F [x] 의두다항식 f(x) = a 0 + a 1 x + + a n x n, a n 0 F 와 g(x) = b 0 + b 1 x + + b m x

PowerPoint 프레젠테이션

Probabilistic graphical models: Assignment 3 Seung-Hoon Na June 7, Gibbs sampler for Beta-Binomial Binomial및 beta분포는 다음과 같이 정의된다. k Bin(n, θ):

04 Çмú_±â¼ú±â»ç

PowerPoint Presentation

PowerPoint 프레젠테이션

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제

생존분석의 추정과 비교 : 보충자료 이용희 December 12, 2018 Contents 1 생존함수와 위험함수 생존함수와 위험함수 예제: 지수분포

김기남_ATDC2016_160620_[키노트].key

영어-중2-천재김-07과-어순-B.hwp

Chap 6: Graphs

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

<4D F736F F D20BDC3B0E8BFADBAD0BCAE20C1A B0AD5FBCF6C1A45FB0E8B7AEB0E6C1A6C7D E646F63>

<BFACB1B831382D31355FBAF2B5A5C0CCC5CD20B1E2B9DDC0C720BBE7C0CCB9F6C0A7C7E820C3F8C1A4B9E6B9FD20B9D720BBE7C0CCB9F6BBE7B0ED20BFB9C3F8B8F0C7FC20BFACB1B82D33C2F7BCF6C1A E687770>

Artificial Intelligence: Assignment 5 Seung-Hoon Na December 15, Numpy: Tutorial 다음 자료를 참조하여 numpy기본을 공부하시오.

PowerPoint 프레젠테이션

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

금오공대 컴퓨터공학전공 강의자료

Microsoft Word - 4장_처짐각법.doc

중간고사

Chap 6: Graphs

Microsoft PowerPoint Predicates and Quantifiers.ppt

PowerPoint 프레젠테이션

112초등정답3-수학(01~16)ok

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

<B3EDB4DC28B1E8BCAEC7F6292E687770>

01

Microsoft PowerPoint - chap06-2pointer.ppt

통계적 학습(statistical learning)

Microsoft PowerPoint - chap04-연산자.pptx

C# Programming Guide - Types

Microsoft PowerPoint - 실습소개와 AI_ML_DL_배포용.pptx

<4D F736F F F696E74202D2035BBF3C6F2C7FC5FBCF8BCF6B9B0C1FA2E BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

PowerPoint Template

슬라이드 제목 없음

제 3강 역함수의 미분과 로피탈의 정리

Microsoft Word - PLC제어응용-2차시.doc

2 min 응용 말하기 01 I set my alarm for It goes off. 03 It doesn t go off. 04 I sleep in. 05 I make my bed. 06 I brush my teeth. 07 I take a shower.

빅데이터_DAY key

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint Template

001_1장

exp

MVVM 패턴의 이해

Transcription:

인공지능을위한머신러닝알고리즘 1. 머신러닝개요

CONTENTS 1 인공지능과머신러닝 2 머신러닝알고리즘의분류 3 일상생활속머신러닝의예 4 머신러닝의구성요소

학습목표 학습목표 인공지능을달성하기위한수단으로써머신러닝을이해할수있다. 머신러닝알고리즘의종류와차이점을이해할수있다. 일상생활속머신러닝이사용되고있는예제들을파악할수있다.

1. 인공지능과머신러닝

1. 인공지능과머신러닝 인공지능의정의 지능 문제를해결할수있는능력 지능작업의예문서의내용에따라항목분류병진단바둑

1. 인공지능과머신러닝 인공지능의정의 인공지능 지능작업을수행할수있는기계의능력 In this paper, we proposed the video story QA model 서기관의사바둑기사 문서종류 : 논문 환자 1번기록나이 : 67 성별 : 남자 입력 지능적처리 출력 가슴통증종류 : 무증상혈압 : 160mm Hg 병명 : 심장병 혈중콜레스테롤 : 286mg/dl 혈당 : < 120mg/dl 컴퓨터

1. 인공지능과머신러닝 인공지능의역사 암흑기 ( 70 년중반 ~ 80 년초 ) 인공지능, 바둑챔피언을이김 4차산업혁명첫언급 2016 암흑기 ( 80 년후반 ~ 90 년초 ) 1950 1960 1970 1980 1990 2006 2016~ Alan Turing(1912~1954) 인공지능의서막을열다 낙관의시대 AI 용어등장 ( 56 년 ) 전문가시스템 딥러닝 인공지능, DARPA 그랜드챌린지에서우승 인공지능, 2005 체스챔피언을이김 1997 인공지능, 퀴즈챔피언을이김 2011

1. 인공지능과머신러닝 인공지능구현방법 : 합리주의자 VS. 경험주의자 지식의근원은어디서부터왔을까? 지식공학 ( 합리주의자 / 이성주의자 ) 대표적인물 : Mavin Minsky, Noam Chomsky, Descartes Top-down 특정분야의전문가나장인들이학문연구, 오랜실무경험으로터득한지식을사람이직접컴퓨터에게제공 1980 년대전문가시스템 데카르트

1. 인공지능과머신러닝 인공지능구현방법 : 합리주의자 VS. 경험주의자 머신러닝 ( 경험주의자 ) 대표적인물 : Andrew ng, Pedro Domingos, David Hume Bottom-up 컴퓨터가데이터로부터지식을직접학습 현재의딥러닝 데이비드흄

1. 인공지능과머신러닝 인공지능구현방법 : 지식공학 VS. 기계학습 물체의속성 : 질량, 온도, 가속도, 부피, 색깔, f=ma Data Program Computer Output 물체가받는힘 물체의속성 : 질량, 온도, 가속도, 부피, 색깔, 물체가받는힘 Data Output Computer Program f=ma

1. 인공지능과머신러닝 기계학습과농작물재배 씨앗영양분농부식물 = = = = 알고리즘데이터프로그래머프로그램

2. 머신러닝알고리즘의분류

2. 머신러닝알고리즘의분류 학습의방법 지도학습 (Supervised Learning) 학습데이터마다레이블을가지고있음 비지도학습 (Unsupervised Learning) 학습데이터가레이블을가지고있지않음 준지도학습 (Semi-Supervised Learning) 학습데이터가약간의레이블을가지고있음 강화학습 (Reinforcement Learning) 최종출력이바로주어지지않고시간이지나서주어지는경우

2. 머신러닝알고리즘의분류 지도학습 (Supervised Learning) 주어진입력 - 출력쌍들을매핑해주는함수를학습 D={X, Y} 로부터 F(X)=Y 를만족시키는함수 F 를학습 X 의예 > 물체의속성들. 질량, 온도, 가속도, 부피, 색깔등.. / 숫자이미지파일 Y 의예 > 물체의힘 / 숫자레이블 (0~9) F 의예 > 뉴턴운동법칙 / 숫자자동인식기

2. 머신러닝알고리즘의분류 지도학습의예 : 데이터에레이블이있을때개와고양이의분류문제 지도학습 (Supervised Learning) 새로운데이터 X 의출력을함수 F 를사용하여예측 F(X) 가이산적 (Discrete) 일때 : 분류 (Classification) 문제 F(X) 가연속적 (Continuous) 일때 : 회귀 (Regression) 문제 F(X) 가 X 의확률 P(X) 일때 : 확률추정 (Estimation) 문제 보다정확한학습을할수있음 딥러닝이대표적인예 사용할수있는데이터에한계가있음 데이터를생성하는데비용이많이듦

2. 머신러닝알고리즘의분류 비지도학습 (Unsupervised Learning) 입력만있고출력은없는상태에서이뤄지는학습 데이터에내재되어있는고유의특징을탐색하고자함 D={X} 로부터 F(X)=X 를만족시키는함수 F 를학습 X 의예 > 유투브비디오 F 의예 > 비디오항목자동분류기

2. 머신러닝알고리즘의분류 비지도학습 (Unsupervised Learning) 클러스터링이주로사용됨 : 비슷한데이터끼리묶음 지도학습에비해서학습하기어려움 우리주변에있는대부분의데이터는레이블이없음 대표적인예 > 비디오 앞으로머신러닝이풀어야할중요한숙제 비지도학습의예 : 데이터에레이블이없을때개와고양이의클러스터링문제

2. 머신러닝알고리즘의분류 강화학습 (Reinforcement Learning) 결과 ( 출력 ) 이바로주어지지않고시간이지나서주어지는경우 예 > 바둑 : 승 / 패의결과 (Final Outcome) 이바둑기사가 (Agent) 한수두자마자 (Action) 주어지지않고시간이지나고나서주어짐, 바둑기사는매순간바둑판의상황 (State) 을읽고어떤수를두어야할지고민함 (Agent 가받는 Reward 를최대화하는쪽으로 ) 게임, 미로찾기등 어떤 Action 이최종출력에영향을주었는지불명확한문제에사용됨

2. 머신러닝알고리즘의분류 강화학습 (Reinforcement Learning) 컴퓨터가계산해야할중요한이슈 매순간어떤 Action 을선택해야하는가? State 에대한평가 우리주변에있는많은문제들이강화학습으로풀어야할문제들 예 > 대화 - 상점에서주문, 고객상담등.. 좋은대학에입학하기위한전략은? 축구를잘하는로봇을만들려면?

3. 일상생활속머신러닝의예

3. 일상생활속머신러닝의예 Netflix 의추천시스템 온라인 DVD 대여업체 10만개의영화보유고객들이 Neflix가보유하고있는영화를골고루볼수있도록관리를해야함 고객의취향에맞는비디오추천 10 만개영화 고객의평점, 구매내역을활용 1 3 4?? 1 3 5 5 4 5 5 3 4 만명의고객 3 2 2 2 2 1 1 3 3 5 1

3. 일상생활속머신러닝의예 미국국가안보국의 SKYNET 파키스탄의테러리스트을식별하여사살하기위한프로그램 2004 년부터 2,500 명에서 4,000 명가량의 식별된 사람들이사망 5,500 만명의파키스탄사람들의휴대전화기록을활용 전화시간, 길이, 수신자 / 발신자정보, GPS, 이동기록등.. 전화기를끄거나 SIM 카드를바꾸면별도관리대상이됨 잘못된알고리즘설계로무고한많은사람들이희생되어비판받음

3. 일상생활속머신러닝의예 다양한적용사례들 응용분야 인터넷정보검색컴퓨터시각음성인식 / 언어처리모바일 HCI 생물정보바이오메트릭스컴퓨터그래픽로보틱스서비스업제조업 적용사례 텍스트마이닝, 웹로그분석, 스팸필터, 문서분류, 여과, 추출, 요약, 추천문자인식, 패턴인식, 물체인식, 얼굴인식, 장면전환검출, 화상복구음성인식, 단어모호성제거, 번역단어선택, 문법학습, 대화패턴분석동작인식, 제스쳐인식, 휴대기기의각종센서정보인식, 떨림방지유전자인식, 단백질분류, 유전자조절망분석, DNA 칩분석, 질병진단홍채인식, 심장박동수측정, 혈압측정, 당뇨치측정, 지문인식데이터기반애니메이션, 캐릭터동작제어, 역운동학, 행동진화, 가상현실장애물인식, 물체분류, 지도작성, 무인자동차운전, 경로계획, 모터제어고객분석, 시장클러스터분석, 고객관리 (CRM), 마케팅, 상품추천이상탐지, 에너지소모예측, 공정분석계획, 오류예측및분류

4. 머신러닝의구성요소

4. 머신러닝의구성요소 데이터준비 훈련 / 검증 / 테스트데이터분리 전체데이터 Known Unknown 훈련데이터검증데이터테스트데이터 모델학습을위해사용하는데이터 모델검증을위한데이터 현재우리가갖고있지않지만 검증데이터에대한성능에따라실제맞닥뜨릴데이터모델을바꿔보고통상적으로 학습된모델의최종성능검사를위해성능이제일높은모델을선택따로구별해놓은데이터

4. 머신러닝의구성요소 모델표현의방법 의사결정트리 기호주의자 (Symbolists) 귀납적추론, 철학과심리학, 논리학에서아이디어를얻음 신경망기반 연결주의자 (Connectionists) 두뇌를분석하고모방하며신경과학과물리학에서영감을얻음 KNN, 서포트벡터머신 유추주의자 (Analogizers) 유사성판단을근거로추정하면서배우며심리학과수학적최적화의영향을받음

4. 머신러닝의구성요소 모델표현의방법 베이지안모델 베이즈주의자 (Bayesians) 학습이확률추론의한형태라고믿으며통계학에뿌리를두고있음 유전알고리즘 진화주의자 (Evolutionaries) 컴퓨터에서진화를모의시험하며유전학과진화생물학에의존 모델앙상블

4. 머신러닝의구성요소 모델평가방법 에러의제곱 (Squared Error) sum{y f(x)} 2 정확도 (Accuracy) 맞힌테스트데이터개수 / 전체테스트데이터개수 우도 (Likelihood) log 2 P(y) 정밀도와재현률 (Precision and Recall) 정보검색에서주로사용 엔트로피 (Entropy) 사후확률 (Posterior Probability)

학습정리

학습정리 데이터준비 : 훈련 / 검증 / 테스트데이터집합으로분리모델표현 : 기호 / 신경망 / 유추 / 베이지안 / 유전기반알고리즘존재모델평가방법 : 정확도 / 에러제곱 / 우도등각상황에맞는평가방법선택 지금까지 [ 머신러닝개요 ] 에대해서살펴보았습니다. 머신러닝은인공지능을구현하기위한하나의방법지식을구현하기위한두가지대립적방법지식공학 ( 합리주의자 / 이성주의자 ): 지식을사람이직접컴퓨터에게제공머신러닝 ( 경험주의자 ): 컴퓨터가데이터로부터지식을직접학습 지도학습 : 학습데이터마다레이블을가지고있음비지도학습 : 학습데이터마다레이블을가지고있지않음준지도학습 : 학습데이터가약간의레이블을가지고있음강화학습 : 최종출력이바로주어지지않고시간이지나서주어지는경우

인공지능을위한머신러닝알고리즘 2. 선형회귀모델

CONTENTS 1 선형회귀모델 2 3 파라미터예측 : 최소제곱방법 선형회귀모델로는안풀리는문제들

학습목표 학습목표 선형회귀의분류원리에대해이해할수있다. 선형회귀의모델파라미터를계산할수있다. 모델이가정하고있는선형성에대해서이해할수있다.

1. 선형회귀모델

1. 선형회귀모델 회귀모델의정의 한개의종속변수 (dependent variable) 와설명변수들 (explanatory variable(s)) 과의관계를모델링 관계를정의하기위해방정식사용 수치적 (numerical) 종속변수 한개또는그이상의수치적설명변수 예측 & 추정시에사용

1. 선형회귀모델 회귀모델의종류들 1 개의설명변수 회귀모델 2 개이상설명변수들 단순 다중 선형 비선형 선형 비선형

1. 선형회귀모델 선형성이란 Y Y=aX+b m = 기울기 Y 의변화량 예 > Y=1/2X+3 X 의변화량 b = Y- 절편 X

1. 선형회귀모델 변수들사이관계 - 선형함수 Y 절편 기울기 무작위에러 ( 노이즈 ) Y i = β o + β i X i + i 종속 ( 응답 ) 변수 예 > 와인등급 독립 ( 설명 ) 변수 예 > 날씨, 토양, 포도의품질

1. 선형회귀모델 회귀모델의예측대상 모집단 ( 참값 )

1. 선형회귀모델 회귀모델의예측대상 모집단 ( 참값 ) 무작위샘플 ( 관측값 ) Y i = β o + β 1 X i + i 실제데이터생성규칙

1. 선형회귀모델 회귀모델의예측대상 모집단 ( 참값 ) 무작위샘플 ( 관측값 ) Y i = β o + β 1 X i + i

1. 선형회귀모델 회귀모델의예측대상 모집단 ( 참값 ) Y 예측한생성규칙 무작위샘플 ( 관측값 ) ˆ ˆ i 0 1X i ˆ i Y i = β o + β 1 X i + i

1. 선형회귀모델 선형회귀모델의확률적관점 Y Y i = β 0 + β 1 X i + i 관측값 i = 무작위에러 E Y = β o + β 1 X i X 관측값

1. 선형회귀모델 선형회귀모델의확률적관점 Y Y i = β 0 + β 1 X i + ε i 관측값 i = 무작위에러 관측되지않은값 E Y = β o + β 1 X i X 관측값

2. 파라미터예측 : 최소제곱방법

2. 파라미터예측 : 최소제곱방법 최소제곱 최적의모델은실제 Y 값과예측된 Y 값의차이 ( 에러 ) 가최소가되어야함 에러의값은무조건양수이어야하므로제곱을시킴 최소제곱방법은에러의제곱의합 (Sum of the Squared Errors, SSE) 을최소화시킴

2. 파라미터예측 : 최소제곱방법 X 최소제곱 Y LS minimizes n i 1 ˆ 2 i ˆ 2 1 ˆ 2 2 ˆ 2 3 ˆ 2 4 Y 2 = β 0 + X 2 + 2 2 1 3 4 Y i = β 0 + β 1 X i

2. 파라미터예측 : 최소제곱방법 최소제곱의해 예측방정식 y i = β 0 + β 1 x i 기울기 ˆ 1 SS SS xy xx xi x yi y 2 x x i Y- 절편 ˆ 0 y ˆ 1 x

2. 파라미터예측 : 최소제곱방법 Y 절편구하기 n n 2 i i 0 1 i i1 i1 y x 2 0 y x 2 i i 0 1 i 0 0 2 ny n n x 0 1 2 ˆ 0 y ˆ 1 x

2. 파라미터예측 : 최소제곱방법 기울기구하기 0 y x 2 i i 0 1 i 1 1 2 x y x i i 0 1 i 2 x y y x x i i 1 1 i 1 1 ˆ SS 1 SS xi xi x xi yi y x x x x x x y y i i i i xy xx 2

2. 파라미터예측 : 최소제곱방법 기울기와 y- 절편의의미 1. 기울기 ( β 1 ) - 추정된 Y 는 X 가 1 단위증가할때마다 β 1 만큼변화 만약 β 1 = 2 인경우, Y 는 X 가 1 단위증가할때마다 2 씩증가 2. Y- 절편 ( β 0 ) - X = 0 인경우 Y 의평균값 만약 β 0 = 4 인경우, X 가 0 일때 Y 의평균값은 4

3. 선형회귀모델로는안풀리는문제들

3. 선형회귀모델로는안풀리는문제들무엇이더좋은모델일까? 예 > 프로그래밍숙제의성공여부예측 성공률 성공률 프로그래밍경력 (months) 프로그래밍경력 (months) 성공률 성공률 프로그래밍경력 (months) 프로그래밍경력 (months)

3. 선형회귀모델로는안풀리는문제들선형성의한계 예 > 프로그래밍숙제의성공여부예측 1.5 1.0 성공확률 0.5-0.0-0.5 0 10 20 30 40 프로그래밍경력 (months)

학습정리

학습정리 지금까지 [ 선형회귀모델 ] 에대해서살펴보았습니다. 한개의종속변수와다수의설명변수들사이의관계를선형방정식으로모델링 Y i = β 0 + β 1 X i + i ˆ 1 SSxy SSxx xi x yi y 2 x x i ˆ 0 ˆ x y 1 종속변수와설명변수사이비선형관계존재

인공지능을위한머신러닝알고리즘 3. 로지스틱회귀모델

CONTENTS 1 로짓 (logit) 함수 2 로지스틱회귀모델 3 로지스틱회귀모델의파라미터추정

학습목표 학습목표 로짓 (logit) 함수를이해할수있다. 로지스틱회귀의분류원리에대해이해할수있다. 로지스틱회귀모델의파라미터를구할수있다.

1. 로짓 (logit) 함수

1. 로짓 (logit) 함수 오즈 (odds) 어떠한사건의확률이 p 일때, 그사건의오즈는다음과같이계산 odds = p / (1 p) 예시 혈중콜레스테롤 비만 Yes No Total Normal 402 3614 4016 High 101 345 446 503 3959 4462 혈중콜레스테롤이정상인그룹에서비만인경우의오즈 비만일확률 / (1 비만일확률 ) = (402/4016) / (1 - (402/4016)) = 0.1001 / 0.8889 = 0.111

1. 로짓 (logit) 함수 오즈 (odds) 혈중콜레스테롤이정상인그룹에서비만이아닌경우의오즈 0.8999/0.1001 = 8.99 혈중콜레스테롤이높은그룹 odds( 비만 ) = 101/345 = 0.293 odds( 비만이아님 ) = 345/101 = 3.416 혈중콜레스테롤이정상에서높은수치로갈때, 비만인경우의오즈는약세배증가 odds 비율 : 0.293/0.111 = 2.64 혈중콜레스테롤이높을때, 2.64 배더비만이되기쉬움

1. 로짓 (logit) 함수 로짓변형 로짓은오즈의자연로그 2 y=lnx 1-1 -2 2 4 6 8 10-3 -4 logit(p) = ln(odds) = ln (p/(1-p))

2. 로지스틱회귀모델

2. 로지스틱회귀모델 로지스틱회귀분석이사용되는예 종속변수의값을 0 또는 1 로 ( 이진변수로 ) 표현할수있는경우 예 ) 약물치료후환자의반응예측약물치료에대한환자의반응 ( 종속변수 ) 을예측하고자할때, 약물치료적용후환자가살아남은경우 1 로, 살아남지못한경우를 0 으로표현할수있음

2. 로지스틱회귀모델 선형회귀모델을사용할경우 1.5 1.0 관측값 결과 0.75 0.5 Y = 0.01X + 0.13 각환자 - 약물부합점수마다점의개수는생존한환자의수를의미 0.25 0.0-0.1 0 25 50 75 100 생존확률 회귀모델 : 선형회귀

2. 로지스틱회귀모델 더나은솔루션 1.5 1.0 결과 0.75 회귀모델의예측커브 0.5 0.25 시그모이드함수 ( 점근적으로 y=0 과 y=1 에근사 ) 0.0-0.1 0 25 50 75 100 생존확률

2. 로지스틱회귀모델 로지스틱회귀모델 로지스틱회귀모델의방정식 logit( p) 1X 0 오즈의로그 ( 로짓 ) 은설명변수 X 와선형적인관계 일반적선형회귀문제처럼접근가능

2. 로지스틱회귀모델 종속변수 p 값구하기 p 는시그모이드함수

2. 로지스틱회귀모델 1 값해석 Let odds1 = X 의 odds (p/(1 p)) odds2 = X + 1 의 odds Then odds2 odds1 = eb 0 +b1 (X +1) e b 0 +b 1 X = e(b 0 +b 1 X )+b 1 e b 0 +b 1 X = e(b 0 +b1x ) e b1 e b 0 +b 1 X = e b 1 X 가각단위값마다증가할때, 예측된 odds 의비율이 e 의기울기 ( 1 ) 제곱만큼증가함을의미

2. 로지스틱회귀모델 Logit 변환의의미 선형회귀에더적절한함수를도출 Logit(P ) = log odds = In P 1 P 확률 0 ½ 1 Odds 0 1 + Logit - 0 +

3. 로지스틱회귀모델의파라미터추정

3. 로지스틱회귀모델의파라미터추정최대우도추정법이란? 동전던지기문제 앞 / 뒤가나올확률이공정하지않은 (biased) 동전이있을경우, 동전의앞면이나올확률 head(p) 를계산하고자함 이때, p 는 unknown 파라미터 동전을 10 번던져서앞면이 7 번나왔다고하자. 이때, p 의값으로추정할수있는값중가장최선은무엇일까? 데이터에기반하여 0.7 로예측

3. 로지스틱회귀모델의파라미터추정최대우도추정법이란? 동전던지기문제 동전을 10 번던졌을때앞면이 10 번나온횟수는 N=10 이고 p=unknown 인 binomial 랜덤변수 P(7heads) = 10 7 p 7 1 p 3 = 10! 7! 3! p7 1 p 3 알지못하는파라미터 p 에대해서데이터를관측할확률을제공

3. 로지스틱회귀모델의파라미터추정최대우도추정법이란? 이때, 데이터의확률을가장높이는 p 의값을찾고자함 ( 또는우도함수를가장높이는 p) 즉, 데이터를가장잘설명할수있는파라미터 p 를찾고자함 어떻게찾을수있을까? 함수에 log 를씌움 : 곱셈을덧셈으로바꿈으로써미분을쉽게함 p 에대해서미분계산 : p 의변화량에대한함수의변화량계산 미분값을 0 으로설정하고 p 를계산 : 함수의최대값이되는곳은미분값이 0 파라미터대입해서확률계산해보기 Likelihood = 10 7. 7 7. 3 3 = 120(. 7) 7. 3 3 =. 267 log Likelihood = log 10 + 7log p + 3log(1 p) 7! 3! d dp log Likelihood = 0 + 7 p 3 1 p 7 p 3 1 p = 0 7 1 p 3p = 0 p(1 p) 7(1 p) = 3p 7 7p = 3p 7 = 10p p= 7 10

3. 로지스틱회귀모델의파라미터추정모수 (βi ) 추정방법최대우도 (maximum likelihood) 추정법이용 우도함수 (likelihood function) 우도함수를최대화하는최대우도추정법 (MLE) 을이용하여 β i 을수치적 (numerical) 방법으로산출?? ) ; ( i i x i L Max i i y n i y i x i L 1 1 ) exp( 1 1 1 ) exp( 1 1 ) ; ( p x p x x 2 2 1 1 0

3. 로지스틱회귀모델의파라미터추정로지스틱회귀모델예제 나이에따른동맥심장질환확률예측하기 동맥심장질환유 데이터로지스틱모델 55 세이상 55 세미만 21 22 P ( D) log( ) 1 P ( D) X 동맥심장질환무 6 51 1 if age 55 X 1 0 if age 55 1 1 우도함수식 L(, 1 e 6 1 21 e 51 1 22 1 ) ( ) ( ) ( ) ( ) 1 e 1 1 e 1 1 e 1 e

3. 로지스틱회귀모델의파라미터추정로지스틱회귀모델예제 22 51 21 6 1 ) 1 1 ( ) 1 ( ) 1 1 ( ) 1 ( ), ( 1 1 1 e x e e e e e L ) 22log(1 0 ) 51log(1 51 ) 21log(1 0 ) 6log(1 ) 6( ), ( log 1 1 1 1 e e e e L 로그우도함수

3. 로지스틱회귀모델의파라미터추정로지스틱회귀모델예제 0 1 21 1 6 6 )] ( [log 1 1 1 1 1 1 e e e e d L d 0 1 22 1 51 51 )] ( [log e e e e d L d 미분식 ) 22log(1 0 ) 51log(1 51 ) 21log(1 0 ) 6log(1 ) 6( ), ( log 1 1 1 1 e e e e L 로그우도함수

학습정리

학습정리 지금까지 [ 로지스틱회귀모델 ] 에대해서살펴보았습니다. 로짓은오즈의자연로그 odds = p / (1 p) logit(p) = ln(odds) = ln (p/(1-p)) 로짓과설명변수 X 를선형적인관계로모델링종속변수 p 와 X 는비선형관계 logit( p) = b 0 + b 1 X p = 1 1 + e (β 0 +β 1 X) 우도함수사용 L( x i ; ) i n 1 y i1 1 exp( ) 1 exp( ) i 1 1 1 y i

인공지능을위한머신러닝알고리즘 4. 결정트리

CONTENTS 1 의사결정트리와분류문제 2 결정트리구축원칙 3 Bagging

학습목표 학습목표 의사결정트리의분류원리를이해할수있다. Occam 의면도날원칙이결정트리구축과정에미치는영향을이해할수있다. Bagging 기법을이해할수있다.

1. 의사결정트리와분류문제

1. 의사결정트리와분류문제 분류 (classification) 훈련데이터의특성값 / 클래스정보를학습한뒤, 새롭게주어지는테스트데이터부터는특성값만으로클래스를예측하는것 예 > 날씨정보를바탕으로상대방이데이트를허락해줄지말지예측 필요사항 특성값 (attribute value) : 고정된집합의특성들로표현될수있어야함예 > 더움, 따뜻함, 추움 클래스 (class, target values) : 이산출력값을가져야함예 > 예 / 아니오, 다중클래스 충분한데이터 : 결정트리에주어질충분한훈련예제

1. 의사결정트리와분류문제 분류문제의간단한예제 다음주에경기하는국내축구팀의 A 팀과 B 팀의경기에서 A 팀이이길지혹은질지예측하는모델을만들어보자 가능한특성값들 경기장소 : 홈 / 어웨이 경기시간 : 오후 5 시 / 7 시 / 9 시 S 선수의포지션 : 공격수 / 미드필더 B 팀 K 선수의출전여부 : 예 / 아니오

1. 의사결정트리와분류문제 데이터 장소 시간 K선수출전 S선수포지션 R선수출전 날씨 결과 홈 7시 예 미드필더 예 맑음 승리 홈 7시 예 공격수 아니오 비 승리 어웨이 7시 예 공격수 예 맑음 승리 홈 5시 아니오 공격수 아니오 맑음 패배 어웨이 9시 예 공격수 예 비 패배 어웨이 7시 아니오 미드필더 예 맑음 승리 홈 7시 아니오 공격수 아니오 맑음 패배 홈 7시 예 미드필더 아니오 맑음 승리 어웨이 7시 예 미드필더 아니오 비 승리 홈 9시 아니오 공격수 아니오 비 패배

1. 의사결정트리와분류문제 데이터 다음주경기는어웨이, 9시시작, S선수가미드필더로출전 장소 시간 K선수출전 S선수포지션 R선수출전 날씨 결과 어웨이 9시 아니오 미드필더 예 맑음??

1. 의사결정트리와분류문제 결정트리 결정트리는트리구조의분류기 결정노드 : 단일특성에대해데이터를테스트 말단노드 : 클래스를나타냄 엣지 : 하나의특성값을분류 경로 (Path) : 최종분류결정을하기위한룰 (rule) 들의논리합 (disjunction)

1. 의사결정트리와분류문제 결정트리 결정트리는뿌리 (root) 노드부터시작해서특성값에따라적절한말단노드에도착함으로써새로운데이터의클래스를분류 (1) 어느특성부터시작하지? ( 뿌리노드 ) K 선수출전 예 아니오 (2) 중간노드들의순서는? (3) 노드를얼마나만들어야할까? 패배 S 선수포지션

1. 의사결정트리와분류문제 랜덤결정트리 트리의크기가매우커질수있음분류의룰을이해하기어려울수있음크기가큰트리는보통크기가작은트리보다정확도가떨어짐 시간 5 시 7 시 9 시 K 선수출전 장소 패배 예 아니오 홈 어웨이 패배 R 선수포지션 S 선수포지션 예 아니오 미드필더 공격수 승리 패배 승리 날씨 맑음 비 승리 패배

2. 결정트리구축원칙

2. 결정트리구축원칙 결정트리구축원칙 각노드에서테스트할특성선택 분류할때가장유용한특성순서대로선택 정보획득량 각특성들이훈련예제들을얼만큼잘분류할수있는가를측정정보획득량은트리구축과정에서테스트할후보특성의순서를결정할때사용

2. 결정트리구축원칙 결정트리구축원칙 엔트로피 확률변수의불확실성을수치로나타냄출력이두개 ( 앞 / 뒤 ) 인확률변수 S의엔트로피 E(S) E(S) = - p(f)log2 p(f) p(b)log2 p(b) 예1> 동전을던질때앞면과뒷면이나올확률이같을때엔트로피 E(S) = -(1/2)log(1/2) (1/2)log(1/2) = 1/2+1/2 = 1 예2> 동전을던질때앞면이나올확률이 1/4 뒷면이나올확률이 3/4 일때엔트로피 E(S) = -(1/4)log(1/4) (3/4)log(3/4) = 2/4+3/4 0.42 = 0.31

2. 결정트리구축원칙 결정트리구축원칙 결정트리구축원칙예제 S 가 25 개예제를가지고있고그중 15 개가 positive 예제, 10 개가 negative 예제인경우 [15+, 10-], 분류에대한 S 의엔트로피는다음과같음 E(S) = - p(p)log2 p(p) p(n)log2 p(n) E(S) = - (15/25) log2(15/25) - (10/25) log2 (10/25)

2. 결정트리구축원칙 H(Y) 엔트로피의직관적인이해 엔트로피가 0 일때, 출력은매우확실한상태 엔트로피는출력에대해서아무런정보를갖고있지않을때 ( 어떠한출력값도동등한확률로나옴 ) 최고값을가짐 예 > 동전던지기의앞 / 뒤확률이같은경우 1.0 1.0 0.5 클래스가두개인문제에서하나의클래스의발생확률에대한엔트로피의변화 1.0 0 1.0 0 1.0 0.5 1.0 Pr(X=1)

2. 결정트리구축원칙 정보획득량 정보획득량 = 엔트로피 ( 불확실성 ) 의감소량 Sv Gain( S, A) Entropy( S) Entropy( Sv) S vvalues( A) Values(A) 는특성 A( 예 > 날씨 ) 의모든가능한값 ( 예 > 맑음, 비 ) 들의집합이고, S v 는데이터집합 S에서특성 A의값이 v인 S의부분집합 S v = {s in S A(s) = v} 정보획득량식의첫번째항은데이터집합 S의엔트로피값

2. 결정트리구축원칙 정보획득량 정보획득량 = 엔트로피 ( 불확실성 ) 의감소량 Sv Gain( S, A) Entropy( S) Entropy( Sv) S vvalues( A) 두번째항은특성 A 를사용하여 S 를분리했을때, 예상되는 S 의엔트로피의값 정보획득량 : 특성 A 를사용하여 S 를분리했을때, 예상되는엔트로피의감소량 또는, 특성 A 를알때, 데이터집합 S 의원소를인코딩할때감소되는비트의크기

2. 결정트리구축원칙 정보획득량예제 분리하기전, S 의엔트로피 H(10/20, 10/20) = - 10/20 log(10/20) - 10/20 log(10/20) = 1 [10+, 10-] 장소 = 홈 장소 = 어웨이 [6+, 6-] [4+, 4-]

2. 결정트리구축원칙 정보획득량예제 장소특성을사용하여두개의부분집합으로분리 첫번째집합의엔트로피 : H( 홈 ) = - 6/12 log(6/12) - 6/12 log(6/12) = 1 두번째집합의엔트로리 : H( 어웨이 ) = - 4/8 log(6/8) 4/8 log(4/8) = 1 분리한뒤 S 의엔트로피 : 12/20 * H( 홈 ) + 8/20 * H( 어웨이 ) = 1 [10+, 10-] 장소 = 홈 장소 = 어웨이 [6+, 6-] [4+, 4-]

2. 결정트리구축원칙 정보획득량예제 시간특성을사용하여세개의부분집합으로분리 첫번째집합의엔트로피 : H(5 시 ) = - 1/4 log(1/4) - 3/4 log(3/4) = 0.31 두번째집합의엔트로피 : H(7 시 ) = - 9/12 log(9/12) 3/1 log(3/12) = 0.34 세번째집합의엔트로피 : H(9 시 ) = - 0/4 log(0/4) 4/4 log(4/4) = 0 [10+, 10-] 시간 = 5 시시간 = 7 시시간 = 9 시 [1+, 3-] [9+, 3-] [0+, 4-]

2. 결정트리구축원칙 정보획득량예제 분리한뒤 S 의엔트로피 4/20 * H(1/4, 3/4) + 12/20 * H(9/12, 3/12) + 4/20 * H(0/4, 4/4) = 0.65 정보획득량 1-0.65 = 0.35 [10+, 10-] 시간 = 5 시시간 = 7 시시간 = 9 시 [1+, 3-] [9+, 3-] [0+, 4-]

2. 결정트리구축원칙 결정트리구축원칙 어떤노드가먼저선택되어야할까? 시간특성값을알때가, 장소특성값을알때보다더많은정보를줌시간특성값을장소특성값보다먼저테스트해야함이와같이, 다른특성들에대해서정보획득량을계산결정트리의각노드에서가장큰정보획득량을갖는특성을선택 얼마나노드를만들어야할까? (stopping rule) 모든특성들이트리의경로에모두포함되어있는경우말단노드와연관되어있는모든훈련예제들이같은클래스에해당하는경우즉, 엔트로피가 0일때

2. 결정트리구축원칙 결정트리구축원칙 가장적합한트리는? 모델을구축하기위해 bias 가필요 예 > 크기가가장작은트리를선호, 또는깊이가가장높은트리, 노드개수가가장많은트리 어떠한트리가새로운데이터를가장잘분류할수있을까?

2. 결정트리구축원칙 결정트리구축원칙 Occam 의면도날 면도날은필요하지않은가설을잘라내버린다는비유데이터의특성과부합하는가장간단한가설을선호모든것이똑같은조건일때, 가장쉬운설명이가장옳은것과학자의가설선호도많은데이터를설명할수있으면서가장간단한가설을선택예 > F=ma 결정트리는데이터의특성과부합하면서도가능한가장작은트리여야함

2. 결정트리구축원칙 결정트리분류의특징 장점 다른분류방법에비해서상대적으로빠름 ( 분류시계산량이적음 ) 간단하고모델구축원리를이해하기쉬움모델의분류룰 (rule) 을사람이직관적으로이해하기쉬움 어느특성이분류에가장중요한지명확히나타냄다른모델들에비해서더좋은성능나타낼때가있음

2. 결정트리구축원칙 결정트리분류의특징 단점 연속적인특성값을갖는데이터에적합하지않음 클래스의개수가많고데이터가적을때성능이좋지않음 훈련과정에서계산량이많음 트리의노드선택순서를정하기위해모든특성의정보획득량을계산한뒤, 정렬해야함

2. 결정트리구축원칙 특성이연속된값을가질때결정트리구축 연속된값을갖는특성 특성 A의연속된값을이산적인구간의집합으로나눔새로운 boolean 특성 Ac의값을임계치 c에따라설정예 > 새로운특성 : 섭씨온도 A c true if Ac c false otherwise 어떻게임계치 c 를정할까? 데이터를특성의값에따라서정렬시킴클래스가다르면서인접한두개의데이터를참음 임계치의집합이생성됨정보획득량이가장많은임계치를선택

3. Bagging

3. Bagging Bootstrap 데이터의개수가부족할때사용할수있음 예 > 날씨가맑은날 A 팀의평균승리확률은? 원본데이터집합 X 가있을때, X=(x 1,x 2,,xn ), 다음과정을 m 번반복 크기가 n인데이터집합 X에서복원추출법을사용하여부분집합 Xk 생성 X k 에대해서구하고자하는값 θ 계산 ˆ ˆ ˆ * bootstrap 값계산 * * (,..., ) 1 B

3. Bagging Bootstrap Bootstrap 값들을사용하여표준편차또는확신구간등설정가능 1980 년대부터컴퓨터가통계적용도로사용되면서쓰여지기시작 Bootstrap 분포는원본데이터에서통계적변화를측정하기위해주로사용됨

3. Bagging Bagging 1996 년 Breiman 에의해소개됨 Bagging : bootstrap aggregating 다수의분류기를결합하는앙상블방법중하나 주로결정트리분류기에많이쓰임원본훈련데이터집합 X가있을때, 다음과정을 m번반복 X로부터 boostrap 샘플 X k 를얻음 X k 로부터분류기 C k 를훈련

3. Bagging Bagging m개의분류기를다음의방식으로결합 투표 평균데이터가갖는 high variance 문제를해결할수있음

학습정리

학습정리 지금까지 [ 결정트리 ] 에대해서살펴보았습니다. 결정트리는트리구조의분류기노드 : 단일특성에대해데이터를테스트말단노드 : 클래스를나타냄엣지 : 하나의특성값을분류경로 : 최종분류결정을하기위한룰들의논리합 정보획득량은결정트리구축과정에서테스트할후보특성의순서를결정할때사용 Bagging 은다수의분류기를결합하는앙상블방법중하나 k 개의 bootstrap 샘플 X 1 k 를훈련시켜얻은 k 개의분류기를투표, 평균등의방법을사용하여결합

인공지능을위한머신러닝알고리즘 5. 서포트벡터머신

CONTENTS 1 좋은선형분류기만들기 2 서포트벡터머신 3 비선형분류기만들기

학습목표 학습목표 서포트벡터머신의분류원리에대해서이해할수있다. 서포트벡터머신의학습이최적화문제로변형되어해결되는과정을이해할수있다. 소프트마진분류기와커널을사용한비선형분류기를이해할수있다.

1. 좋은선형분류기만들기

1. 좋은선형분류기만들기 선형분류의예 예 > 야외활동하기좋은날분류하기 결정영역 온도 = 야외활동 = 야외활동하지않음 습도

1. 좋은선형분류기만들기 어떤초평면을선택해야할까? 초평면이란? 데이터임베딩공간에서한차원낮은부분공간 (subspace) 예 > 3차원공간의초평면 : 2차원평면 가능한 a, b, c 에대해많은해답이존재 여러선형분류기들이있지만항상최적의초평면을찾지는않음 최적의초평면의조건 예 > 퍼셉트론 이선은결정영역을나타냄 ax + by c = 0 초평면과결정영역근처에있는 분류하기애매한 데이터의거리가최대가되어야함 직관적인이해 : 만약결정영역근처에데이터가없다면, 분류기는분류결정을하기위해불확실하고애매한결정을내리는경우가조금더드물어질것임

1. 좋은선형분류기만들기 또다른직관 두꺼운결정영역을클래스사이에놓는다면, 선택의가짓수는보다줄어듦 모델의파라미터개수를줄일수있음 O O X

2. 서포트벡터머신

2. 서포트벡터머신 서포트벡터머신의분류원리 서포트벡터머신은결정영역의초평면을둘러싸고있는마진 (margin) 을최대화시킴 예 > 3 차원공간의초평면 : 2 차원평면 서포트벡터 (support vectors) 클래스결정함수는훈련예제의부분집합 ( 서포트벡터 ) 만으로완전히설명가능 서포트벡터머신의결정함수를구하는것은함수최적화문제 딥러닝이나오기전까지가장성공적인분류기역할을했음 좁은마진 최대마진

2. 서포트벡터머신 서포트벡터머신형식 w 정규화된결정초평면벡터 x i 데이터포인트 i y i 데이터포인트 i 의클래스 (+1 또는 -1)

2. 서포트벡터머신 서포트벡터머신형식 분류기형식 y i = f(x i ) = sign( w T x i + b ) x i 의기능적마진 (functional margin) y i ( w T x i + b ) sign 함수란? 수의부호를판별하는함수 y i =+1 when w T x i + b +1 y i = -1 when w T x i + b -1 주어진데이터포인트가적절하게분류되었는지아닌지가늠할수있는테스트함수의역할 값이클수록적절하게분류되었는지확인할수있음 w 와 b 의크기를키움으로써마진의크기도증가시킬수있음

2. 서포트벡터머신 기하마진 (geometric margin) 데이터포인트에서결정영역까지의거리 : r = y wt x + b w 결정영역까지가장가까운데이터들을서포트벡터 (support vectors) 라고함 결정영역의마진 ρ 는클래스들의서포트벡터들사이의거리 x ρ r 을계산하기위한과정 점선 x x 은결정영역에직교하고 w 에평행함유닛벡터는 w/ w 이고, 점선은 rw/ w 임 x = x yrw/ w x 는 w T x +b = 0 을만족함그러므로 w T (x yrw/ w ) + b = 0 w = sqrt(w T w) 이고, w T x yr w + b = 0 r 에대해서정리하면, r = y(w T x + b)/ w w r x 서포트벡터

2. 서포트벡터머신 선형서포트벡터머신 모든데이터의기능적마진이항상 1 이상이라고가정한다면, 다음두개의조건이훈련데이터집합 {(x i, y i )} 에대해만족함 w T x i + b 1 if y i = 1 w T x i + b -1 if y i = -1 서포트벡터는부등호가등호로바뀜 각데이터포인트로부터결정영역까지의거리 기능적마진을파라미터 w 에따라크기를바꿔줌 데이터포인트가적절하게분류가잘되었는지, w 로스케일링된척도로알려줌 r = y wt x i + b w 마진 ρ : 2 w

2. 서포트벡터머신 선형서포트벡터머신정리 초평면 ρ w T x a + b = 1 w T x i + b = 0 w T x b + b = -1 추가조건 min i=1 n w T x i + b = 1 즉, w T (x a x b ) = 2 ρ = x a x b 2 = 2/ w 2 w T x + b = 0

2. 서포트벡터머신 최적화문제를사용한파라미터계산 (1/3) 서포트벡터머신의파라미터를찾기위해서최적화문제로변형시킬수있음 Find w and b such that 1 / w is maximized; and for all {(x i, y i )} w T x i + b 1 if y i = 1 ; w T x i + b 1 if y i = 1 보다나은형식으로변형 (min w = max 1/ w ) Find w and b such that Φ(w) = ½ w T w is minimized; and for all {(x i, y i )} : y i (w T x i + b) 1

2. 서포트벡터머신 최적화문제를사용한파라미터계산 (2/3) Find w and b such that Φ(w) = ½ w T w is minimized ; and for all {(x i, y i )} : y i (w T x i + b) 1 선형조건에부합하도록이차함수를최적화시키는문제 이차함수의최적화문제는수학적프로그래밍문제에서잘알려진분야로, 해결할수있는많은알고리즘이존재함 Lagrange multiplier α i 을사용하여다음의 primal 과 dual problem 으로변형가능 Maximize L(w,b) = 1/2w T w - Σα i {y i (w T x i -b)-1} (1) α i 0 for all α i Find α 1 α N such that Q(α) =Σα i - ½ ΣΣα i α j y i y j x it x j is maximized and (1) Σα i y i = 0 (2) α i 0 for all α i

2. 서포트벡터머신 최적화문제를사용한파라미터계산 (3/3) 솔루션은다음과같은형식을가짐 W = α i y i X i b = y k - w T X k, k 는 α k 0 을만족 0 이아닌 α i 는해당하는 x i 가서포트벡터임을의미 그러므로분류함수는다음과같은형식임 f(x) = α i y i X it X + b 분류는새로운테스트데이터 x 와서포트벡터 x i 의내적에의해계산됨 하지만, 모델의훈련과정때는모든훈련데이터쌍 (x i, x j ) 에대해내적 x it x j 을계산

3. 비선형분류기만들기

3. 비선형분류기만들기 소프트마진분류 (soft margin classification) 만약훈련데이터가선형으로분리되지않을경우, 슬랙변수 ξ i 가잘못분류되거나노이즈가포함된데이터에추가됨 잘못분류된데이터포인트를본래속하는클래스로비용을들여이동시켜줌 y i (w T x i + b ) 1- ξ i y i (w T x i + b ) 1 min w min w +C ξ ξ i ξ j 모델의학습방법은여전히결정영역을각클래스로부터가장멀리위치하는것임 (large margin)

3. 비선형분류기만들기 소프트마진분류의파라미터계산 예전문제형식 Find w and b such that Φ(w) = ½ w T w is minimized and for all {(x i, y i )} y i (w T x i + b ) 1 새로운형식은슬랙변수를포함하고있음 Find w and b such that Φ(w) = ½ w T w + CΣξ i is minimized and for all {(x i, y i )} y i (w T x i + b ) 1- ξ i and ξ i 0 for all i 솔루션은다음과같은형식을가짐 ( 일반서포트벡터머신과유사 ) W = α i y i X i b = y k (1- ξ k ) - w T X k where k = argmax α k

3. 비선형분류기만들기 결정영역이선형이아닌경우 = - 1 = +1

3. 비선형분류기만들기 결정영역이선형이아닌경우 데이터포인트를선형으로분류하기위해차원을더생성 ( x 2 2 1, x 2 ) x, x, 2x ) Φ : x Φ(x) ( 1 2 1x 2 f(x) = w T Φ(x) + b 를학습 Φ(x) 는피처맵이라고부름 파라미터결정 x 대신 Φ(x) 을사용하여다음식을계산 maximize i y i y ji j ( xi ) i 1 2 i, j ( x j ) = - 1 = +1 Φ = - 1 = +1 커널 K(x i, x j ) = (x i ) (x j ) 이며이경우, Φ(x i ) T Φ(x j ) = (x it x j ) 2 임

3. 비선형분류기만들기 분류기로써서포트벡터머신의성능 서포트벡터머신은실세계데이터에좋은성능을보여줌 프로그래머는커널함수를설계해야함 나머지파라미터는자동으로계산 데이터집합의크기가클수록시간소모가큼 초평면의최대마진을구하기위해서훈련데이터개수의제곱에해당하는계산량필요 모든서포트벡터를저장해야함 만약, 문제에어떠한알고리즘을사용할지모르겠다면, 서포트벡터머신은좋은출발선이될수있음

학습정리

학습정리 지금까지 [ 서포트벡터머신 ] 에대해서살펴보았습니다. 서포트벡터 x i 가결정영역의초평면 w 를결정 y = f(x) = sign( w T x + b ) = sign( α i y i X i T X) + b 이차함수의최적화문제를통해서포트벡터와, Lagrangian multiplier α i 를계산할수있음 슬랙변수 ξ i 를잘못분류되거나노이즈가포함된데이터에추가하여본래속하는클래스로비용을들여이동시켜줌 y i w T x + b 1- ξ i

인공지능을위한머신러닝알고리즘 6. 신경망

CONTENTS 1 뇌와컴퓨터 2 퍼셉트론 : 뇌를모사한신경망알고리즘 3 다층신경망의분류원리

학습목표 학습목표 컴퓨터와뇌의동작방식을비교할수있다. 퍼셉트론의구성요소를이해할수있다. 다층신경망의분류원리를이해할수있다.

1. 뇌와컴퓨터

1. 뇌와컴퓨터 뇌와컴퓨터의비교 1. 100억개의뉴런 2. 60조개의시냅스 3. 분산처리방식 4. 비선형연산 5. 병렬처리 1. 뉴런보다빠른연산 (10-9 초 ) 뉴런 : 10-3 초 2. 중앙처리방식 3. 산술연산 ( 선형 ) 4. 순차처리

2. 퍼셉트론 : 뇌를모사한신경망알고리즘

2. 퍼셉트론 : 뇌를모사한신경망알고리즘 신경회로망에대한연구 1940년대 ~ 1960년대뇌의구조에대한모방이두드러진시기 McCulloch and Pitts, 뉴런모델화 (1943) Weiner, 사이버네틱스 (1948) Rosenblatt - 퍼셉트론 (1957) 생물학적뉴런의구조 vs. 인공뉴런생물학적인뉴런과의유사성병렬계산 (parallel computing) 분산표현 (distributed representation)

2. 퍼셉트론 : 뇌를모사한신경망알고리즘 생물학적뉴런에서인공뉴런으로 x 1 w 1 입력 x 2 w 2 X w i x i 활성함수 출력 x n w n 수상돌기세포체축삭돌기

2. 퍼셉트론 : 뇌를모사한신경망알고리즘 신경망 ( 인공뉴런 ) 학습에적합한문제 학습해야하는현상이여러가지속성에의해표현되는경우학습예제에에러 (noise) 가존재할가능성긴학습시간학습된결과를사람이이해하는것이필요없는경우

2. 퍼셉트론 : 뇌를모사한신경망알고리즘 퍼셉트론 (1957) x 1 w 1 X x 2 x n w 2 w n n i=0 w i x i 계단함수 o = o n 1 if w i x i > 0 i=0 1 otherwise o(x1,, xn) = 1 if w 0 + w 1 x 1 + + wnxn > 0 1 otherwise 입력 : 실수값을갖는벡터모델구성 : 연결가중치 & 임계치출력 : 1 또는 -1 학습 : 알맞은연결가중치를탐색

2. 퍼셉트론 : 뇌를모사한신경망알고리즘 퍼셉트론에서비선형함수 기본적인노드에서의입출력 x 1 w 1 x 2 x n w 2 y X w i x i output w n n y = f( w i x i ) i=0

2. 퍼셉트론 : 뇌를모사한신경망알고리즘 퍼셉트론에서비선형함수 3 가지대표적인비선형함수 +1 f h (a) +1 f t (a) +1 f t (a) 0 a 0 a 0 a -1 계단함수임계논리함수시그모이드함수

2. 퍼셉트론 : 뇌를모사한신경망알고리즘 퍼셉트론학습룰 where w i w i + Δw i Δw i = η t o x i t 는타겟값 o 는퍼셉트론의출력 η 는학습률 ( 작은상수 ) 학습후올바른가중치를찾아내려면충족되어야할사항 훈련데이터가선형분리문제이어야함 충분히작은학습률 (learning rate)

2. 퍼셉트론 : 뇌를모사한신경망알고리즘 퍼셉트론의한계 선형분리가능지역 선형분리불가능지역 선형분리가능의일반적인개념 입력 XOR 0 0 0 0 1 1 1 0 1 1 1 0 XOR 함수 문제점 : XOR 문제에서선형분리불가능

3. 다층신경망의분류원리

3. 다층신경망의분류원리 XOR 문제의해결 모델에은닉층을추가하면분류를위한더좋은결정영역을얻을수있음 +1 각각다른결정구역을추가해줌 1 3 2 +1

3. 다층신경망의분류원리 여러패턴들의결정형태 구조 결정영역형태 Exclusive-OR 문제 얽힌결정영역을갖는클래스들 대부분의결정영역들 단층 초평면에의해나뉘어지는반평면 (Hyper plane) A B B A B A 두개층 볼록한모양또는닫힌영역 A B B A B A 세개층 임의의형태 ( 노드들의개수에따라복잡도가결정됨 ) A B B A B A

3. 다층신경망의분류원리 다층퍼셉트론 ( 다층신경망 ) 의특징 같은층안에서는연결이존재하지않음입력층과출력층사이직접적인연결이존재하지않음각층사이는완전연결 (Fully Connected) 되어있음입력층 - 은닉층 출력층구조를많이가짐출력층의유닛개수는입력층의유닛개수와같을필요가없음은닉층의유닛개수는입력층또는출력층보다많거나적어도됨 * 각유닛은퍼셉트론 m y f ( w x b ) i ij j i j1 Bias 를추가적인가중치로갖기도함

3. 다층신경망의분류원리 다중퍼셉트론가중치학습 오류역전파알고리즘 (Error Back Propagation) 이용함 Generalized Delta Rule 이용 o E ip p E Ep wij Ep wij wij p i 1 2 wij i j E ( t p jp Ep wij ip o ) 2 jp Ep ojp ojp wij ( tjp ojp) 2 i 2 ( t pj ip t ( jp opj) i o ip jp) i ip

3. 다층신경망의분류원리 은닉유닛의표현 입력값들의특성을스스로파악해서 Hidden Layer 에표현하는능력이있음 사람이미리정해준 Feature 만을사용하는경우보다유연하며미리알수없는특성을파악하는데유용 입력 - 학습된은닉유닛 - 출력유닛의예 입력 출력 네트워크 입력은닉값출력 10000000.89.04.02 10000000 01000000.48.38.25 01000000 00100000.69.68.82 00100000 00010000.84.14.57 00010000 00001000.70.79.12 00001000 00000100.25.45.09 00000100 00000010.07.58.96 00000010 00000001.84.83.74 00000001

3. 다층신경망의분류원리 응용예제 : Autonomous Land Vehicle (ALV) 신경망이무인자동차의운전대를움직이는방법을학습 960개의입력유닛, 4개의은닉유닛, 30개의출력유닛 70 miles/h의속도로주행 CMU 의 ALVINN 시스템 차량앞에장착된카메라로부터받은이미지 한개은닉유닛의가중치값

학습정리

학습정리 지금까지 [ 신경망 ] 에대해서살펴보았습니다. 분산처리 ( 뇌 ) <-> 중앙처리 ( 컴퓨터 ) 병렬처리 ( 뇌 ) <-> 순차처리 ( 컴퓨터 ) 처리속도 : 10-3 초 ( 뇌 ) <-> 10-9 초 ( 컴퓨터 ) 퍼셉트론은입력유닛들의가중치의합과임계치를사용하여뉴런의발화과정을모사선형분리문제를해결하지못하는문제 ( 예 > XOR) 다층신경망은입력층 - 은닉층 출력층구조를가지며각층의유닛들은퍼셉트론임레이어를쌓을수록다양한결정영역이추가로생김으로써선형분리문제극복

인공지능을위한머신러닝알고리즘 7. 역전파

CONTENTS 1 역전파학습방법 2 활성함수의미분값

학습목표 학습목표 역전파알고리즘을이해하고다층퍼셉트론의파라미터값을계산할수있다. 활성함수미분값의특징을이해할수있다.

1. 역전파학습방법

1. 역전파학습방법 다층퍼셉트론 다층퍼셉트론의적절한가중치를어떻게찾을수있을까? 단층퍼셉트론모델에서적절한가중치를찾기위해경사하강법 (Gradient Descent) 을사용 D w ji = (t j - y j ) x i x 1 (t j - y j ) 노드 i 와출력 j 를연결하는가중치 w ji 는출력 j 로부터받은에러신호 (t j - y j ) 와노드의입력 (x i ) 에의해서만영향을받음

1. 역전파학습방법 다층퍼셉트론 다층퍼셉트론의적절한가중치를어떻게찾을수있을까? x 1? x 2 위와같이여러층을갖는다층퍼셉트론에서에러가세번째층에서만계산된다면처음두개의층은어떻게가중치를학습할까? 입력층에서는직접적인에러신호 (t j - y j ) 가존재하지않음

1. 역전파학습방법 기여도할당문제 (Credit Assignment Problem) 전체학습모델을구성하는데관여하고있는모든개별요소들 예 > 은닉유닛들 ) 에 기여도 또는 책임 을할당하는문제 다층신경망에서는어떤가중치들을얼마큼, 어떤방향으로학습시켜야하는지관련됨 앞부분층의가중치들이최종출력 ( 또는에러 ) 에얼마큼영향을미치는결정하는문제와비슷 가중치 w ji 가에러에미치는영향을계산해야함 E w ( t ) ( t ) ij

1. 역전파학습방법 역전파 (Backpropagation) 다층퍼셉트론에서기여도할당문제에대한해결책 Rumelhart, Hinton and Williams (1986) 역전파는두단계로나뉘어짐 1. 앞먹임단계 2. 오류후방전파단계 입력값들을사용하여다층퍼셉트론의최종출력을계산에러값을계산한뒤, 최종출력유닛들부터시작하여네트워크의후방으로에러값을전파

1. 역전파학습방법 입력층 - 은닉층 출력층구조를갖는다층퍼셉트론의모습 x 1 첫번째 layer 의출력 z i x 2 x i y 1 입력 y j 출력 y m x n 가중치 v ij 가중치 w ij - 입력층의 j번째노드와 - 은닉층의 j번째노드와 은닉층의 i번째노드의연결가중치 출력층의 i번째노드의연결가중치

1. 역전파학습방법 다층퍼셉트론의노드활성값계산 z i (t) = g( S j v ij (t) x j (t) ) at time t = g( u i (t) ) y i (t) = g( S j w ij (t) z j (t) ) at time t = g( a i (t) ) g 는활성함수 예 > 시그모이드함수 Bias 는추가가중치로여겨짐

1. 역전파학습방법 역전파 (1) 앞먹임단계 1. 은닉유닛들의값계산 u z j j ( t) v g( u i j ji ( t)) ( t) x i ( t) w kj (t) y k 2. 출력유닛들의값계산 z j v ji (t) a y k k ( t) w j g( a k kj ( t)) ( t) z j x i

1. 역전파학습방법 역전파 (2) 오류후방전파단계 에러의제곱의합을사용할경우, 다음과같은손실함수식을얻음 E( t) 1 2 k 1 ( d k ( t) y k ( t)) 2 d k 는타겟벡터의 k 차원의값 E 를줄이기위해경사하강법을사용하여가중치를변경함 w ij ( t 1) w ij ( t ) E w ( t ) ( t ) ij 출력유닛과은닉유닛모두적용

1. 역전파학습방법역전파 (2) 오류후방전파단계편미분방정식은체인룰을사용하여두개항의곱으로나타낼수있음 ) ( ) ( ) ( ) ( ) ( ) ( t w t a t a t E t w t E ij i i ij 출력유닛과은닉유닛모두적용 )) ( ( ) ( ) ( ) ( t u g z t x t v t u j j i i ji j )) ( ( ) ( ) ( t a g y z t w t a k k j j kj k 은닉유닛 : 출력유닛 : i 번째출력유닛의 a i (t) 값에대한에러값의변화량 Term A Term B i 번째출력유닛에연결되어있는 j 번째가중치에대한 a i (t) 의변화량

역전파 (3) 손실함수의미분 1. 역전파학습방법 B 항 A 항 ) ( ) ( ) ( ) ( ) ( ) ( t z t w t a t x t v t u j ij i j ij i 은닉유닛의경우출력유닛의경우 )) ( ( ) ( ) ( ) ( t u g z t x t v t u j j i i ji j )) ( ( ) ( ) ( t a g y z t w t a k k j j kj k 은닉유닛 : 출력유닛 : 은닉유닛의경우출력유닛의경우체인룰에의해서계산가능 ) ( ) ( t u t E i ) ( ) ( t a t E i

역전파 (3) 손실함수의미분 1. 역전파학습방법 )) ( ) ( ))( ( '( ) ( ) ( ) ( )) ( '( ) ( ) ( ) ( t y t d t a g t t y t E t a g t a t E t i i i i i i i i D D 각출력유닛에대하여아래의식을계산 )) ( ( ) ( ) ( ) ( t u g z t x t v t u j j i i ji j )) ( ( ) ( ) ( t a g y z t w t a k k j j kj k 은닉유닛 : 출력유닛 : 1 2 )) ( ) ( ( 2 1 ) ( k k k t y t d t E 손실함수 :

역전파 (3) 손실함수의미분 1. 역전파학습방법 )) ( ( ) ( ) ( ) ( t u g z t x t v t u j j i i ji j 은닉유닛 : 출력유닛 : 1 2 )) ( ) ( ( 2 1 ) ( k k k t y t d t E 손실함수 : 각은닉유닛에대하여체인룰사용 D j j ji i i i j j j i i w t u g t t u t a t a t E t u t E t )) ( '( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( m m jm j t u g t w t a )) ( ( ) ( ) ( )) ( ( ) ( ) ( t a g y z t w t a k k j j kj k

1. 역전파학습방법 역전파 (4) 기여도할당문제의해결 오류후방전파단계 w ki w ji D k D j i 가중치들은은닉유닛들에게 기여도 또는 책임 을부여하는 정도 의값으로해석할수있음 i = g (u i ) S j w ji D j

) ( ) ( ) ( ) ( ) ( ) ( t w t a t a t E t w t E ij i i ij ) ( ) ( ) ( ) ( ) ( ) ( t v t u t u t E t v t E ij i i ij 역전파 (5) 가중치업데이트 1. 역전파학습방법 ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( t z t t w t E t x t t v t E j i ij j i ij D A B A 와 B 를결합 E 에대한경사하강법을하기위해서가중치를다음과같이변경해야함 h 은학습률을나타내는파라미터 (0 < h <=1) v ij (t+1)-v ij (t) = h i (t) x j (n) w ij (t+1)-w ij (t) = h D i (t) z j (t)

역전파 (5) 가중치업데이트 1. 역전파학습방법 가중치학습식 ) ( ) ( ) ( 1) ( ) ( ) ( ) ( 1) ( t z t t w t w t x t t v t v j i ij ij j i ij ij D h h

1. 역전파학습방법 역전파 (5) 가중치업데이트 출력유닛 w ij h ( t 1) w ( d i ( t) y ij i ( t) h D ( t)) g'( a i i ( t) z j ( t)) z ( t) j ( t) 은닉유닛 에러의크기 활성함수의미분값 입력의크기 v ij ( t h 1) g'( u i vij ( t) hi ( t) x j ( t) ( t)) x j ( t) Dk ( t) wki k 활성함수의미분값입력의크기상위층유닛들의기여도를가중치에따라평균낸값

2. 활성함수의미분값

2. 활성함수의미분값 활성함수에대한에러의변화량 활성함수가에러의변화량에얼만큼영향을미칠까? Di( t) ( di( t) yi ( t)) g'( ai ( t)) i ( t ) g'( ui ( t)) Dk ( t) wki k Where : g' ( a i ( t)) dg( a) da 활성함수 g 에대한미분을계산해야함 미분이가능하기위해서활성함수는 smooth 해야함

2. 활성함수의미분값 시그모이드함수 k exp( -k a ( t)) g '( a ( t)) = = kg( a ( t))[1 - g( a ( t))] i i 2 i i [1 + exp( -k ai ( t))] since: y ( t) = g( a ( t)) we have: g '( a ( t)) = ky ( t)(1 - y ( t)) i i i i i

2. 활성함수의미분값 활성함수미분값과가중치의관계 가중치의변화량은활성함수미분값의비례 D i ( t) ( d ( t) y ( t)) g'( a ( t)) i i ( t ) g'( ui ( t)) Dk ( t) w i k i ki 가중치의학습은유닛의 a i (t) 또는 u i (t) 값이너무크거나작지않을경우잘됨 값이너무크거나작을때미분값은 0 에가까워짐 딥신경망이학습이잘안되었던이유

학습정리

학습정리 지금까지 [ 역전파 ] 에대해서살펴보았습니다. 앞먹임단계 : 입력값들을사용하여다층퍼셉트론의최종출력을계산오류후방전파단계 : 에러값을계산한뒤, 최종출력유닛들부터시작하여네트워크의후방으로에러값을전파 은닉유닛의가중치를학습하기위해서체인룰을사용, 은닉유닛의출력유닛들에대한가중치들은해당은닉유닛에대한 기여도 또는 책임 을부여하는 정도 의값으로해석할수있음 1 1 시그모이드함수의미분형태 g: '( a ( t)) = k(1 - ) i 1 + - - e 1 + e i k a ( t ) k a ( t ) i

인공지능을위한머신러닝알고리즘 8. 비지도학습

CONTENTS 1 클러스터링 2 K-means 클러스터링 2 거리측정함수들

학습목표 학습목표 클러스터링과비지도학습의관계를이해할수있다. K-means 알고리즘의클러스터링과정을이해할수있다. 데이터포인트들사이거리측정알고리즘과사용법을이해할수있다.

1. 클러스터링

1. 클러스터링 클러스터링이란? cluster 클러스터링은데이터에서 클러스터 (Clusters) 라는 비슷한그룹 을찾는기법을뜻함 클러스터링은서로생김새가비슷한데이터끼리하나의클러스터로묶고, 생김새가매우다른데이터끼리다른클러스터로분류 ( 類類相從, 가재는게편등..) 클러스터링 = 비지도학습 (Unsupervised Learning) 데이터의그룹을묶을수있는어떠한사전정보도주어지지않기때문 사전정보 ( 예 > 레이블 ) 이주어지면지도학습임 이러한이유때문에, 클러스터링과비지도학습은동의어로여겨지기도함

1. 클러스터링 일상속클러스터링의예 예제 1 : small, medium, large 티셔츠를만들기위해서사람들을비슷한크기로그룹을지음 각사람크기에맞는옷을만들려면너무많은비용이듦 한사이즈로통일하기에는맞지않는경우가많음 예제 2 : 마케팅을하기위해서고객들을비슷한정도에따라여러분류로나눔 고객의유형에따라마케팅전략을세움

1. 클러스터링 일상속클러스터링의예 예제 3 : 문서가많을때, 내용의비슷한정도에따라서하나의파일로묶음 주제에따라서계층적구조를띄기도함 클러스터링은일상생활속에서가장많이사용되는데이터마이닝기법중하나 인터넷을통한온라인문서들의급속한증가로인해서문서분류가중요한이슈가됨

1. 클러스터링 클러스터링이슈 어떻게그룹을나눌것인가? Intra-cluster distance 데이터들의비슷한정도 (distance, similarity) 를어떻게측정할것인가? 클러스터링이잘되었는지어떻게평가할것인가? Inter-clusters distance 최대화 Intra-clusters distance 최소화 Inter-cluster distance 클러스터링결과의질은알고리즘, 거리측정방법등에따라좌우됨

2. K-means 클러스터링

2. K-means 클러스터링 K-means 클러스터링이란? 데이터포인터들의집합 D 를다음과같이정의하자 {x 1, x 2,, x n }, 여기서 x i = (x i1, x i2,, x ir ) 는실수값을갖는벡터 X R r, r 은데이터속성의개수 K-means 알고리즘은주어진데이터를 k 개의클러스터로분류 각클러스터는 Centroid 라고불리는중심점 (Center) 를가짐 K 의값은프로그래머가정할수있는가변값임

2. K-means 클러스터링 K-means 클러스터링이란? K가주어졌을때, 알고리즘은다음의과정을거침 1. 데이터포인트들중에무작위로 K개를선택하여 Centroid로정함 2. 각데이터포인트들을 K개의 Centroid로할당함 3. 각클러스터의구성원들을기반으로 Centroid를다시계산 4. 수렴조건이만족되지않으면 2번으로감

2. K-means 클러스터링 수렴조건

2. K-means 클러스터링 수렴조건 SSE k j 1 xc dist( x, m j j ) 2 C j 는 j 번째클러스터를뜻함 m j 는클러스터 C j 의 centroid ( 클러스터 C j 에있는모든데이터들의평균벡터 ) dist (x, m j ) 는데이터포인트 x 와 centroid m j 사이의거리

2. K-means 클러스터링 K-means 의예 + + + + + + + + + 1. K 개의중심을무작위선택 2. 클러스터배정 3. Centroid 를다시계산

2. K-means 클러스터링 K-means 의예 + + + + + + + + + 4. 클러스터재배정 5. Centroids 다시계산 6. 클러스터재배정 7. 클러스터링종료

2. K-means 클러스터링 거리측정함수 (Distance Function) 의예 K-means 알고리즘은데이터집합에서평균을정의하고계산할수있으면사용할수있음 유클리디안공간 (Euclidean Space) 에서클러스터의평균은다음과같이계산 m j 1 C j x i C j x i C j 는클러스터 C j 에존재하는데이터포인트개수 하나의데이터포인터 x i 로부터 centroid M j 까지의거리는다음과같이계산 dist x i, m j = x i, mj = (x i1 m ji ) 2 + (x i2 m j2 ) 2 + + (x ir m jr ) 2

2. K-means 클러스터링 K-means 의장점 이해하고구현하기쉬움효율적인시간복잡도를가짐 : O(tkn) n은데이터포인터들의개수 k는클러스터의개수 t는클러스터재배정반복횟수 k 와 t 의값이작으므로 k-means 알고리즘은데이터개수에따라선형복잡도를갖는알고리즘으로볼수있음 K-means 는가장널리사용되는클러스터링알고리즘 Sum of Squared Error 를사용할경우지역적최적화에서종료될수있음, 전역적최적점은찾기가어려움

2. K-means 클러스터링 K-means 의단점 데이터의평균값이정의될수있는데이터에만사용가능 K 의값은프로그래머의몫 가장최적의 K 의값을찾기어려움 아웃라이어에매우민감함 아웃라이어데이터란다른데이터포인트들과매우동떨어져있는데이터를뜻함 아웃라이어데이터는데이터기록과정중벌어지는오류또는독특한성격을갖는이종데이터로인해발생할수있음 + + + + + 올바르지못한클러스터링 바람직한클러스터링

2. K-means 클러스터링 K-means 의단점 K-means 알고리즘은타원체모양이아닌클러스터들을찾는문제에적합하지않음 ( 예 > 고리모양 ) X X 두개의고리모양클러스터 K-means 클러스터

2. K-means 클러스터링 K-means 의단점을다루기위한방법 클러스터링도중다른데이터포인트보다 Centroid 로부터거리가비이상적으로먼데이터포인트를제거해나감 안전한방법은클러스터링도중아웃라이어가발생하는지모니터링하다가발생하면지울지말지직접결정 데이터로부터무작위로샘플링함. 샘플링은전체데이터중일부만선택하기때문에아웃라이어가선택될확률은낮음 클러스터링이종료되면, 샘플링되지않은데이터포인트들을정해진클러스터로배정시킴

3. 거리측정함수들

3. 거리측정함수들 데이터의특성이수치값 (Numeric Value) 을가질때 유클리디안거리측정 (Euclidean Distance) 과맨허튼거리측정 (Manhattan Distance) 이주로사용됨 두개의데이터포인트 (x i 와 x j ) 들의거리를측정할때다음과같이표기 dist(x i, x j ) 두측정방법은 Minkowski Distance 의특별한예 dist x i, x j = ( x i, x j h + (x i2, x j2 ) h + +(x ir, x jr ) h ) 1 h

데이터의특성이수치값 (Numeric Value) 을가질때 3. 거리측정함수들 h = 2 인경우유클리디안거리측정 2 2 2 2 2 1 1 ) (... ) ( ) ( ), ( jr ir j i j i j i x x x x x x dist x x h = 1 인경우맨허튼거리측정가중치적용유클리디안거리측정... ), ( 2 2 1 1 jr ir j i j i j i x x x x x x dist x x 2 2 2 2 2 2 1 1 1 ) (... ) ( ) ( ), ( jr ir r j i j i j i x x w x x w x x w dist x x

3. 거리측정함수들 데이터의특성이수치값 (Numeric Value) 을가질때 제곱유클리디안 (Squared Euclidean distance) 거리멀리떨어져있는데이터포인터들에게더많은가중치를줄경우 dist 2 2 2 ( xi, x j ) ( xi1 x j1) ( xi 2 x j2)... ( xir x jr) Chebychev distance 데이터의특성들중어느하나라도다를경우, 다름 으로만정의하고자하는경우 dist( xi, x j) max( xi x j1, xi 2 x j2,..., 1 ir jr x x )

3. 거리측정함수들 데이터의특성이이산값 (Binary Value) 을가질때 이산적특성 : 두개의값또는상태를가짐예 > 성별 : 남자, 여자 Confusion 행렬을사용하여거리함수를정의함 데이터포인트 j 1 0 데이터포인트 i 1 0 a b c D a+c b+d a+b c+d a+b+c+d a : 두개의데이터포인트들이모두 1 값을갖는속성의개수 b : 데이터포인트 j 는 1 값을갖고 i 는 0 값을갖는속성의개수 c : 데이터포인트 j 는 0 값을갖고 i 는 1 값을갖는속성의개수 d : 두개의데이터포인트들이모두 0 값을갖는속성의개수

3. 거리측정함수들 데이터의특성이이산값 (Binary Value) 을가질때 이산적특성은두개의상태 (0 또는 1) 이동일하게중요할때, 대칭적임 ( 동일한가중치 ) 거리함수 : 단순계수비교 ( 일치하지않은값의비율 ) dist x i, xj = b + c a + b + c + d x 1 x 2 1 1 1 0 1 0 0 0 1 1 0 0 1 0 dist x i, xj = 2 + 1 2 + 2 + 1 + 2 = 3/7

3. 거리측정함수들 데이터의특성이이산값 (Binary Value) 을가질때 이산적특성은두개의상태 (0 또는 1) 이비대칭적일때한상태가다른상태보다더중요한경우일반적으로상태 1이더중요한경우에사용됨 ( 빈도가더낮아희귀한상태 ) Jaccard 계수측정이사용됨 x 1 x 2 dist x i, xj = b + c a + b + c 1 1 1 0 1 0 0 0 1 1 0 0 1 0 dist x i, xj = 2 + 1 2 + 2 + 1 = 3/5

학습정리

학습정리 지금까지 [ 비지도학습 ] 에대해서살펴보았습니다. 클러스터링은데이터에서 클러스터 (Clusters) 라는 비슷한그룹 을찾는기법을뜻함데이터의그룹을묶을수있는어떠한사전정보도주어지지않기때문에비지도학습 (Unsupervised Learning) 과동의어로사용됨 데이터포인트들을무작위로 K 개선택하여 Centroid 계산 클러스터배정과 Centroid 재계산 ( 수렴조건이만족될때까지반복 ) 아웃라이어에약한점에도불구하고단순함과효율성으로인해널리사용됨 수치적특성과이산적특성에따라다양한거리함수사용수치적특성 : 유클리디안, 제곱유클리디안, 멘허튼, Chebychev 거리측정이산적특성 : 단순계수비교, jaccard 계수비교

인공지능을위한머신러닝알고리즘 9. 컨볼루션신경망

CONTENTS 1 컨볼루션신경망의원리 2 ImageNet: 이미지를자동분류하라

학습목표 학습목표 컨볼루션신경망의분류원리를이해할수있다. 기존신경망과컨볼루션신경망의구조적차이를이해할수있다. 컨볼루션신경망구조와깊이의진화과정을이해할수있다.

1. 컨볼루션신경망의원리

1. 컨볼루션신경망의원리 일반신경망으로이미지를분류할때문제점 이미지의위치, 크기, 각도변화등에취약함 왼쪽으로이동

1. 컨볼루션신경망의원리 일반신경망으로이미지를분류할때문제점 왼쪽으로 2 픽셀이동할경우 154 개의입력이변화함 77 개 : 검은색 흰색 77 개 : 흰색 검은색

1. 컨볼루션신경망의원리 크기또는모양이변화하는경우

1. 컨볼루션신경망의원리 컨볼루션신경망이란? 우리뇌속시각피질의신경세포들은물체의방향과장소가바뀌어도별문제없이인식할수있음 이러한신경생물학적관찰이컨볼루션신경망구조설계에동기를부여함 컨볼루션신경망은물체의위치와방향에관계없이물체의고유한특징을학습할수있음 다층신경망의한종류임 역전파알고리즘을사용하여학습 이미지의픽셀값으로부터직접시각패턴을학습할수있음

1. 컨볼루션신경망의원리 분류과정 일반분류기 f1 f 2 입력 특징추출을위한전처리단계 f1 fn 분류 출력 컨볼루션신경망 입력 특징추출 이미지의이동및왜곡에불변 분류 출력

1. 컨볼루션신경망의원리 컨볼루션신경망의구조 특징맵 ( 커널 ) 추출된특징벡터 입력이미지 특징추출층또는컨볼루션층 풀링층 ( 이동및왜곡에불변 ) 컨볼루션층 풀링층

1. 컨볼루션신경망의원리 컨볼루션층 입력이미지속다양한위치에서동일한특징들을탐색 특징 서로다른특징맵 ( 커널 )

1. 컨볼루션신경망의원리 컨볼루션과정 컨볼루션 -1-1 0 0 1 1 임계치 -1 0 1 w11 w12 w13 w11 w12 w13 w21 w22 w23 w21 w22 w23 w31 w32 w33 w31 w32 w33

1. 컨볼루션신경망의원리 컨볼루션과정 한개의특징맵이컨볼루션과정을통해특징을탐색할때특징맵의가중치값은변경되지않음 ( 가중치공유 ) 이와같은방식으로특징맵은입력이미지의다양한위치에서동일한특징을탐색할수있음 모델이갖는파라미터의개수를줄여줌 특징맵이나타내고자하는템플릿과이미지의국소부분이일치한다면, 특징맵의뉴런이발화 입력이미지 컨볼루션층

1. 컨볼루션신경망의원리 풀링과정 물체의위치와각도변화에잘대처할수있게해줌각특징맵의해상도를줄여줌 모델의파라미터의개수를줄임최대 / 평균풀링을주로사용특징맵 풀링층

1. 컨볼루션신경망의원리 LeNet5 LeCun에의해고안됨입력으로 32x32 픽셀크기의이미지를받음 C1, C3, C5 : 컨볼루션층 (5 5크기의피처맵 ) S2, S4 : 풀링층 ( 인자 2에의한풀링, 피처의크기가절반으로축소 ) F6 : 단층신경망 (fully-connected) Input image: 32x32 C1: 6x28x28 S2: 6x14x14 C3: 6x10x10 S4: 16x15x15 C5: 120 F6: 84 RBF output: 10

1. 컨볼루션신경망의원리 LeNet5 Input image: 32x32 C1: 6x28x28 S2: 6x14x14 C3: 6x10x10 S4: 16x15x15 C5: 120 F6: 84 RBF output:10 약 187,000 개뉴런들사이연결존재 약 14,000 개의모델파라미터존재 http://yann.lecun.com/exdb/lenet/

1. 컨볼루션신경망의원리 장점 : 물체의위치와각도변화에대한불변성 http://yann.lecun.com/exdb/lenet/

1. 컨볼루션신경망의원리 장점 : 노이즈와왜곡에대한불변성 http://yann.lecun.com/exdb/lenet/

1. 컨볼루션신경망의원리 단점 메모리관점에서일반적인다층퍼셉트론보다더많은용량을차지함 ( 많은수의파라미터 ) 실행시간관점에서컨볼루션과정이많은계산을필요하고전체실행시간중약 2/3 의비중을차지 같은개수의파라미터를갖는신경망보다약 3 배가까이실행시간이느림

2. ImageNet: 이미지를자동분류하라

2. ImageNet: 이미지를자동분류하라 ImageNet Challenge 120만개의고해상도이미지 1,000개의서로다른클래스 50,000 검증이미지, 150,000개의테스트이미지 쉬운클래스 어려운클래스

2. ImageNet: 이미지를자동분류하라 ImageNet 데이터집합에대한매년성능향상 152 layers 25.8 28.2 16.4 22 layers 6.7 19 layers 7.3 11.7 3.57 8 layers 8 layers shallow ILSVRC 15 ResNet ILSVRC 14 GoogleNet ILSVRC 14 VGG ILSVRC 13 ILSVRC 12 AlexNet ILSVRC 11 ILSVRC 10 이미지분류의 Top 5 에러

학습정리

학습정리 지금까지 [ 컨볼루션신경망 ] 에대해서살펴보았습니다. 컨볼루션층 : 입력이미지속다양한위치에서동일한특징들을탐색, 피처맵을입력에대해슬라이딩시킴. 같은피처맵은동일한가중치사용풀링층 : 물체의위치와각도변화에잘대처할수있게해줌, 최대 / 평균풀링 우리뇌의시각피질이물체를이해하는매커니즘모사, 신경세포들이물체의방향과장소가바뀌어도별문제없이인식할수있었던이유인 컨볼루션 개념을신경망모델에적용 ImageNet 데이터집합은 1000 개의이미지클래스에해당하는 120 만개이미지보유 ImageNet Challenge 에서더좋은성능을보이기위해모델의층이깊어지고있음 AlexNet(8 층 ) VGG(19 층 ) GoogleNet(22 층 ) ResNet(152 층 )

인공지능을위한머신러닝알고리즘 10. 재현신경망

CONTENTS 1 재현신경망의원리 2 GRU, LSTM: 재현신경망의한계를넘어 3 어떻게기계가글을생성할수있을까

학습목표 학습목표 재현신경망의학습원리를이해할수있다. 재현신경망이가진그라디언트손실문제를이해할수있다. 언어모델로써재현신경망이어떻게글을생성하는지이해할수있다.

1. 재현신경망의원리

1. 재현신경망의원리 시계열데이터학습모델 재현신경망 (Recurrent Neural Networks) 은시계열데이터를확률적으로모델링 연속된데이터들의집합 X 가나타날확률 X ( x1, x2,... x T ) T p( X ) p( x, x,..., x ) p( x ) p( x x ) p( x x, x )... p( x x,..., x ) p( x x ) 1 2 T 1 2 1 3 1 2 T 1 T 1 t t t1 재현신경망은매시간단위 T 마다다음을계산 p( x x ) g( h ) t t t1 h ( x, h ) is non-linear activation function t1 t1 t2 은닉층 = 컨텍스트층 = 히스토리층 역전파를사용하여모델파라미터학습

1. 재현신경망의원리 학습가능한파라미터 U, W, V time s t = tanh(ux t + Ws t-1 ) y t = softmax(vs t ) output output output output 은닉유닛들은연속된벡터공간에서오래전데이터정보를저장 많은수의뉴런과시간이주어진다면, 재현신경망은어떠한시계열데이터도학습할수있음 V U hidden W unfold V V V W W W hidden hidden U U U hidden input input input input

1. 재현신경망의원리 재현신경망의손실함수 y t 는클래스정보를갖고있는이진벡터 t 번째시간에서의손실함수는정답클래스의마이너스로그확률 시계열데이터집합 ( 예 > {x 0, x 1, x 2, x 3, x 4 }) 의손실함수는각시간단위의손실함수의총합 E t (y t,y t ) = -y t logy t E(y, y ) = ΣE t (y t, y t ) = -Σy t logy t

1. 재현신경망의원리 시간에대한오류역전파과정 Back Propagation Through Time (BPTT) 예 > t=3 에서손실함수에대한파라미터 W 의그라디언트값계산 체인룰사용 t=3 에서손실함수에영향을미치는변수들로 y 3 와 s 3 이존재 3 E 3 E 3 y' 3 s W y' s 3 w Output vector 3 Hidden vector Hidden weight parameter s t = tanh(ux t + Ws t -1 ) y t ' = softmax(vs t )

1. 재현신경망의원리 분류과정 재현신경망에서 t=3 일때, 은닉유닛 s 3 의값계산 s 3 = tanh(ux t + Ws 2 ) s 3 은 s 2, 에의해영향을받고, s 2 는다시 W 와 s 1 에영향을받음 s 3 에대한 s 2, W, s 1 의변화량을계산해야함 하지만, s 2 는다시 s 1 과 W 에의해영향을받으므로상수로볼수없음 3 E 3 E 3 y' 3 s W y' s 3 w 3 δe 3 δw = E 3 δy 3 δs 3 δy 3 δs 3 δw + δe 3 δy 3 = = + δe 3 δy 3 k=0 δy 3 δs 3 δs 1 δs 3 δs 1 δw + δe 3 δy 3 3 δe3 δy 3 δs 3 δs k δy 3 δs 3 δs k δw 3 δe3 δy 3 δy 3 k=0 3 δs j δs 3 δs j j=k+1 1 δy 3 δs 3 δs 2 δs 3 δs 2 δw δy 3 δs k δw δs 3 δs 3 δs 0 δs 0 δw δs 3 δs 2 δs 2 δs 1 δs 1 δs 0

1. 재현신경망의원리 시간에대한오류역전파과정 δe 3 그라디언트계산과정에서다수의곱셈이필요함 δw = 시간에따른오류역전파과정이생기는이유는같은파라미터 W를매시간단위마다반복해서사용하기때문 3 δe3 δy 3 δy 3 k=0 3 δs j δs 3 δs j j=k+1 1 δs k δw

1. 재현신경망의원리 그라디언트손실발생 δs 3 δs 2 δs 1 = Ws z δs 2 δs 1 δs 3 Ws z 2 Ws z 1 zt = tanh(uxt + Wst 1) 0 활성함수의미분값 tanh: 0~1 시그모이드 : 0~0.25 활성함수의미분값을여러번곱해줄경우그라디언트의값이 0 으로수렴할수있음 시간에대한길이가깊어질수록학습이잘되지않음

1. 재현신경망의원리 그라디언트폭발발생 만약파라미터의값이매우클경우 ( 예 > 100 이상 ) Ws z 3 Ws z 2 Ws 의z 1 식에서매우큰값을계산하게됨 그라디언트값이매우커져서 NaN 이되거나프로그램종료발생 해결책 : 그라디언트클리핑 (Gradient Clipping) 그라디언트손실이더욱문제가됨 그라디언트폭발은프로그램종료에의해알아채기쉽고해결책이분명하지만, 그라디언트손실은발생사실을알기어렵고해결책이불분명

2. GRU, LSTM: 재현신경망의한계를넘어

2. GRU, LSTM: 재현신경망의한계를넘어 GRU(Gated Recurrent Units) 일반적인재현신경망은매시간마다은닉층을다음과같이직접계산함 h t = f(ux t + Wh t-1 ) GRU 는먼저현재입력데이터와은닉층을기반으로업데이트게이트 (Update Gate) 를계산 z t = σ(u (z) x t + W (z) h t-1 ) 리셋게이트 (Reset Gate) 도같은식이지만다른파라미터를사용하여계산 r t = σ(u (r) x t + W (r) h t-1 )

2. GRU, LSTM: 재현신경망의한계를넘어 잠재적은닉유닛계산 업데이트게이트 리셋게이트 z t = σ(u (z) x t + W (z) h t-1 ) r t = σ(u (r) x t + W (r) h t-1 ) 잠재적은닉유닛계산 만약리셋게이트가 0으로설정되면, 이전단계까지계산한은닉유닛을고려하지않음, 그리고현재시간단계에서만계산한정보만반영 잠재적은닉유닛 h' t = tanh(ux t + r t Wh t-1 ) 최종사용할은닉유닛은현재시간에계산한잠재적은닉유닛과이전시간단계까지계산한은닉유닛을업데이트게이트를사용하여조합 h t = z t h t-1 + (1-z t ) h t

2. GRU, LSTM: 재현신경망의한계를넘어 GRU 의은닉유닛계산과정 Final memory Memory (reset) h t-1 h t z t = σ(u (z) x t + W (z) h t-1 ) r t = σ(u (r) x t + W (r) h t-1 ) ~ ~ h ht t-1 h' t = tanh(ux t + r t Wh t-1 ) h t = z t h t-1 + (1-z t ) h t Update gate z t-1 z t Reset gate r t-1 r t Input: x t-1 x t

2. GRU, LSTM: 재현신경망의한계를넘어 GRU 의은닉유닛계산과정 만약리셋게이트 (r t ) 를 0 으로설정하면잠재적은닉유닛계산시이전시간단계의정보를고려하지않음 업데이트게이트 (z t ) 는최종은닉유닛을계산할때, 이전시간의정보를얼마큼반영할지결정 만약 z t 가 1 에가까울경우, 이전시간의정보를거의그대로복사하게됨. ( 그라디언트손실이적어짐 ) z t = σ(u (z) x t + W (z) h t-1 ) r t = σ(u (r) x t + W (r) h t-1 ) h' t = tanh(ux t + r t Wh t-1 ) h t = z t h t-1 + (1-z t ) h t 만약리셋게이트를모두 1 로설정하고, 업데이트게이트를 0 으로설정하면일반적인재현신경망이될수있음

2. GRU, LSTM: 재현신경망의한계를넘어 LSTM (Long Short-Term Memory) LSTM은 GRU보다게이트가하나더많음 ( 출력게이트추가 ) 최종은닉유닛을계산하는과정에서한단계더추가됨 두가지보조메모리가존재 ( 잠재은닉유닛 g t, 셀메모리 c t ) 데이터의개수가더많을경우 LSTM을사용하면더좋은성능을나타낼수있음 GRU z t = σ(u (z) x t + W (z) h t-1 ) r t = σ(u (r) x t + W (r) h t-1 ) h' t = tanh(ux t + r t Wh t-1 ) h t = z t h t-1 + (1-z t ) h t Forget gate LSTM i t = σ(u (i) x t + W (i) h t-1 ) f t = σ(u (f) x t + W (f) h t-1 ) o t = σ(u (o) x t + W (o) h t-1 ) g t = tanh(u (g) x t + W (g) h t-1 ) c t = c t-1 f t + g t i t s t = tanh(c t ) o t Candidate hidden state Input gate Output gate

2. GRU, LSTM: 재현신경망의한계를넘어 ESN (Echo State Networks) 파라미터 U, W는학습하지않음많은수의은닉유닛개수가필요하고유닛들사이는매우섬겨야함 (Sparse) 길이가긴시계열데이터를효율적으로학습할수있음 x(t-1) x(t) x(t+1) h(t-1) h(t) h(t+1) Trainable Weights x(t-1) x(t) x(t+1) Causing vanishing gradient So, Not trained

3. 어떻게기계가글을생성할수있을까

3. 어떻게기계가글을생성할수있을까 언어모델링문제 문제의목표는문장 W 가나타날확률 P(W) 를계산하는것 P(W) 는체인룰을사용하여단어들의조건부확률들의곱으로나타낼수있음 P(W) = P(w(1), w(2), w(3),, w(m)) = M+1 k=1 P(w(k) w 1, w k 1 ) 예를들어, 언어모델은다음문장이나타날확률을계산할수있음 W = He went to buy some chocolate P(W) = P(chocolate He went to buy some) * P(He went to buy some) = P(chocolate He went to buy some) * P(some He went to buy) * P(He went to buy) = 이전단어들의집합이컨텍스트로주어졌을때, 다음단어가등장할확률의연속적인곱셈으로나타남

3. 어떻게기계가글을생성할수있을까 언어모델링문제 재현신경망을사용하면매시간단위마다단어를생성할수있음 t 번째시간단위에서생성된단어는 t+1 번째시간단위의입력이됨 He went to buy some chocolate. 매시간단위마다은닉유닛은이전시간까지생성한단어들의정보를가지고있음 길이가매우긴문장의경우, 의미있는문장을생성하기어려움 예 > The girl whom I met yesterday is very pretty p( x x,..., x ) p( x x,..., x ) p( xt x,..., x ) t 1 1 t t2 1 t1 output hidden output V V V W W W hidden U U U time output hidden 1 t 1 input input input

3. 어떻게기계가글을생성할수있을까 생성된글의예 PANDARUS: Alas, I think he shall be come approached and the day When little srain would be attain'd into being never fed, And who is but a chain and subjects of his death, I should not sleep. Second Senator: They are away this miseries, produced upon my soul, Breaking and strongly should be buried, when I perish The earth and thoughts of many states. DUKE VINCENTIO: Well, your wit is in the care of side and that. Second Lord: They would be ruled after this chamber, and my fair nues begun out of the fact, to be conveyed, Whose noble souls I'll have the heart of the wars. Clown: Come, sir, I will make did behold your worship. 영어 - 셰익스피어의글을대신생성

학습정리

학습정리 지금까지 [ 재현신경망 ] 에대해서살펴보았습니다. 재현신경망은시계열데이터를확률적으로모델링학습가능파라미터 : U, W, V 은닉유닛의계산 : s t = tanh(ux t + Ws t-1 ) / 출력계산 : y t = softmax(vs t ) 활성함수의미분값을여러번곱셈하는과정에서발생 Ws : z 3 Ws z 2 Ws z 1 활성함수의미분값 : tanh(0~1), 시그모이드 (0~0.25) 프로그래머가알아차리기어려워서그라디언트폭발보다더문제가됨 문장 W의확률인 P(W) 는체인룰을사용하여단어들의조건부확률들의곱으로나타낼수있음 M+1 P(W) = P(w(1), w(2), w(3),, w(m)) = P(w(k) w 1, w k 1 ) 재현신경망의 t 번째시간단위에서생성된단어는 t+1 번째시간단위의입력이됨 k=1

인공지능을위한머신러닝알고리즘 11. 메모리네트워크

CONTENTS 1 메모리네트워크 2 종단메모리네트워크 3 나와질의응답을하는메모리네트워크

학습목표 학습목표 메모리네트워크의특징과작동원리를이해할수있다. 메모리네트워크와종단메모리네트워크의차이점을이해할수있다. babi task 를사용한메모리네트워크의언어학습능력을이해할수있다.

1. 메모리네트워크

1. 메모리네트워크 메모리가필요한재현신경망 U, W, V s t = tanh(ux t + Ws t-1 ) y t = softmax(vs t ) 은닉유닛들은연속된벡터공간에서오래전데이터정보를저장 V output hidden W unfold output output hidden time V V V W W W hidden output hidden 길이가매우긴입력데이터가주어진다면은닉유닛벡터는제한된저장공간에많은입력정보를저장해야함 U input U U U input input input

1. 메모리네트워크 예시 : 재현신경망으로 QA 모델만들기 2017 년은앞으로의산업계를완전히바꿔놓을새로운기술이본격자리잡는한해가될것이다. 앞으로업계변화를주도할기술은무엇일까. 두번째는머신러닝 ( 기계학습 ) 을통한창조성강한디자인등장이다. 머신러닝은학습을통해사물을구별하고이를바탕으로새로운것을창조하는단계에이르렀다. 최근 ` 디자인그래프 ` 라불리는프로젝트로구현됐다. QA 모델 문서정보를담고있는은닉벡터 Q. 머신러닝으로새로운디자인을창조하고자하는프로젝트이름은무엇인가? A. 디자인그래프 질의정보를담고있는벡터 W W W hidden hidden hidden W W W W hidden hidden hidden Question Representation U U U U U U X input input input input input input 답변생성

1. 메모리네트워크 해결책 1: 양방향재현신경망 (bi-directional RNN) 앞방향재현신경망 : 원본문장의가장앞의단어부터인코더재현신경망의입력으로주어짐 뒤방향재현신경망 : 원본문장의가장뒤의단어부터인코더재현신경망의입력으로주어짐 인코더재현신경망의은닉유닛은앞방향 / 뒤방향재현신경망의은닉유닛을단순이어붙임 (Concatenation) hidden Hidden' W W W W W W W W W W hidden hidden hidden hidden hidden hidden hidden hidden hidden hidden hidden W W W W W W W W W W hidden hidden hidden hidden hidden U U U U U U U U U U U U U U U U U U input input input input input input input input input

1. 메모리네트워크 해결책 2: 히든유닛벡터를저장 2017년은앞으로의산업계를완전히바꿔놓을새로운기술이본격자리잡는한해가될것이다. 앞으로업계변화를주도할기술은무엇일까. 두번째는머신러닝 ( 기계학습 ) 을통한창조성강한디자인등장이다. 머신러닝은학습을통해사물을구별하고이를바탕으로새로운것을창조하는단계에이르렀다. 최근 `디자인그래프`라불리는프로젝트로구현됐다. RAM 저장 QA 모델 Q. 머신러닝으로새로운디자인을창조하고자하는프로젝트이름은무엇인가? A. 디자인그래프 질의정보를담고있는벡터 W W W hidden hidden hidden W W W W hidden hidden hidden Question representation U U U U U U X input input input input input input 답변생성

1. 메모리네트워크 메모리네트워크 질의응답모듈 스토리 ( 예 > 문장 ) 선택모듈 질의 q 에대해가장적절한답변을포함하고있는스토리 ( 문장 ) s* 를탐색 >> 적절성평가를통해가장높은점수를받은스토리가선택됨 s * arg max G ( q, s ) 스토리선택모듈의출력은질의 q 와선택된스토리 s* 의결합 Ex> 머신러닝으로새로운디자인을창조하고자하는프로젝트이름은무엇인가? 최근 ` 디자인그래프 ` 라불리는프로젝트로구현됐다. s i i 답변선택모듈 가능한답변의집합 A = {a r } 1 k 중가장적합한답변 a* 를선택 * a H sa ar a arg max (, ) r

1. 메모리네트워크 메모리네트워크 질의응답모듈 적절성평가함수 (Scoring Function) G(x,y) [0,1] (H 함수도동일 ) G(x,y) = φ x U GT U G φ y (y) H(x,y) = φ x U HT U H φ y (y) U 는임베딩행렬

1. 메모리네트워크 메모리네트워크의학습 : Triplet Loss 학습되어야하는함수 : G, H s* arg max G( q, s ) s i i * a H sa ar a arg max (, ) r G(x, y) = φ x U G T U G φ y (y) H(x, y) = φ x U H T U H φ y (y) G, H 함수 : 긍정예 (s* 또는 a*) 와부정예 (s i 또는 a i ) 의점수차이를 γ 이상차이가나게만드는것이목표 손실값 ( 에러값 ): max(0, γ G q, s + G q, si ) 긍정예와질의의매치점수가부정예와질의의매치점수보다 γ 이상높을경우손실값은 0 이됨

1. 메모리네트워크 메모리네트워크의학습 : Triplet Loss 훈련데이터전체에대한손실값 : s i max(0, γ G q, s + G q, si ) + a i max(0, γ H [q; s ], a + H [q; s ], ai ) 경사하강법을사용하여파라미터 U G 와 U H 를학습

1. 메모리네트워크 메모리네트워크의의의 신경망 신경망 메모리에저장한뒤유사성비교

2. 종단메모리네트워크

2. 종단메모리네트워크 종단학습모델 (End-to-End Learning Model) 종단학습모델이란 주어진문제를풀기위해서유용한내부적특징표현들을스스로학습하고다양한중간단계의과정들을학습알고리즘하나로통합하여전체적인작업을종단으로수행하는모델 전통적인방법 카메라이미지 자동차검출 보행자검출 주행계획 핸들방향 종단학습 카메라이미지 핸들방향

2. 종단메모리네트워크 종단학습모델 (End-to-End Learning Model) 종단학습모델이란 전통적인방법 카메라이미지 자동차검출 보행자검출 주행계획 핸들방향 종단학습 카메라이미지 핸들방향 기존메모리네트워크의스토리선택모듈 ( 함수 G) 를학습시키기위해서질의에대한적절한스토리정보를사람이추가로작성해야함 (too expensive!) 종단학습메모리네트워크는 (End-to-End Memory Networks) 종단학습방식을사용하여훈련과정에서추가적인감독 (Supervision) 이필요하지않음

2. 종단메모리네트워크 종단메모리네트워크 모든 {x i } 는임베딩행렬 C 를통해메모리벡터 {c i } 로변형이됨 o pic Weighted Sum i i Embedding C c i Output aˆ Softmax( W( o u)) 문장 {x i } p i W Softmax Predicted Answer a T p Softmax( u m ) i i Embedding A m i Input Gradient Descent 에의한모델파라미터 A, B, C 학습 모든 {x i } 는임베딩행렬 A 를통해메모리벡터 {m i } 로변형이됨 Inner Product Embedding B Question q

2. 종단메모리네트워크 재현네트워크같은특성 질의와관련된스토리가여러개일경우, K 번메모리접근연산 C 3 A 3 o 3 out 3 in 3 u 3 마지막메모리층의출력과입력을조합 3 3 aˆ Softmax( W( o u )) W softmax 문장 {x i } C 2 A 2 o 2 out 2 in 2 u 2 Predicted Answer a 임베딩행렬 A 와 C 를모든층에걸쳐파라미터를공유함 (A 1 =A 2 = =A K, C 1 =C 2 = C K ) C 1 A 1 o 1 out 1 in 1 u 1 u 1 u o k k k question q

3. 나와질의응답을하는메모리네트워크

3. 나와질의응답을하는메모리네트워크 babi Task 2015 년 Facebook AI 연구소에서제작 모델의언어이해및추론능력을테스트 예전에는언어이해 / 추론문제를머신러닝으로접근하기보다지식공학의형태로접근하였으나, 신경망을활용한해결방법들이제시되고있음 1 John went to the kitchen. 2 John picked up the milk. 3 John travelled to the office. 4 John left the milk there. 5 John went to the bathroom. Where is the milk now? A: office 2 3 4 Where is John? A: bathroom 5 20 개의테스트로구성되며, 각테스트는별도의고유한추론능력을요구함 1,000 개의훈련데이터쌍 / 1,000 개의테스트데이터쌍으로구성 Supporting fact 라고불리는답에대한근거문장정보가표시되어있지만, 이러한감독정보를최소한으로사용하는모델이선호됨

3. 나와질의응답을하는메모리네트워크 babi Task 종류 Supporting fact 한개 Supporting fact 두개 Supporting fact 세개 두개객체의관계 세개객체의관계 예 / 아니오 개수세기 객체집합 부정표현 불확실한지식 공동참조 (coreference) 시간추론 연역추론 귀납추론 장소추론 크기추론 길찾기 의도추론 Sheep are afraid of wolves. Cats are afraid of dogs. Mice are afraid of cats. 연역추론문제의예 Gertrude is a sheep. What is Gertrude afraid of? A:wolves Daniel picked up the football. Daniel dropped the football. Daniel got the milk. Daniel took the apple. 개수세기문제의예 How many objects is Daniel holding? A: two Lily is a swan. Lily is white. Bernhard is green. Greg is a swan. What color is Greg? A:white The kitchen is north of the hallway. The bathroom is west of the bedroom. The den is east of the hallway. 길찾기문제의예 The office is south of the bedroom. How do you go from den to kitchen? A: west, north How do you go from office to bathroom? A: north, west 귀납추론문제의예

3. 나와질의응답을하는메모리네트워크 메모리네트워크를통한질의응답 입력 : 문장 supporting fact 선택함수 정답선택함수

3. 나와질의응답을하는메모리네트워크 babi Task 에대한메모리네트워크의성능 ngram LSTM SVM MemNN 성공여부 (p>95) 멀티태스크학습 1. Supporting fact 한개 36 50 99 100 성공 100 2. Supporting fact 두개 2 20 74 100 성공 100 3. Supporting fact 세개 7 20 17 100 성공 98 4, 두개객체의관계 50 61 98 100 성공 80 5. 세개객체의관계 20 70 83 98 성공 99 6. 예 / 아니오 49 48 99 100 성공 100 7. 개수세기 52 49 69 85 실패 86 8. 객체집합 40 45 70 91 실패 93 9. 부정표현 62 64 100 100 성공 100 10. 불확실한지식 45 44 99 98 성공 98 11. 공동참조 (Coreference) 29 72 100 100 성공 100 12. Conjunction 9 74 96 100 성공 100 13. 복합참조 26 94 99 100 성공 100 14. 시간추론 19 27 99 99 성공 99 15. 연역추론 20 21 96 100 성공 100 16. 귀납추론 43 23 24 100 성공 94 17. 장소추론 46 51 61 65 실패 72 18. 크기추론 52 52 62 95 성공 93 19. 길찾기 0 8 49 36 실패 19 20. 의도추론 76 91 95 100 성공 100 평균 34 49 79 93 92

3. 어떻게기계가글을생성할수있을까 질의응답 + 대화문제 1. 영화에대한단순질의응답 2. 영화추천 What movies are about open source? Revolution OS Ruggero Raimondi appears in which movies? Carmen Can you name a film directed by Stuart Ortiz? Grave Enco unters 3. 영화에대한질의응답 + 추천 I loved Billy Madison, Blades of Glory, Bio-Dome, Clue, and Happy Gilmore. I'm looking for a Music movie. School of Rock What else is that about? Music, Musical, Jack Black, school, teacher, Richard Linklater, rock, guitar Some movies I like are Heat, Kids, Fight Club, Shaun of the Dead, The Av engers, Skyfall, and Jurassic Park. Can you suggest something else I mi ght like? Ocean's Eleven 4. Reddit 대화 I think the Terminator movies really suck, I mean the first one was kinda ok, but after that they got really cheesy. Even the second one which people somehow think is great. And after that... forgeddabotit. C mon the second one was still pretty cool.. Arny was still so badass, as was Sararah Connor s character.. and the way they blended real action and effects was perhaps the last of its kind...

3. 어떻게기계가글을생성할수있을까 질의응답 + 대화데이터에대한메모리네트워크의성능 메모리를활용한모델이우수한성능을보임 단순질의응답 영화추천 질의응답 + 추천 Reddit 대화 SVD N/A 19.2 N/A N/A IR N/A N/A N/A 23.7 LSTM 6.5 27.1 19.9 11.8 Supervised embeddings 50.9 29.2 65.9 27.6 MemN2N 79.3 28.6 81.7 29.2

3. 나와질의응답을하는메모리네트워크 기계학습알고리즘의메모리사용에관한이슈들 입력으로들어오는정보중무엇을저장할지말지어떻게결정할수있을까? 메모리에저장되는지식을어떻게표현해야할까? 메모리에는여러종류 ( 배열, 스택구조등 ) 가있는데이들을어떻게활용할수있을까? 메모리에저장되는정보의크기가매우클때, 어떻게효율적으로탐색할수있을까? 계층적메모리를어떻게설계할수있을까? 합성함수의사용과같은계층적추론을어떻게할수있을까? 정보의손실 ( 망각, unlearning) 을어떻게구현할수있을까? 추론모델을평가하는가장좋은방법은무엇일까? 어떤문제가가장좋은평가가될수있을까? 사람, 동물의기억행위에서얻을수있는영감에는무엇이있을까?

학습정리

학습정리 지금까지 [ 메모리네트워크 ] 에대해서살펴보았습니다. 기존재현신경망의단점 : 은닉유닛벡터가제한된공간에많은입력정보를저장해야함메모리네트워크 : 재현신경망의저장공간한계문제를극복하기위해제안되었으며 * 스토리선택모듈 G와답선택모듈 H로s * 구성됨 arg max G( q, s ) a arg max H ( s, a ) s i i a r a r 종단학습모델의필요성 : 기존메모리네트워크는스토리선택모듈 G 를학습시키기위해서질의에대한적절한스토리정보를사람이추가로작성해야함여러번의메모리접근을위해 파라미터공유 라는재현신경망의특징을가짐 babi Task: 모델의언어이해및추론능력을 20 가지로나누어테스트하려는문제기존룰기반방식에서메모리네트워크를활용하는머신러닝방식의해결책이제시됨

인공지능을위한머신러닝알고리즘 12. 딥러닝응용사례

CONTENTS 1 구글번역기는어떤원리일까? 2 메모리와주의집중기작 3 이미지를자동으로설명해주는기계

학습목표 학습목표 딥러닝을활용한자동번역기의원리를이해할수있다. 메모리와주의집중기작이어떻게딥러닝의문제를해결했는지이해할수있다. 딥러닝을활용한언어와시각의결합을이해할수있다.

1. 구글번역기는어떤원리일까?

1. 구글번역기는어떤원리일까? 기존통계번역의문제점 과도한메모리사용 처음정렬정보에따라번역이달라짐 단어 / 구문번역모델은의미가비슷한단어나구문을고려하지않고, 표면적인동시등장횟수만고려 NULL Mr. Speaker, my question is directed to the Minister of Transport 단어정렬 Monsieur le Orateur, ma question se adresse a le minister charge de les transports NULL Mr. Speaker, my question is directed to the Minister of Transport 구문정렬 Monsieur le Orateur, ma question se adresse a le minister charge de les transports

1. 구글번역기는어떤원리일까? 한개의신경망을이용한문장모델링 재현신경망 (Recurrent Neural Networks) 은문장 X 가나타날확률 P(X) 을모델링 연속된데이터들의집합 X ( x1, x2,... x T ) X 가나타날확률 T p( X ) p( x, x,..., x ) p( x ) p( x x ) p( x x, x )... p( x x,..., x ) p( x x ) 1 2 T 1 2 1 3 1 2 T 1 T 1 t t t1 재현신경망은매시간단위 t 마다다음을계산 p( x x ) g( h ) t t t1 h ( x, h ) is non-linear activation function t1 t1 t2 은닉층 = 컨텍스트층 = 히스토리층 역전파를사용하여모델파라미터학습

1. 구글번역기는어떤원리일까? 두개의신경망을이용한기계번역 두개의재현신경망이문장 X 가주어졌을때, Y 가나타날확률을모델링 P( y, y,... y x, x,..., x ) 1 2 T 1 2 b T a 인코더재현신경망 재현신경망의은닉층 h 는컨텍스트 ( 히스토리 ) 정보를저장하고있음 h Ta 는전체입력문장의정보를종합적으로담고있음 hi ( hi 1, xi ) 디코더재현신경망 각시간단위마다, 재현신경망은 h Ta ( 입력문장의종합적정보 ), y t-1 ( 이전시간단계에서생성된단어 ), Z t-1 ( 디코더재현신경망의은닉유닛정보 ) 를기반으로다음단어 y t 를예측 zt '( ht, y 1, 1) a t zt p( y y, X ) g( z ) t t t1

1. 구글번역기는어떤원리일까? 두개의신경망을이용한기계번역 P( y, y,... y x, x,..., x ) 1 2 T 1 2 b T a 2 2 디코더재현신경망은매시간단위마다 h Ta 와이전시간까지생성한단어정보를기반으로새로운단어생성 z t = f(u d y t-1 + W d z t-1 +Ch Ta ) y t-1 = softmax(vz t ) https://devblogs.nvidia.com/parallelforall/introduction-neural-machine-translation-gpus-part-2/ 1 1 인코더재현신경망은입력문장의단어들을모두인코딩한은닉벡터 h Ta 를디코더재현신경망에넘겨줌 h t = f(u e x t + W e h t-1 )

1. 구글번역기는어떤원리일까? 디코더재현신경망의모습 <S> y 0 y 1 y b y B = </S> z 0 z 1 z b z b h Ta h Ta h Ta h Ta y b 는사전에있는전체단어중확률이가장높은단어가샘플링됨 Softmax 함수에의해계산 단어 y b 는 b+1 번째시간에서입력이됨 디코더재현신경망은이미다른데이터로학습이완료된 (pre-trained) 재현신경망의파라미터를초기파라미터로설정할수있음

1. 구글번역기는어떤원리일까? 신경망을이용한기계번역의특징 경사하강법을이용하여입력층부터출력층까지한꺼번에종단학습가능 인코더와디코더재현신경망은원본문장과타겟문장을분산표현으로나타낼수있음 번역문제를의미적공간 ( 은닉유닛공간 ) 을사용하여학습할수있음 기존통계적기계학습의방식과달리미리정의된단어정렬방식을사용하지않음 개념적으로이해하기쉬운디코딩방식사용, 음성인식과비슷한크기의복잡도 통계적기계학습에비해적은모델파라미터개수사용 더적은메모리사용

2. 메모리와주의집중기작

2. 메모리와주의집중기작 문제점 : 제한된은닉유닛의크기 인코더재현신경망의가장마지막시간의은닉유닛 h Ta 가입력문장의모든정보를담고있어야함 입력의길이 Ta 가길어질경우인코딩해야할정보가많아짐 최근에입력된정보는잘기억하지만, 오래전에입력된정보는손실될수있음 번역에서는큰문제 주로사용되는은닉유닛의크기 : 4096

2. 메모리와주의집중기작 해결책 : 양방향재현신경망 (bi-directional RNN) 앞방향재현신경망 : 원본문장의가장앞의단어부터인코더재현신경망의입력으로주어짐 뒤방향재현신경망 : 원본문장의가장뒤의단어부터인코더재현신경망의입력으로주어짐 인코더재현신경망의은닉유닛은앞방향 / 뒤방향재현신경망의은닉유닛을단순이어붙임 W (concatenation) W W W W W W W W W hidden Hidden' hidden hidden hidden hidden hidden hidden hidden W W W W W W W W W W hidden hidden hidden hidden hidden hidden hidden hidden hidden U U U U U U U U U U U U U U U U U U input input input input input input input input input

2. 메모리와주의집중기작 문제점 : 메모리와주의집중기작 인코더재현신경망에서양방향재현신경망에서계산한은닉유닛들을메모리에저장 입력문장의전체길이만큼의은닉유닛개수가저장됨 오래전에입력으로주어진단어의정보도갖고있음

2. 메모리와주의집중기작 문제점 : 메모리와주의집중기작 디코더재현신경망의입력으로인코더재현신경망은닉유닛들의선형조합이사용됨 인코더신경망의각은닉유닛은입력문장에서한개의단어정보를인코딩 은닉유닛들의가중치의합 : 1 번역기에서출력되는단어들은가중치에따라입력으로주어진단어들을선별적으로고려 ( 주의집중 ) https://devblogs.nvidia.com/parallelforall/introduction-neural-machine-translation-gpus-part-3/

2. 메모리와주의집중기작 문제점 : 메모리와주의집중기작 <S> y 0 y 1 y b y B 출력문장 s 0 s 1 s b s B 디코더재현신경망은닉유닛 z t = W tanh(v z s t-1 + U z h t ) a a,1:a C a = a aj h j 입력문장정보가인코딩된새로운벡터 s t-1 z 0 z 1 z a z A 가중치 h 0 h 1 h a h A 인코더재현신경망은닉유닛

2. 메모리와주의집중기작 구글의자동번역기 (GNMT) (2016.11) 재현신경망대신 GRU 사용 인코더용 8층 GRU (2층 GRU는역방향 ) 디코더용 8층 GRU 주의집중기작을위해 3 층짜리신경망사용 8 layers Encoder LSTM Outputs Softmax GRU8 GRU8 GRU4 GRU3 GRU2 GRU1 Attention GRU4 GRU3 GRU2 GRU1 Inputs

2. 메모리와주의집중기작 구글번역기의발전 ( 통계모델사용시 ) However, this invention is not only for the Chinese. Mr.Zander also hopes to sell the charger to countries that have a poor electiricity supply. For example, farmers in Senegal use cell phones to check on crop prices, and health workers in South Africa use their phones to check patient records. 그러나, 이발명품은중국인을위한것이아닙니다. mr. Zander 는또한전기공급이부족한국가에충전기를판매하기를희망하고있습니다. 통계모델사용시 딥러닝사용시 예를들어세네갈의농민들은휴대전화를사용하여작물가격을확인하고 South Arica 의의료종사자는전화기를사용하여환자기록을확인합니다.

2. 메모리와주의집중기작 자동번역기의성능측정 (Precision) 정답번역문장 : The gunman was shot to death by the police. 계산된번역문장 : - The gunman was shot kill. (4/5) - Wounded police jaya of (1/4) - The gunman was shot dead by the police. (7/8) - The gunman arrested by police kill. (4/6) - The gunmen were killed. (1/4) - The gunman was shot to death by the police. (9/9) - The ringer is killed by the police. (4/7) - Police killed the gunman. (3/4) 초록색 = 4-gram 이상일치빨강색 = 일치하지않음

2. 메모리와주의집중기작 자동번역기의성능측정 BiLingual Evaluation Understudy, BLEU (2002년 IBM의 SMT 그룹에서제안 ) 기계번역에서널리사용됨 BLEU 계산방식 : p n : 수정된 n-gram precision ( 일치하는중복단어무시 ) p 1, p 2,.., p n 의기하평균 BP: Brevity penalty (c= 번역된문장의길이, r= 정답문장의길이 ) 짧게생성된번역문장일수록높은점수를얻게되는현상방지 BLEU = BP ( N n=1 p n ) 1 N BP = 1 r/c if if c c > r r 주로, N=4 를사용

2. 메모리와주의집중기작 자동번역기의성능측정 계산된번역문장 : The gunman was shot dead by police. 정답 1: The gunman was shot to death by the police. 정답 2: The gunman was shot to death by the police. 정답 3: Police killed the gunman. 정답 4: The gunman was shot dead by the police. Precision: p 1 =1.0(8/8), p 2 =0.86(6/7), p 3 =0.67(4/6), p 4 =0.6 (3/5) Brevity Penalty: c=8, r=10, BP=0.8 최종점수 : 4 1 0.86 0.67 0.6 0.8 = 0.613

3. 이미지를자동으로설명해주는기계

3. 이미지를자동으로설명해주는기계 신경망을이용한이미지번역 한개의컨볼루션신경망과재현신경망이이미지 I가주어졌을때, 설명문 Y가나타날확률을모델링 P( y, y,... y I) 인코더컨볼루션신경망 1 2 이미지를여러등분 I=(i 1, i 2,, i a,, i A ) 으로나눈뒤컨볼루션신경망으로부분이미지 i a 를인코딩 인코딩된벡터들을인코더재현신경망의은닉유닛처럼사용 ( 매시간단위마다부분이미지 i a 가입력됨 ) 디코더재현신경망 h a T b CNN( i ) 기계번역세팅과같이, 각시간단위마다, 재현신경망은 h a ( 입력이미지의정보 ), y t-1 ( 이전시간단계에서생성된단어 ), z t-1 ( 디코더재현신경망의은닉유닛정보 ) 를기반으로다음단어 y t 를예측 a z ( h, y, z ) t ' a t 1 t 1 p( y y, X ) g( z ) t t t1

3. 이미지를자동으로설명해주는기계 신경망을이용한이미지번역 설명문출력 주의집중기작 이미지인코딩 이미지분할 https://devblogs.nvidia.com/parallelforall/introduction-neural-machine-translation-gpus-part-3/

3. 이미지를자동으로설명해주는기계 이미지번역의예시

학습정리

학습정리 지금까지 [ 딥러닝응용사례 ] 에대해서살펴보았습니다. 인코더 - 디코더모델사용인코더재현신경망 : 원본문장을연속된벡터공간에임베딩시킴디코더재현신경망 : 원본문장의정보 h Ta 와이전단계의출력단어 y t-1, 디코더의은닉유닛 s t-1 을기반으로다음단어 y t 예측 재현신경망의은닉유닛의크기가한정되어있기때문에오래전입력으로들어온단어의정보가손실됨인코더재현신경망의은닉유닛들을메모리에저장하고선형조합 ( 주의집중기작 ) 이미지를여러등분으로나눈뒤, 부분이미지들을컨볼루션신경망으로인코딩시킴인코딩된벡터들은순서대로디코더재현신경망에입력됨

인공지능을위한머신러닝알고리즘 13. Weka 를이용한머신러닝실습

CONTENTS 1 Weka 소개 2 Weka 로붓꽃 (iris) 분류하기

학습목표 학습목표 Weka 를사용하여데이터를전처리하고분석할수있다. Weka 로분류를하기위해알고리즘의파라미터를설정할수있다. Weka 로부터얻은분류결과를해석할수있다.

1. Weka 소개

1. Weka 소개 Weka 란? Weka(Waikato Environment for Knowledge Analysis) 뉴질랜드의 Waikato 대학교컴퓨터공학부에서제작 Weka는뉴질랜드에서만발견되는새이기도함 대표적인기계학습알고리즘모음, 데이터마이닝도구

1. Weka 소개 Weka 의특징 Weka 의주요기능 데이터전처리, 특징값선별 (Feature Selection) 군집화, 데이터가시화 분류, 회귀분석, 시계열예측 소프트웨어특성 무료및소스공개소프트웨어 (free & open source GNU General Public License) Java 로구현, 다양한플랫폼에서실행가능

1. Weka 소개 Weka 를구성하는인터페이스 Explorer : 다양한분석작업을한단계씩분석수행및결과확인가능, 일반적으로가장먼저실행 Experimenter: 분류및회귀분석을일괄처리. 결과비교분석 - 다양한알고리즘및파라미터설정 - 여러데이터알고리즘조합동시분석 - 분석모델간통계적비교 - 대규모통계적실험수행 KnowledgeFlow: 데이터처리과정의주요모듈을그래프로가시화하여구성 Simple CLI: 다른인터페이스를컨트롤하는스크립트입력창 Weka 의모든기능을명령어로수행가능

2. Weka 로붓꽃 (iris) 분류하기

2. Weka 로붓꽃 (iris) 분류하기 기계학습 패턴분류절차 피처정의 (features or attributes) sepal length, sepal width, petal length, petal width 클래스 (class) label: 붓꽃의세아종을예측목표변수로설정 setosa, versicolor, or virginica 샘플수집및데이터셋구성 붓꽃의각아종별로 50 개체의피처를측정 데이터셋 : 2 차원표형태 : 150 samples (or instances) * 5 attributes

2. Weka 로붓꽃 (iris) 분류하기 기계학습 패턴분류절차 패턴분류수행 기계학습알고리즘을활용 예 > 결정트리, 랜덤포레스트, SVM, 다층퍼셉트론 패턴분류성능평가 패턴분류모델의상대적비교과정 ( 알고리즘 + 파라미터설정 ) 다양한평가기준을적용 : 분류정확도, precision + recall 등

2. Weka 로붓꽃 (iris) 분류하기 피처정의 붓꽃 (iris) Iris setosa Iris versicolor Iris virginica 분류에사용할꽃의특징 특징기준판별 꽃받침 (Sepal) 꽃잎 (Petal) 길이 (Length) 너비 (Width) 2.5, 9.4, 1.0, 0.5, Iris-setosa 1.2, 9.2, 1.2, 0.2, Iris-setosa 1.9, 9.0, 1.4, 0.4, Iris-setosa 7.2, 1.2, 3.4, 9.1, Iris-versicolor

2. Weka 로붓꽃 (iris) 분류하기 데이터셋 파일열기 Weka 폴더 data 폴더에서 iris.arff 파일선택

2. Weka 로붓꽃 (iris) 분류하기 데이터셋 - Weka 의데이터형식 (.arff) @RELATION iris Dataset name Attribute name Attribute type 헤더 데이터 (csv format) @ATTRIBUTE sepallength REAL @ATTRIBUTE sepalwidth REAL @ATTRIBUTE petallength REAL @ATTRIBUTE petalwidth REAL @ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica} @DATA 5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-setosa 4.7,3.2,1.3,0.2,Iris-setosa 4.6,3.1,1.5,0.2,Iris-setosa 5.0,3.6,1.4,0.2,Iris-setosa 5.4,3.9,1.7,0.4,Iris-setosa 4.6,3.4,1.4,0.3,Iris-setosa Excel 을이용하여 csv 파일생성후, 헤더만추가하면쉽게 arff 포맷의파일생성가능

2. Weka 로붓꽃 (iris) 분류하기 데이터셋구성 - 데이터전처리 예측모델학습및평가를위해준비하는데이터집합을모델에입력하기전에다양한처리를하여데이터의품질을향상시키는과정 Data cleaning Data integration Data transformation Data reduction 5.1, 3.5, 1.4, 0.2, Iris-setosa 4.2, 1.5, 1.3, Iris-setosa T1 T2 T2000 T1 T2 T450

2. Weka 로붓꽃 (iris) 분류하기 데이터셋구성 전처리 (1) 적용할 filter 를선택 특징 (attribute) 데이터차원축소 weka.filters.supervised.attribute.attributeselection 데이터변형및데이터이산화 weka.filters.supervised.attribute.discretize weka.filters.unsupervised.attribute.normalize, Standardize 적용가능한데이터전처리기법 선택후 apply 버튼클릭

2. Weka 로붓꽃 (iris) 분류하기 데이터셋구성 전처리 (1) 데이터인스턴스 데이터개수증대 weka.filters.supervised.instance.resample weka.filters.supervised.instance.smote 적용가능한데이터전처리기법 선택후 apply 버튼클릭

2. Weka 로붓꽃 (iris) 분류하기 데이터셋구성 전처리 (2) 특징값별기초적통계분석 (Selected Attribute) 모든특징값을대상으로클래스레이블분포가시화 특징값삭제 (Remove Attributes)

2. Weka 로붓꽃 (iris) 분류하기 패턴분류수행 - 알고리즘선택 J48 (c4.5 의 Java 구현버전 ) 학습결과모델에서분류규칙을 트리 형태로얻을수있음 Weka 에서찾아가기 : classifiers-trees-j48 랜덤포레스트 결정트리의앙상블모델 특징들을무작위로선택하여결정트리들이생성됨 분류과정에서각트리는투표를하며가장많은표를얻은클래스가선택됨 Weka 에서찾아가기 : classifiers-trees-randomforest 다층퍼셉트론 실용적으로매우폭넓게쓰이는대표적분류알고리즘 Weka 에서찾아가기 : classifiers-functions-multilayerperceptron

2. Weka 로붓꽃 (iris) 분류하기 분류알고리즘의파라미터설정 파라미터설정 = 자동차튜닝 많은경험또는시행착오필요 파라미터설정에따라동일한알고리즘에서도최악에서최고의성능을모두보일수도있음 결정트리의주요파라미터 (J48, SimpleCart in Weka) 트리의크기에직접적영향을주는파라미터 : confidencefactor, pruning, minnumobj 등 Random Forest 의주요파라미터 (RandomForest in Weka) numtrees: 학습및예측에참여할 tree 의수를지정. 대체로많을수록좋으나, overfitting 에주의해야함 참고 : 신경망의주요파라미터 (MultilayerPerceptron in Weka) 구조관련 : hiddenlayers, 학습과정관련 : learningrate, momentum, trainingtime (epoch), seed

2. Weka 로붓꽃 (iris) 분류하기 패턴분류성능평가 평가를위한데이터집합세팅 다양한평가방법제공

2. Weka 로붓꽃 (iris) 분류하기 패턴분류성능평가 실행정보 분류모델 ( 훈련데이터학습모델 ) 평가결과 - 종합적요약 - 클래스별성능 - Confusion Matrix 결과는모델에따라변할수있음

학습정리

학습정리 지금까지 [Weka 를이용한머신러닝실습 ] 에대해서살펴보았습니다. 데이터전처리 : 특징값선별 (feature selection) / 제거, 데이터리샘플링데이터분류 : 결정트리, 랜덤포레스트, 다층퍼셉트론등다양한알고리즘선택회귀분석및시계열예측 헤더 : relation, attributes, data 데이터 : csv format Excel 을이용하여 csv 파일생성후, 헤더를추가하여 arff 파일생성 테스트옵션 : cross validation 결과해석 : confusion matrix, classification accuracy, precision / recall

인공지능을위한머신러닝알고리즘 14. Theano 를통한머신러닝구현

CONTENTS 1 Theano 란? 2 Theano 로 GPU 프로그래밍실습하기 3 Theano 로신경망구현하기

학습목표 학습목표 Theano 의기본적인문법과 Symbolic Expression 을이해할수있다. Theano 의 GPU 연산과정을이해할수있다. Theano 를사용하여신경망을구현해보고실행할수있다.

1. Theano 란?

1. Theano 란? Theano 의특징 LISA Lab(https://mila.umontreal.ca/en/) 에서만든 Python 기반오픈소스 Package 장점 http://deeplearning.net/software/theano/ Symbolic 연산철학으로간결하고빠르게모델구현가능 Symbolic 미분이가능하므로역전파등을직접구현할필요가없음 동일한코드를 CPU 와 GPU 에서모두사용가능 Python 기반이므로, numpy, scipy 등다양한 Python 패키지와의연동할수있음 단점 복잡하고알기어려운에러메시지

1. Theano 란? Symbolic expression 정의 - (1) scalar from theano import tensor as T x = T.scalar() y = T.scalar() z = x + y w = z * x a = T.sqrt(w) b = T.exp(a) c = a ** b d = T.log(c) Symbolic 변수정의 Symbolic Expression Symbolic Expression (a = w 2 ) Symbolic Expression (b = e a ) Symbolic Expression (c = a b ) Symbolic Expression (d = ln(c))

1. Theano 란? Symbolic expression 정의 - (2) vector & matrix from theano import tensor as T x = T.matrix() y = T.matrix() a = T.vector() b = T.vector() c = T.dot(x, y) d = T.dot(x, a) e = T.dot(a, b) f = a * b h = e + f Symbolic 변수정의 Symbolic Expression (matrix-matrix product) Symbolic Expression (matrix-vector product) Symbolic Expression (vector-vector product) Symbolic Expression (element-wise product) Symbolic Expression (broadcasting)

1. Theano 란? Symbolic expression 정의 - (3) theano function >>> from theano import tensor as T >>> x = T.scalar() >>> y = T.scalar() >>> from theano import function >>> f = function([x, y], x + y) >>> f(1., 2.) array(3.0) 컴파일 첫번째인수는입력 symbolic 변수들의리스트두번째인수는출력 symbolic 변수 scalar 를사용하므로 scalar 값입력 출력된 scalar 값

1. Theano 란? Symbolic 미분연산 Y= -ln(3x 2 +5x) 의미분 >>> from theano import tensor as T >>> x = T.scalar() >>> y = -1*T.log(3*x**2+5*x) >>> y_prime = T.grad(y,x) >>> from theano import function >>> f = function([x], y_prime) >>> f(1) array(-1.375, dtype=float32) Symbolic 미분 자동으로 Y=-ln(3x 2 +5x) 의도함수계산 복잡한역전파계산을직접구현할필요가없음

2. Theano 로 GPU 프로그래밍실습하기

2. Theano 로 GPU 프로그래밍실습하기 shared variables shared variable 은데이터를 RAM 에서 GPU 의 VRAM 로옮기는명령어 >>> from theano import shared >>> x = shared(0.) >>> x.get_value() 0.0 CPU GPU RAM Bottle neck VRAM

2. Theano 로 GPU 프로그래밍실습하기 givens symbolic 변수에 shared 데이터를대입 Theano 함수 f = x + y 가존재할때, symbolic 변수 x, y 의값 1, 2 를설정하는방법 >>> f = function([x, y], x + y) >>> f(1., 2.) array(3.0) RAM VRAM GPU 연산 >>> x_val = theano.shared(1) VRAM GPU 연산 >>> y_val = theano.shared(2) >>> f = function([x, y], x + y, givens = [(x, x_val), (y, y_val)]) >>> f() CPU RAM Bottle neck GPU VRAM

2. Theano 로 GPU 프로그래밍실습하기 updates GPU 연산결과를이용해 shared 데이터를수정 >>> x_val = theano.shared(1) >>> f = function([], x_val, updates = (x_val, x_val+1)) >>> f() 실행시 RAM 을거치지않고 GPU 내에서 x_val 을 1 씩증가시킴 CPU RAM Bottle neck GPU VRAM

2. Theano 로 GPU 프로그래밍실습하기 shared variable 예제 >>> from theano import shared >>> x = shared(0.) >>> from theano.compat.python2x import OrderedDict >>> updates = OrderedDict() >>> updates[x] = x + 1 >>> f = function([], updates=updates) >>> f() [] >>> x.get_value() 1.0 >>> x.set_value(100.) >>> f() [] >>> x.get_value() 101.0

3. Theano 로신경망구현하기

3. Theano 로신경망구현하기 신경망코드 출력 : 0 또는 1 import numpy import theano import theano.tensor as T rng = numpy.random N = 400 feats = 784 데이터샘플개수 특징차원크기 D = (rng.randn(n, feats).astype(numpy.float32), rng.randint(size = N, low=0, high=2).astype(numpy.float32)) feats = 784 입력 : 784 차원벡터 0.12 0.49 1.65-1.45 2.12 0.21-2.12 0.23 1 D = {X,Y} N = 400 N = 400 1 0 0 1 1 각특징값들은평균 0, 분산 1 인가우시안분포에서무작위로샘플링 레이블

3. Theano 로신경망구현하기 신경망코드 training_steps = 10,000 x = T.matrix( x ) y = T.vector( y ) w_1 = theano.shared(rng.randn(784, 300), name = w1 ) b_1 = theano.shared(numpy.zeros(300,), name = b1 ) w_2 = theano.shared(rng.randn(300,), name = w2 ) b_2 = theano.shared(0., name = b2 ) w_2 b_2 은닉 : 300 차원벡터 w_1 b_1 출력 : 0 또는 1 입력 : 784 차원벡터 print w_1.get_value(), b_1.get_value() print w_2.get_value(), b_2.get_value() 300 0.22-1.21 2.01 300 300 1 Parameters θ 784 0 0 0 0 0 0 0 b_1 w_2 b_2 w_1

3. Theano 로신경망구현하기 신경망코드 p_1 = T.nnet.sigmoid(T.dot(T.nnet.sigmoid(T.dot(x, w_1)+b_1), w_2)+b_2) prediction = p_1 > 0.5 xent = -y*t.log(p_1) - (1-y)*T.log(1-p_1) cost = xent.mean() + 0.01 * ((w_1**2).sum() + (w_2**2).sum() + (b_1**2).sum() + (b_2**2).sum()) gw_1, gb_1, gw_2, gb_2 = T.grad(cost, [w_1, b_1, w_2, b_2]) prediction Cross entropy 타겟이 1 일확률 L2 regularization 를적용한손실함수 손실함수에대한파라미터의변화량 p_1 = sigmoid(h*w_2 + b_2) h = sigmoid(x*w_1 + b_1) 은닉 : 300 차원벡터 입력 : 784 차원벡터

3. Theano 로신경망구현하기 신경망코드 train = theano.function(inputs = [x, y], 컴파일 outputs = [prediction, xent], updates = {w_1 : w_1-0.1*gw_1, b_1 : b_1-0.1*gb_1, w_2 : w_2-0.1*gw_2, b_2 : b_2-0.1*gb_2}) predict = theano.function(inputs = [x], outputs = prediction) 예측함수 학습률 :0.1 prediction backpropagation

3. Theano 로신경망구현하기 신경망코드 for i in range(training_steps): pred, err = train(d[0], D[1]) 훈련 print Final model: print w_1.get_value(), b_1.get_value() print w_2.get_value(), b_2.get_value() print target values for D:, D[1] print predictions on D:, predict(d[0]) 예측 Output Input:D

학습정리

학습정리 지금까지 [Theano 를통한머신러닝구현 ] 에대해서살펴보았습니다. symbolic 연산철학으로간결하고빠르게모델구현가능 symbolic 미분이가능하므로역전파등을직접구현할필요가없음 (grad 함수사용 ) x = T.scalar() y = -1*T.log(3*x**2+5*x) y_prime = T.grad(y,x) shared variables: RAM 에서 GPU VRAM 으로데이터를옮겨줌 givens: symbolic 변수에 shared variables 를대입 updates: GPU 연산결과를이용해 shared variables 의값을수정 Theano 를사용하여머신러닝알고리즘을구현할경우, GPU 를사용하여빠른학습가능간결한코드작성가능, 미분의자동계산으로프로그래머의일을줄여줌

인공지능을위한머신러닝알고리즘 15. Keras 를통한딥러닝구현및실습

CONTENTS 1 Keras 란? 2 Keras 로컨볼루션신경망구현하기

학습목표 학습목표 Keras 라이브러리의특징과기본적인함수들을사용할수있다. Keras 로컨볼루션신경망을구현할수있다. Keras 를사용하여이미지를분석할수있다.

1. Keras 란?

1. Keras 란? Keras 의특징 Keras의기본아이디어는모델의층들과그것들의입력과출력에있음 Keras를사용하여모델구축하기 1. 입력 / 출력데이터를준비 2. 첫번째층을생성하고입력데이터에맞게설정해줌 3. 마지막층을생성하고출력데이터에맞게설정해줌 4. 입력층과출력층사이에원하는레이어를생성해줌

1. Keras 란? 층 (layer) Keras 는미리구현되어있는다양한층들을제공해줌 : 다층퍼셉트론에서사용되는 Dense 층 Dense keras.layers.core.dense(output_dim, init='glorot_uniform', activation=none, weights=none, W_regularizer=None, b_regularizer=none, activity_regularizer=none, W_constraint=None, b_constraint=none, bias=true, input_dim=none) 재현층, LSTM, GRU, etc Reccurent keras.layers.recurrent.recurrent(weights=none, return_sequences=false, go_backwards=false, stateful=false, unroll=false, consume_less='cpu', input_dim=none, input_length=none)

1. Keras 란? 층 (layer) 1D 컨볼루션층 Convolution1D keras.layers.convolutional.convolution1d(nb_filter, filter_length, init='glorot_uniform', activation=none, weights=none, border_mode='valid', subsample_length=1, W_regularizer=None, b_regularizer=none, activity_regularizer=none, W_constraint=None, b_constraint=none, bias=true, input_dim=none, input_length=none) 2D 컨볼루션층 Convolution2D keras.layers.convolutional.convolution2d(nb_filter, nb_row, nb_col, init='glorot_uniform', activation=none, weights=none, border_mode='valid', subsample=(1, 1), dim_ordering='default', W_regularizer=None, b_regularizer=none, activity_regularizer=none, W_constraint=None, b_constraint=none, bias=true)

1. Keras 란? 활성함수 (activation function) 다양한활성함수 간단한활성함수 : Sigmoid, tanh, ReLu, softplus, hard_sigmoid, linear 복잡한활성함수 : LeakyReLu, PReLu, ELU, Parametric Softplus, Thresholded linear and Thresholded Relu 목표함수 에러측정용목표함수 : rmse, mse, mae, mape, msle 최대마진목표함수 : squared_hinge, hinge 분류용목표함수 : binary_crossentropy, categorical_crossentropy

1. Keras 란? 저장 / 로드 모델구조의저장 / 로드가능 from models import model_from_json json_string = model.to_json() model = model_from_json(json_string) from models import model_from_yaml yaml_string = model.to_yaml() model = model_from_yaml(yaml_string) 모델파라미터의저장 / 로드가능 model.save_weights(filepath): 모델의가중치를 HDF5 file로저장 model.load_weights(filepath, by_name=false): 모델의가중치를 HDF5 파일로부터불러옴 (save_weights에의해만들어짐 ) 모델의구조가다를때불러오고자한다면, by_name=true로설정 층의이름에맞게파라미터가불러옴 모델의구조는변하지않음

1. Keras 란? 모델종류 : Sequential Sequential 모델은층들의스택 (stack) 으로이뤄짐 이전강의들에서배운컨볼루션 / 재현신경망과같은모델 각층은그다음층에입력을제공해주는객체의역할수행

1. Keras 란? Sequential 모델의예시 from keras.layers import Merge left_branch = Sequential() left_branch.add(dense(32, input_dim=784)) right_branch = Sequential() right_branch.add(dense(32, input_dim=784)) merged = Merge([left_branch, right_branch], mode = concat ) final_model = Sequential() final_model.add(merged) final_model.add(dense(10, activation= softmax )) Sequential_1(Sequential) Sequential_2(Sequential) Merge_1(Merge) Dense_3(dense)

1. Keras 란? 모델종류 : Graph Graph 모델에서두개이상의서로다른모델이합쳐지거나여러모델로나뉘어질수있음 다양한개수의입력과출력가능 Sequential 모델과다른함수제공 LSTM1 Input Layer RGB Image LSTM2 LSTM3 LSTM4 Sum Activation:tanh() Fully Connected Feed Forward Layer Output Layer With Softmax

1. Keras 란? Graph 모델의예시

1. Keras 란? Keras 의장단점 장점 쉬운모델구현다양한함수제공손쉽게커스터마이징가능 GPU를활용한빠른계산직관적인함수제공활발한커뮤니티 단점 생성모델의부족 고수준라이브러리 Theano 사용에따른에러분석의어려움

2. Keras 로컨볼루션신경망구현하기

2. Keras 로컨볼루션신경망구현하기 VGG-16 모델정의 모델종류 : Sequential 역할 : 층들의스택을위한빈모델생성 # build the VGG16 network model = Sequential() Sequential 모델의첫층에서는입력데이터의모양이어떻게생겼는지에관한정보를알고있어야함 인수 batch_input_shape: 데이터튜플의모양 예 > (1, 3, 640, 480) 배치크기 채널개수 (R,G,B) 이미지넓이 이미지높이

2. Keras 로컨볼루션신경망구현하기 VGG-16 모델정의 층이름 : ZeroPadding2D 층종류 : 컨볼루션층역할 : 2D 입력 ( 예 > 이미지 ) 를위한제로패딩층인수 패딩 : int 형식의길이 2 또는길이 4 튜플 batch_input_shape model.add(zeropadding2d((1, 1), batch_input_shape=(1, 3, img_width, img_height)))

2. Keras 로컨볼루션신경망구현하기 VGG-16 모델정의 층이름 : Convolution2D 층종류 : 컨볼루션층역할 : 2D 입력에대해컨볼루션계산인수 nb_filter: 사용할컨볼루션필터개수 nb_row: 컨볼루션커널의행개수 nb_col: 컨볼루션커널의열개수 활성함수 : 사용할활성함수이름, 입력하지않을시선형활성함수사용 (a(x) = x) model.add(convolution2d(64, 3, 3, activation='relu',name='conv1_1'))

2. Keras 로컨볼루션신경망구현하기 VGG-16 모델정의 층이름 : MaxPooling2D 층종류 : 컨볼루션층역할 : 시계열데이터에대해서최대풀링계산인수 pooling_length: 최대풀링을적용할지역크기설정 stride: 다운스케일할 int 값 ( 예 > 2는입력의크기를절반으로줄임 ) model.add(maxpooling2d((2, 2), strides=(2, 2)))

학습정리