CONTENTS 1 인공지능과머신러닝 2 머신러닝알고리즘의분류 3 일상생활속머신러닝의예 4 머신러닝의구성요소
|
|
- 용림 견
- 6 years ago
- Views:
Transcription
1 인공지능을위한머신러닝알고리즘 1. 머신러닝개요
2 CONTENTS 1 인공지능과머신러닝 2 머신러닝알고리즘의분류 3 일상생활속머신러닝의예 4 머신러닝의구성요소
3 학습목표 학습목표 인공지능을달성하기위한수단으로써머신러닝을이해할수있다. 머신러닝알고리즘의종류와차이점을이해할수있다. 일상생활속머신러닝이사용되고있는예제들을파악할수있다.
4 1. 인공지능과머신러닝
5 1. 인공지능과머신러닝 인공지능의정의 지능 문제를해결할수있는능력 지능작업의예문서의내용에따라항목분류병진단바둑
6 1. 인공지능과머신러닝 인공지능의정의 인공지능 지능작업을수행할수있는기계의능력 In this paper, we proposed the video story QA model 서기관의사바둑기사 문서종류 : 논문 환자 1번기록나이 : 67 성별 : 남자 입력 지능적처리 출력 가슴통증종류 : 무증상혈압 : 160mm Hg 병명 : 심장병 혈중콜레스테롤 : 286mg/dl 혈당 : < 120mg/dl 컴퓨터
7 1. 인공지능과머신러닝 인공지능의역사 암흑기 ( 70 년중반 ~ 80 년초 ) 인공지능, 바둑챔피언을이김 4차산업혁명첫언급 2016 암흑기 ( 80 년후반 ~ 90 년초 ) ~ Alan Turing(1912~1954) 인공지능의서막을열다 낙관의시대 AI 용어등장 ( 56 년 ) 전문가시스템 딥러닝 인공지능, DARPA 그랜드챌린지에서우승 인공지능, 2005 체스챔피언을이김 1997 인공지능, 퀴즈챔피언을이김 2011
8 1. 인공지능과머신러닝 인공지능구현방법 : 합리주의자 VS. 경험주의자 지식의근원은어디서부터왔을까? 지식공학 ( 합리주의자 / 이성주의자 ) 대표적인물 : Mavin Minsky, Noam Chomsky, Descartes Top-down 특정분야의전문가나장인들이학문연구, 오랜실무경험으로터득한지식을사람이직접컴퓨터에게제공 1980 년대전문가시스템 데카르트
9 1. 인공지능과머신러닝 인공지능구현방법 : 합리주의자 VS. 경험주의자 머신러닝 ( 경험주의자 ) 대표적인물 : Andrew ng, Pedro Domingos, David Hume Bottom-up 컴퓨터가데이터로부터지식을직접학습 현재의딥러닝 데이비드흄
10 1. 인공지능과머신러닝 인공지능구현방법 : 지식공학 VS. 기계학습 물체의속성 : 질량, 온도, 가속도, 부피, 색깔, f=ma Data Program Computer Output 물체가받는힘 물체의속성 : 질량, 온도, 가속도, 부피, 색깔, 물체가받는힘 Data Output Computer Program f=ma
11 1. 인공지능과머신러닝 기계학습과농작물재배 씨앗영양분농부식물 = = = = 알고리즘데이터프로그래머프로그램
12 2. 머신러닝알고리즘의분류
13 2. 머신러닝알고리즘의분류 학습의방법 지도학습 (Supervised Learning) 학습데이터마다레이블을가지고있음 비지도학습 (Unsupervised Learning) 학습데이터가레이블을가지고있지않음 준지도학습 (Semi-Supervised Learning) 학습데이터가약간의레이블을가지고있음 강화학습 (Reinforcement Learning) 최종출력이바로주어지지않고시간이지나서주어지는경우
14 2. 머신러닝알고리즘의분류 지도학습 (Supervised Learning) 주어진입력 - 출력쌍들을매핑해주는함수를학습 D={X, Y} 로부터 F(X)=Y 를만족시키는함수 F 를학습 X 의예 > 물체의속성들. 질량, 온도, 가속도, 부피, 색깔등.. / 숫자이미지파일 Y 의예 > 물체의힘 / 숫자레이블 (0~9) F 의예 > 뉴턴운동법칙 / 숫자자동인식기
15 2. 머신러닝알고리즘의분류 지도학습의예 : 데이터에레이블이있을때개와고양이의분류문제 지도학습 (Supervised Learning) 새로운데이터 X 의출력을함수 F 를사용하여예측 F(X) 가이산적 (Discrete) 일때 : 분류 (Classification) 문제 F(X) 가연속적 (Continuous) 일때 : 회귀 (Regression) 문제 F(X) 가 X 의확률 P(X) 일때 : 확률추정 (Estimation) 문제 보다정확한학습을할수있음 딥러닝이대표적인예 사용할수있는데이터에한계가있음 데이터를생성하는데비용이많이듦
16 2. 머신러닝알고리즘의분류 비지도학습 (Unsupervised Learning) 입력만있고출력은없는상태에서이뤄지는학습 데이터에내재되어있는고유의특징을탐색하고자함 D={X} 로부터 F(X)=X 를만족시키는함수 F 를학습 X 의예 > 유투브비디오 F 의예 > 비디오항목자동분류기
17 2. 머신러닝알고리즘의분류 비지도학습 (Unsupervised Learning) 클러스터링이주로사용됨 : 비슷한데이터끼리묶음 지도학습에비해서학습하기어려움 우리주변에있는대부분의데이터는레이블이없음 대표적인예 > 비디오 앞으로머신러닝이풀어야할중요한숙제 비지도학습의예 : 데이터에레이블이없을때개와고양이의클러스터링문제
18 2. 머신러닝알고리즘의분류 강화학습 (Reinforcement Learning) 결과 ( 출력 ) 이바로주어지지않고시간이지나서주어지는경우 예 > 바둑 : 승 / 패의결과 (Final Outcome) 이바둑기사가 (Agent) 한수두자마자 (Action) 주어지지않고시간이지나고나서주어짐, 바둑기사는매순간바둑판의상황 (State) 을읽고어떤수를두어야할지고민함 (Agent 가받는 Reward 를최대화하는쪽으로 ) 게임, 미로찾기등 어떤 Action 이최종출력에영향을주었는지불명확한문제에사용됨
19 2. 머신러닝알고리즘의분류 강화학습 (Reinforcement Learning) 컴퓨터가계산해야할중요한이슈 매순간어떤 Action 을선택해야하는가? State 에대한평가 우리주변에있는많은문제들이강화학습으로풀어야할문제들 예 > 대화 - 상점에서주문, 고객상담등.. 좋은대학에입학하기위한전략은? 축구를잘하는로봇을만들려면?
20 3. 일상생활속머신러닝의예
21 3. 일상생활속머신러닝의예 Netflix 의추천시스템 온라인 DVD 대여업체 10만개의영화보유고객들이 Neflix가보유하고있는영화를골고루볼수있도록관리를해야함 고객의취향에맞는비디오추천 10 만개영화 고객의평점, 구매내역을활용 1 3 4?? 만명의고객
22 3. 일상생활속머신러닝의예 미국국가안보국의 SKYNET 파키스탄의테러리스트을식별하여사살하기위한프로그램 2004 년부터 2,500 명에서 4,000 명가량의 식별된 사람들이사망 5,500 만명의파키스탄사람들의휴대전화기록을활용 전화시간, 길이, 수신자 / 발신자정보, GPS, 이동기록등.. 전화기를끄거나 SIM 카드를바꾸면별도관리대상이됨 잘못된알고리즘설계로무고한많은사람들이희생되어비판받음
23 3. 일상생활속머신러닝의예 다양한적용사례들 응용분야 인터넷정보검색컴퓨터시각음성인식 / 언어처리모바일 HCI 생물정보바이오메트릭스컴퓨터그래픽로보틱스서비스업제조업 적용사례 텍스트마이닝, 웹로그분석, 스팸필터, 문서분류, 여과, 추출, 요약, 추천문자인식, 패턴인식, 물체인식, 얼굴인식, 장면전환검출, 화상복구음성인식, 단어모호성제거, 번역단어선택, 문법학습, 대화패턴분석동작인식, 제스쳐인식, 휴대기기의각종센서정보인식, 떨림방지유전자인식, 단백질분류, 유전자조절망분석, DNA 칩분석, 질병진단홍채인식, 심장박동수측정, 혈압측정, 당뇨치측정, 지문인식데이터기반애니메이션, 캐릭터동작제어, 역운동학, 행동진화, 가상현실장애물인식, 물체분류, 지도작성, 무인자동차운전, 경로계획, 모터제어고객분석, 시장클러스터분석, 고객관리 (CRM), 마케팅, 상품추천이상탐지, 에너지소모예측, 공정분석계획, 오류예측및분류
24 4. 머신러닝의구성요소
25 4. 머신러닝의구성요소 데이터준비 훈련 / 검증 / 테스트데이터분리 전체데이터 Known Unknown 훈련데이터검증데이터테스트데이터 모델학습을위해사용하는데이터 모델검증을위한데이터 현재우리가갖고있지않지만 검증데이터에대한성능에따라실제맞닥뜨릴데이터모델을바꿔보고통상적으로 학습된모델의최종성능검사를위해성능이제일높은모델을선택따로구별해놓은데이터
26 4. 머신러닝의구성요소 모델표현의방법 의사결정트리 기호주의자 (Symbolists) 귀납적추론, 철학과심리학, 논리학에서아이디어를얻음 신경망기반 연결주의자 (Connectionists) 두뇌를분석하고모방하며신경과학과물리학에서영감을얻음 KNN, 서포트벡터머신 유추주의자 (Analogizers) 유사성판단을근거로추정하면서배우며심리학과수학적최적화의영향을받음
27 4. 머신러닝의구성요소 모델표현의방법 베이지안모델 베이즈주의자 (Bayesians) 학습이확률추론의한형태라고믿으며통계학에뿌리를두고있음 유전알고리즘 진화주의자 (Evolutionaries) 컴퓨터에서진화를모의시험하며유전학과진화생물학에의존 모델앙상블
28 4. 머신러닝의구성요소 모델평가방법 에러의제곱 (Squared Error) sum{y f(x)} 2 정확도 (Accuracy) 맞힌테스트데이터개수 / 전체테스트데이터개수 우도 (Likelihood) log 2 P(y) 정밀도와재현률 (Precision and Recall) 정보검색에서주로사용 엔트로피 (Entropy) 사후확률 (Posterior Probability)
29 학습정리
30 학습정리 데이터준비 : 훈련 / 검증 / 테스트데이터집합으로분리모델표현 : 기호 / 신경망 / 유추 / 베이지안 / 유전기반알고리즘존재모델평가방법 : 정확도 / 에러제곱 / 우도등각상황에맞는평가방법선택 지금까지 [ 머신러닝개요 ] 에대해서살펴보았습니다. 머신러닝은인공지능을구현하기위한하나의방법지식을구현하기위한두가지대립적방법지식공학 ( 합리주의자 / 이성주의자 ): 지식을사람이직접컴퓨터에게제공머신러닝 ( 경험주의자 ): 컴퓨터가데이터로부터지식을직접학습 지도학습 : 학습데이터마다레이블을가지고있음비지도학습 : 학습데이터마다레이블을가지고있지않음준지도학습 : 학습데이터가약간의레이블을가지고있음강화학습 : 최종출력이바로주어지지않고시간이지나서주어지는경우
31 인공지능을위한머신러닝알고리즘 2. 선형회귀모델
32 CONTENTS 1 선형회귀모델 2 3 파라미터예측 : 최소제곱방법 선형회귀모델로는안풀리는문제들
33 학습목표 학습목표 선형회귀의분류원리에대해이해할수있다. 선형회귀의모델파라미터를계산할수있다. 모델이가정하고있는선형성에대해서이해할수있다.
34 1. 선형회귀모델
35 1. 선형회귀모델 회귀모델의정의 한개의종속변수 (dependent variable) 와설명변수들 (explanatory variable(s)) 과의관계를모델링 관계를정의하기위해방정식사용 수치적 (numerical) 종속변수 한개또는그이상의수치적설명변수 예측 & 추정시에사용
36 1. 선형회귀모델 회귀모델의종류들 1 개의설명변수 회귀모델 2 개이상설명변수들 단순 다중 선형 비선형 선형 비선형
37 1. 선형회귀모델 선형성이란 Y Y=aX+b m = 기울기 Y 의변화량 예 > Y=1/2X+3 X 의변화량 b = Y- 절편 X
38 1. 선형회귀모델 변수들사이관계 - 선형함수 Y 절편 기울기 무작위에러 ( 노이즈 ) Y i = β o + β i X i + i 종속 ( 응답 ) 변수 예 > 와인등급 독립 ( 설명 ) 변수 예 > 날씨, 토양, 포도의품질
39 1. 선형회귀모델 회귀모델의예측대상 모집단 ( 참값 )
40 1. 선형회귀모델 회귀모델의예측대상 모집단 ( 참값 ) 무작위샘플 ( 관측값 ) Y i = β o + β 1 X i + i 실제데이터생성규칙
41 1. 선형회귀모델 회귀모델의예측대상 모집단 ( 참값 ) 무작위샘플 ( 관측값 ) Y i = β o + β 1 X i + i
42 1. 선형회귀모델 회귀모델의예측대상 모집단 ( 참값 ) Y 예측한생성규칙 무작위샘플 ( 관측값 ) ˆ ˆ i 0 1X i ˆ i Y i = β o + β 1 X i + i
43 1. 선형회귀모델 선형회귀모델의확률적관점 Y Y i = β 0 + β 1 X i + i 관측값 i = 무작위에러 E Y = β o + β 1 X i X 관측값
44 1. 선형회귀모델 선형회귀모델의확률적관점 Y Y i = β 0 + β 1 X i + ε i 관측값 i = 무작위에러 관측되지않은값 E Y = β o + β 1 X i X 관측값
45 2. 파라미터예측 : 최소제곱방법
46 2. 파라미터예측 : 최소제곱방법 최소제곱 최적의모델은실제 Y 값과예측된 Y 값의차이 ( 에러 ) 가최소가되어야함 에러의값은무조건양수이어야하므로제곱을시킴 최소제곱방법은에러의제곱의합 (Sum of the Squared Errors, SSE) 을최소화시킴
47 2. 파라미터예측 : 최소제곱방법 X 최소제곱 Y LS minimizes n i 1 ˆ 2 i ˆ 2 1 ˆ 2 2 ˆ 2 3 ˆ 2 4 Y 2 = β 0 + X Y i = β 0 + β 1 X i
48 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
49 2. 파라미터예측 : 최소제곱방법 Y 절편구하기 n n 2 i i 0 1 i i1 i1 y x 2 0 y x 2 i i 0 1 i ny n n x ˆ 0 y ˆ 1 x
50 2. 파라미터예측 : 최소제곱방법 기울기구하기 0 y x 2 i i 0 1 i 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
51 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
52 3. 선형회귀모델로는안풀리는문제들
53 3. 선형회귀모델로는안풀리는문제들무엇이더좋은모델일까? 예 > 프로그래밍숙제의성공여부예측 성공률 성공률 프로그래밍경력 (months) 프로그래밍경력 (months) 성공률 성공률 프로그래밍경력 (months) 프로그래밍경력 (months)
54 3. 선형회귀모델로는안풀리는문제들선형성의한계 예 > 프로그래밍숙제의성공여부예측 성공확률 프로그래밍경력 (months)
55 학습정리
56 학습정리 지금까지 [ 선형회귀모델 ] 에대해서살펴보았습니다. 한개의종속변수와다수의설명변수들사이의관계를선형방정식으로모델링 Y i = β 0 + β 1 X i + i ˆ 1 SSxy SSxx xi x yi y 2 x x i ˆ 0 ˆ x y 1 종속변수와설명변수사이비선형관계존재
57 인공지능을위한머신러닝알고리즘 3. 로지스틱회귀모델
58 CONTENTS 1 로짓 (logit) 함수 2 로지스틱회귀모델 3 로지스틱회귀모델의파라미터추정
59 학습목표 학습목표 로짓 (logit) 함수를이해할수있다. 로지스틱회귀의분류원리에대해이해할수있다. 로지스틱회귀모델의파라미터를구할수있다.
60 1. 로짓 (logit) 함수
61 1. 로짓 (logit) 함수 오즈 (odds) 어떠한사건의확률이 p 일때, 그사건의오즈는다음과같이계산 odds = p / (1 p) 예시 혈중콜레스테롤 비만 Yes No Total Normal High 혈중콜레스테롤이정상인그룹에서비만인경우의오즈 비만일확률 / (1 비만일확률 ) = (402/4016) / (1 - (402/4016)) = / = 0.111
62 1. 로짓 (logit) 함수 오즈 (odds) 혈중콜레스테롤이정상인그룹에서비만이아닌경우의오즈 / = 8.99 혈중콜레스테롤이높은그룹 odds( 비만 ) = 101/345 = odds( 비만이아님 ) = 345/101 = 혈중콜레스테롤이정상에서높은수치로갈때, 비만인경우의오즈는약세배증가 odds 비율 : 0.293/0.111 = 2.64 혈중콜레스테롤이높을때, 2.64 배더비만이되기쉬움
63 1. 로짓 (logit) 함수 로짓변형 로짓은오즈의자연로그 2 y=lnx logit(p) = ln(odds) = ln (p/(1-p))
64 2. 로지스틱회귀모델
65 2. 로지스틱회귀모델 로지스틱회귀분석이사용되는예 종속변수의값을 0 또는 1 로 ( 이진변수로 ) 표현할수있는경우 예 ) 약물치료후환자의반응예측약물치료에대한환자의반응 ( 종속변수 ) 을예측하고자할때, 약물치료적용후환자가살아남은경우 1 로, 살아남지못한경우를 0 으로표현할수있음
66 2. 로지스틱회귀모델 선형회귀모델을사용할경우 관측값 결과 Y = 0.01X 각환자 - 약물부합점수마다점의개수는생존한환자의수를의미 생존확률 회귀모델 : 선형회귀
67 2. 로지스틱회귀모델 더나은솔루션 결과 0.75 회귀모델의예측커브 시그모이드함수 ( 점근적으로 y=0 과 y=1 에근사 ) 생존확률
68 2. 로지스틱회귀모델 로지스틱회귀모델 로지스틱회귀모델의방정식 logit( p) 1X 0 오즈의로그 ( 로짓 ) 은설명변수 X 와선형적인관계 일반적선형회귀문제처럼접근가능
69 2. 로지스틱회귀모델 종속변수 p 값구하기 p 는시그모이드함수
70 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 ) 제곱만큼증가함을의미
71 2. 로지스틱회귀모델 Logit 변환의의미 선형회귀에더적절한함수를도출 Logit(P ) = log odds = In P 1 P 확률 0 ½ 1 Odds Logit - 0 +
72 3. 로지스틱회귀모델의파라미터추정
73 3. 로지스틱회귀모델의파라미터추정최대우도추정법이란? 동전던지기문제 앞 / 뒤가나올확률이공정하지않은 (biased) 동전이있을경우, 동전의앞면이나올확률 head(p) 를계산하고자함 이때, p 는 unknown 파라미터 동전을 10 번던져서앞면이 7 번나왔다고하자. 이때, p 의값으로추정할수있는값중가장최선은무엇일까? 데이터에기반하여 0.7 로예측
74 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 에대해서데이터를관측할확률을제공
75 3. 로지스틱회귀모델의파라미터추정최대우도추정법이란? 이때, 데이터의확률을가장높이는 p 의값을찾고자함 ( 또는우도함수를가장높이는 p) 즉, 데이터를가장잘설명할수있는파라미터 p 를찾고자함 어떻게찾을수있을까? 함수에 log 를씌움 : 곱셈을덧셈으로바꿈으로써미분을쉽게함 p 에대해서미분계산 : p 의변화량에대한함수의변화량계산 미분값을 0 으로설정하고 p 를계산 : 함수의최대값이되는곳은미분값이 0 파라미터대입해서확률계산해보기 Likelihood = = 120(. 7) =. 267 log Likelihood = log log p + 3log(1 p) 7! 3! d dp log Likelihood = p 3 1 p 7 p 3 1 p = p 3p = 0 p(1 p) 7(1 p) = 3p 7 7p = 3p 7 = 10p p= 7 10
76 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( ) exp( 1 1 ) ; ( p x p x x
77 3. 로지스틱회귀모델의파라미터추정로지스틱회귀모델예제 나이에따른동맥심장질환확률예측하기 동맥심장질환유 데이터로지스틱모델 55 세이상 55 세미만 P ( D) log( ) 1 P ( D) X 동맥심장질환무 if age 55 X 1 0 if age 우도함수식 L(, 1 e e ) ( ) ( ) ( ) ( ) 1 e 1 1 e 1 1 e 1 e
78 3. 로지스틱회귀모델의파라미터추정로지스틱회귀모델예제 ) 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 e e e e L 로그우도함수
79 3. 로지스틱회귀모델의파라미터추정로지스틱회귀모델예제 )] ( [log e e e e d L d )] ( [log e e e e d L d 미분식 ) 22log(1 0 ) 51log(1 51 ) 21log(1 0 ) 6log(1 ) 6( ), ( log e e e e L 로그우도함수
80 학습정리
81 학습정리 지금까지 [ 로지스틱회귀모델 ] 에대해서살펴보았습니다. 로짓은오즈의자연로그 odds = p / (1 p) logit(p) = ln(odds) = ln (p/(1-p)) 로짓과설명변수 X 를선형적인관계로모델링종속변수 p 와 X 는비선형관계 logit( p) = b 0 + b 1 X p = e (β 0 +β 1 X) 우도함수사용 L( x i ; ) i n 1 y i1 1 exp( ) 1 exp( ) i y i
82 인공지능을위한머신러닝알고리즘 4. 결정트리
83 CONTENTS 1 의사결정트리와분류문제 2 결정트리구축원칙 3 Bagging
84 학습목표 학습목표 의사결정트리의분류원리를이해할수있다. Occam 의면도날원칙이결정트리구축과정에미치는영향을이해할수있다. Bagging 기법을이해할수있다.
85 1. 의사결정트리와분류문제
86 1. 의사결정트리와분류문제 분류 (classification) 훈련데이터의특성값 / 클래스정보를학습한뒤, 새롭게주어지는테스트데이터부터는특성값만으로클래스를예측하는것 예 > 날씨정보를바탕으로상대방이데이트를허락해줄지말지예측 필요사항 특성값 (attribute value) : 고정된집합의특성들로표현될수있어야함예 > 더움, 따뜻함, 추움 클래스 (class, target values) : 이산출력값을가져야함예 > 예 / 아니오, 다중클래스 충분한데이터 : 결정트리에주어질충분한훈련예제
87 1. 의사결정트리와분류문제 분류문제의간단한예제 다음주에경기하는국내축구팀의 A 팀과 B 팀의경기에서 A 팀이이길지혹은질지예측하는모델을만들어보자 가능한특성값들 경기장소 : 홈 / 어웨이 경기시간 : 오후 5 시 / 7 시 / 9 시 S 선수의포지션 : 공격수 / 미드필더 B 팀 K 선수의출전여부 : 예 / 아니오
88 1. 의사결정트리와분류문제 데이터 장소 시간 K선수출전 S선수포지션 R선수출전 날씨 결과 홈 7시 예 미드필더 예 맑음 승리 홈 7시 예 공격수 아니오 비 승리 어웨이 7시 예 공격수 예 맑음 승리 홈 5시 아니오 공격수 아니오 맑음 패배 어웨이 9시 예 공격수 예 비 패배 어웨이 7시 아니오 미드필더 예 맑음 승리 홈 7시 아니오 공격수 아니오 맑음 패배 홈 7시 예 미드필더 아니오 맑음 승리 어웨이 7시 예 미드필더 아니오 비 승리 홈 9시 아니오 공격수 아니오 비 패배
89 1. 의사결정트리와분류문제 데이터 다음주경기는어웨이, 9시시작, S선수가미드필더로출전 장소 시간 K선수출전 S선수포지션 R선수출전 날씨 결과 어웨이 9시 아니오 미드필더 예 맑음??
90 1. 의사결정트리와분류문제 결정트리 결정트리는트리구조의분류기 결정노드 : 단일특성에대해데이터를테스트 말단노드 : 클래스를나타냄 엣지 : 하나의특성값을분류 경로 (Path) : 최종분류결정을하기위한룰 (rule) 들의논리합 (disjunction)
91 1. 의사결정트리와분류문제 결정트리 결정트리는뿌리 (root) 노드부터시작해서특성값에따라적절한말단노드에도착함으로써새로운데이터의클래스를분류 (1) 어느특성부터시작하지? ( 뿌리노드 ) K 선수출전 예 아니오 (2) 중간노드들의순서는? (3) 노드를얼마나만들어야할까? 패배 S 선수포지션
92 1. 의사결정트리와분류문제 랜덤결정트리 트리의크기가매우커질수있음분류의룰을이해하기어려울수있음크기가큰트리는보통크기가작은트리보다정확도가떨어짐 시간 5 시 7 시 9 시 K 선수출전 장소 패배 예 아니오 홈 어웨이 패배 R 선수포지션 S 선수포지션 예 아니오 미드필더 공격수 승리 패배 승리 날씨 맑음 비 승리 패배
93 2. 결정트리구축원칙
94 2. 결정트리구축원칙 결정트리구축원칙 각노드에서테스트할특성선택 분류할때가장유용한특성순서대로선택 정보획득량 각특성들이훈련예제들을얼만큼잘분류할수있는가를측정정보획득량은트리구축과정에서테스트할후보특성의순서를결정할때사용
95 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/ = 0.31
96 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)
97 2. 결정트리구축원칙 H(Y) 엔트로피의직관적인이해 엔트로피가 0 일때, 출력은매우확실한상태 엔트로피는출력에대해서아무런정보를갖고있지않을때 ( 어떠한출력값도동등한확률로나옴 ) 최고값을가짐 예 > 동전던지기의앞 / 뒤확률이같은경우 클래스가두개인문제에서하나의클래스의발생확률에대한엔트로피의변화 Pr(X=1)
98 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의엔트로피값
99 2. 결정트리구축원칙 정보획득량 정보획득량 = 엔트로피 ( 불확실성 ) 의감소량 Sv Gain( S, A) Entropy( S) Entropy( Sv) S vvalues( A) 두번째항은특성 A 를사용하여 S 를분리했을때, 예상되는 S 의엔트로피의값 정보획득량 : 특성 A 를사용하여 S 를분리했을때, 예상되는엔트로피의감소량 또는, 특성 A 를알때, 데이터집합 S 의원소를인코딩할때감소되는비트의크기
100 2. 결정트리구축원칙 정보획득량예제 분리하기전, S 의엔트로피 H(10/20, 10/20) = - 10/20 log(10/20) - 10/20 log(10/20) = 1 [10+, 10-] 장소 = 홈 장소 = 어웨이 [6+, 6-] [4+, 4-]
101 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-]
102 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-]
103 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 정보획득량 = 0.35 [10+, 10-] 시간 = 5 시시간 = 7 시시간 = 9 시 [1+, 3-] [9+, 3-] [0+, 4-]
104 2. 결정트리구축원칙 결정트리구축원칙 어떤노드가먼저선택되어야할까? 시간특성값을알때가, 장소특성값을알때보다더많은정보를줌시간특성값을장소특성값보다먼저테스트해야함이와같이, 다른특성들에대해서정보획득량을계산결정트리의각노드에서가장큰정보획득량을갖는특성을선택 얼마나노드를만들어야할까? (stopping rule) 모든특성들이트리의경로에모두포함되어있는경우말단노드와연관되어있는모든훈련예제들이같은클래스에해당하는경우즉, 엔트로피가 0일때
105 2. 결정트리구축원칙 결정트리구축원칙 가장적합한트리는? 모델을구축하기위해 bias 가필요 예 > 크기가가장작은트리를선호, 또는깊이가가장높은트리, 노드개수가가장많은트리 어떠한트리가새로운데이터를가장잘분류할수있을까?
106 2. 결정트리구축원칙 결정트리구축원칙 Occam 의면도날 면도날은필요하지않은가설을잘라내버린다는비유데이터의특성과부합하는가장간단한가설을선호모든것이똑같은조건일때, 가장쉬운설명이가장옳은것과학자의가설선호도많은데이터를설명할수있으면서가장간단한가설을선택예 > F=ma 결정트리는데이터의특성과부합하면서도가능한가장작은트리여야함
107 2. 결정트리구축원칙 결정트리분류의특징 장점 다른분류방법에비해서상대적으로빠름 ( 분류시계산량이적음 ) 간단하고모델구축원리를이해하기쉬움모델의분류룰 (rule) 을사람이직관적으로이해하기쉬움 어느특성이분류에가장중요한지명확히나타냄다른모델들에비해서더좋은성능나타낼때가있음
108 2. 결정트리구축원칙 결정트리분류의특징 단점 연속적인특성값을갖는데이터에적합하지않음 클래스의개수가많고데이터가적을때성능이좋지않음 훈련과정에서계산량이많음 트리의노드선택순서를정하기위해모든특성의정보획득량을계산한뒤, 정렬해야함
109 2. 결정트리구축원칙 특성이연속된값을가질때결정트리구축 연속된값을갖는특성 특성 A의연속된값을이산적인구간의집합으로나눔새로운 boolean 특성 Ac의값을임계치 c에따라설정예 > 새로운특성 : 섭씨온도 A c true if Ac c false otherwise 어떻게임계치 c 를정할까? 데이터를특성의값에따라서정렬시킴클래스가다르면서인접한두개의데이터를참음 임계치의집합이생성됨정보획득량이가장많은임계치를선택
110 3. Bagging
111 3. Bagging Bootstrap 데이터의개수가부족할때사용할수있음 예 > 날씨가맑은날 A 팀의평균승리확률은? 원본데이터집합 X 가있을때, X=(x 1,x 2,,xn ), 다음과정을 m 번반복 크기가 n인데이터집합 X에서복원추출법을사용하여부분집합 Xk 생성 X k 에대해서구하고자하는값 θ 계산 ˆ ˆ ˆ * bootstrap 값계산 * * (,..., ) 1 B
112 3. Bagging Bootstrap Bootstrap 값들을사용하여표준편차또는확신구간등설정가능 1980 년대부터컴퓨터가통계적용도로사용되면서쓰여지기시작 Bootstrap 분포는원본데이터에서통계적변화를측정하기위해주로사용됨
113 3. Bagging Bagging 1996 년 Breiman 에의해소개됨 Bagging : bootstrap aggregating 다수의분류기를결합하는앙상블방법중하나 주로결정트리분류기에많이쓰임원본훈련데이터집합 X가있을때, 다음과정을 m번반복 X로부터 boostrap 샘플 X k 를얻음 X k 로부터분류기 C k 를훈련
114 3. Bagging Bagging m개의분류기를다음의방식으로결합 투표 평균데이터가갖는 high variance 문제를해결할수있음
115 학습정리
116 학습정리 지금까지 [ 결정트리 ] 에대해서살펴보았습니다. 결정트리는트리구조의분류기노드 : 단일특성에대해데이터를테스트말단노드 : 클래스를나타냄엣지 : 하나의특성값을분류경로 : 최종분류결정을하기위한룰들의논리합 정보획득량은결정트리구축과정에서테스트할후보특성의순서를결정할때사용 Bagging 은다수의분류기를결합하는앙상블방법중하나 k 개의 bootstrap 샘플 X 1 k 를훈련시켜얻은 k 개의분류기를투표, 평균등의방법을사용하여결합
117 인공지능을위한머신러닝알고리즘 5. 서포트벡터머신
118 CONTENTS 1 좋은선형분류기만들기 2 서포트벡터머신 3 비선형분류기만들기
119 학습목표 학습목표 서포트벡터머신의분류원리에대해서이해할수있다. 서포트벡터머신의학습이최적화문제로변형되어해결되는과정을이해할수있다. 소프트마진분류기와커널을사용한비선형분류기를이해할수있다.
120 1. 좋은선형분류기만들기
121 1. 좋은선형분류기만들기 선형분류의예 예 > 야외활동하기좋은날분류하기 결정영역 온도 = 야외활동 = 야외활동하지않음 습도
122 1. 좋은선형분류기만들기 어떤초평면을선택해야할까? 초평면이란? 데이터임베딩공간에서한차원낮은부분공간 (subspace) 예 > 3차원공간의초평면 : 2차원평면 가능한 a, b, c 에대해많은해답이존재 여러선형분류기들이있지만항상최적의초평면을찾지는않음 최적의초평면의조건 예 > 퍼셉트론 이선은결정영역을나타냄 ax + by c = 0 초평면과결정영역근처에있는 분류하기애매한 데이터의거리가최대가되어야함 직관적인이해 : 만약결정영역근처에데이터가없다면, 분류기는분류결정을하기위해불확실하고애매한결정을내리는경우가조금더드물어질것임
123 1. 좋은선형분류기만들기 또다른직관 두꺼운결정영역을클래스사이에놓는다면, 선택의가짓수는보다줄어듦 모델의파라미터개수를줄일수있음 O O X
124 2. 서포트벡터머신
125 2. 서포트벡터머신 서포트벡터머신의분류원리 서포트벡터머신은결정영역의초평면을둘러싸고있는마진 (margin) 을최대화시킴 예 > 3 차원공간의초평면 : 2 차원평면 서포트벡터 (support vectors) 클래스결정함수는훈련예제의부분집합 ( 서포트벡터 ) 만으로완전히설명가능 서포트벡터머신의결정함수를구하는것은함수최적화문제 딥러닝이나오기전까지가장성공적인분류기역할을했음 좁은마진 최대마진
126 2. 서포트벡터머신 서포트벡터머신형식 w 정규화된결정초평면벡터 x i 데이터포인트 i y i 데이터포인트 i 의클래스 (+1 또는 -1)
127 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 의크기를키움으로써마진의크기도증가시킬수있음
128 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 서포트벡터
129 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
130 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
131 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
132 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
133 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 을계산
134 3. 비선형분류기만들기
135 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)
136 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
137 3. 비선형분류기만들기 결정영역이선형이아닌경우 = - 1 = +1
138 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 임
139 3. 비선형분류기만들기 분류기로써서포트벡터머신의성능 서포트벡터머신은실세계데이터에좋은성능을보여줌 프로그래머는커널함수를설계해야함 나머지파라미터는자동으로계산 데이터집합의크기가클수록시간소모가큼 초평면의최대마진을구하기위해서훈련데이터개수의제곱에해당하는계산량필요 모든서포트벡터를저장해야함 만약, 문제에어떠한알고리즘을사용할지모르겠다면, 서포트벡터머신은좋은출발선이될수있음
140 학습정리
141 학습정리 지금까지 [ 서포트벡터머신 ] 에대해서살펴보았습니다. 서포트벡터 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
142 인공지능을위한머신러닝알고리즘 6. 신경망
143 CONTENTS 1 뇌와컴퓨터 2 퍼셉트론 : 뇌를모사한신경망알고리즘 3 다층신경망의분류원리
144 학습목표 학습목표 컴퓨터와뇌의동작방식을비교할수있다. 퍼셉트론의구성요소를이해할수있다. 다층신경망의분류원리를이해할수있다.
145 1. 뇌와컴퓨터
146 1. 뇌와컴퓨터 뇌와컴퓨터의비교 억개의뉴런 2. 60조개의시냅스 3. 분산처리방식 4. 비선형연산 5. 병렬처리 1. 뉴런보다빠른연산 (10-9 초 ) 뉴런 : 10-3 초 2. 중앙처리방식 3. 산술연산 ( 선형 ) 4. 순차처리
147 2. 퍼셉트론 : 뇌를모사한신경망알고리즘
148 2. 퍼셉트론 : 뇌를모사한신경망알고리즘 신경회로망에대한연구 1940년대 ~ 1960년대뇌의구조에대한모방이두드러진시기 McCulloch and Pitts, 뉴런모델화 (1943) Weiner, 사이버네틱스 (1948) Rosenblatt - 퍼셉트론 (1957) 생물학적뉴런의구조 vs. 인공뉴런생물학적인뉴런과의유사성병렬계산 (parallel computing) 분산표현 (distributed representation)
149 2. 퍼셉트론 : 뇌를모사한신경망알고리즘 생물학적뉴런에서인공뉴런으로 x 1 w 1 입력 x 2 w 2 X w i x i 활성함수 출력 x n w n 수상돌기세포체축삭돌기
150 2. 퍼셉트론 : 뇌를모사한신경망알고리즘 신경망 ( 인공뉴런 ) 학습에적합한문제 학습해야하는현상이여러가지속성에의해표현되는경우학습예제에에러 (noise) 가존재할가능성긴학습시간학습된결과를사람이이해하는것이필요없는경우
151 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 wnxn > 0 1 otherwise 입력 : 실수값을갖는벡터모델구성 : 연결가중치 & 임계치출력 : 1 또는 -1 학습 : 알맞은연결가중치를탐색
152 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
153 2. 퍼셉트론 : 뇌를모사한신경망알고리즘 퍼셉트론에서비선형함수 3 가지대표적인비선형함수 +1 f h (a) +1 f t (a) +1 f t (a) 0 a 0 a 0 a -1 계단함수임계논리함수시그모이드함수
154 2. 퍼셉트론 : 뇌를모사한신경망알고리즘 퍼셉트론학습룰 where w i w i + Δw i Δw i = η t o x i t 는타겟값 o 는퍼셉트론의출력 η 는학습률 ( 작은상수 ) 학습후올바른가중치를찾아내려면충족되어야할사항 훈련데이터가선형분리문제이어야함 충분히작은학습률 (learning rate)
155 2. 퍼셉트론 : 뇌를모사한신경망알고리즘 퍼셉트론의한계 선형분리가능지역 선형분리불가능지역 선형분리가능의일반적인개념 입력 XOR XOR 함수 문제점 : XOR 문제에서선형분리불가능
156 3. 다층신경망의분류원리
157 3. 다층신경망의분류원리 XOR 문제의해결 모델에은닉층을추가하면분류를위한더좋은결정영역을얻을수있음 +1 각각다른결정구역을추가해줌
158 3. 다층신경망의분류원리 여러패턴들의결정형태 구조 결정영역형태 Exclusive-OR 문제 얽힌결정영역을갖는클래스들 대부분의결정영역들 단층 초평면에의해나뉘어지는반평면 (Hyper plane) A B B A B A 두개층 볼록한모양또는닫힌영역 A B B A B A 세개층 임의의형태 ( 노드들의개수에따라복잡도가결정됨 ) A B B A B A
159 3. 다층신경망의분류원리 다층퍼셉트론 ( 다층신경망 ) 의특징 같은층안에서는연결이존재하지않음입력층과출력층사이직접적인연결이존재하지않음각층사이는완전연결 (Fully Connected) 되어있음입력층 - 은닉층 출력층구조를많이가짐출력층의유닛개수는입력층의유닛개수와같을필요가없음은닉층의유닛개수는입력층또는출력층보다많거나적어도됨 * 각유닛은퍼셉트론 m y f ( w x b ) i ij j i j1 Bias 를추가적인가중치로갖기도함
160 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
161 3. 다층신경망의분류원리 은닉유닛의표현 입력값들의특성을스스로파악해서 Hidden Layer 에표현하는능력이있음 사람이미리정해준 Feature 만을사용하는경우보다유연하며미리알수없는특성을파악하는데유용 입력 - 학습된은닉유닛 - 출력유닛의예 입력 출력 네트워크 입력은닉값출력
162 3. 다층신경망의분류원리 응용예제 : Autonomous Land Vehicle (ALV) 신경망이무인자동차의운전대를움직이는방법을학습 960개의입력유닛, 4개의은닉유닛, 30개의출력유닛 70 miles/h의속도로주행 CMU 의 ALVINN 시스템 차량앞에장착된카메라로부터받은이미지 한개은닉유닛의가중치값
163 학습정리
164 학습정리 지금까지 [ 신경망 ] 에대해서살펴보았습니다. 분산처리 ( 뇌 ) <-> 중앙처리 ( 컴퓨터 ) 병렬처리 ( 뇌 ) <-> 순차처리 ( 컴퓨터 ) 처리속도 : 10-3 초 ( 뇌 ) <-> 10-9 초 ( 컴퓨터 ) 퍼셉트론은입력유닛들의가중치의합과임계치를사용하여뉴런의발화과정을모사선형분리문제를해결하지못하는문제 ( 예 > XOR) 다층신경망은입력층 - 은닉층 출력층구조를가지며각층의유닛들은퍼셉트론임레이어를쌓을수록다양한결정영역이추가로생김으로써선형분리문제극복
165 인공지능을위한머신러닝알고리즘 7. 역전파
166 CONTENTS 1 역전파학습방법 2 활성함수의미분값
167 학습목표 학습목표 역전파알고리즘을이해하고다층퍼셉트론의파라미터값을계산할수있다. 활성함수미분값의특징을이해할수있다.
168 1. 역전파학습방법
169 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 ) 에의해서만영향을받음
170 1. 역전파학습방법 다층퍼셉트론 다층퍼셉트론의적절한가중치를어떻게찾을수있을까? x 1? x 2 위와같이여러층을갖는다층퍼셉트론에서에러가세번째층에서만계산된다면처음두개의층은어떻게가중치를학습할까? 입력층에서는직접적인에러신호 (t j - y j ) 가존재하지않음
171 1. 역전파학습방법 기여도할당문제 (Credit Assignment Problem) 전체학습모델을구성하는데관여하고있는모든개별요소들 예 > 은닉유닛들 ) 에 기여도 또는 책임 을할당하는문제 다층신경망에서는어떤가중치들을얼마큼, 어떤방향으로학습시켜야하는지관련됨 앞부분층의가중치들이최종출력 ( 또는에러 ) 에얼마큼영향을미치는결정하는문제와비슷 가중치 w ji 가에러에미치는영향을계산해야함 E w ( t ) ( t ) ij
172 1. 역전파학습방법 역전파 (Backpropagation) 다층퍼셉트론에서기여도할당문제에대한해결책 Rumelhart, Hinton and Williams (1986) 역전파는두단계로나뉘어짐 1. 앞먹임단계 2. 오류후방전파단계 입력값들을사용하여다층퍼셉트론의최종출력을계산에러값을계산한뒤, 최종출력유닛들부터시작하여네트워크의후방으로에러값을전파
173 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번째노드의연결가중치
174 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 는추가가중치로여겨짐
175 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
176 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 출력유닛과은닉유닛모두적용
177 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) 의변화량
178 역전파 (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
179 역전파 (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 손실함수 :
180 역전파 (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
181 1. 역전파학습방법 역전파 (4) 기여도할당문제의해결 오류후방전파단계 w ki w ji D k D j i 가중치들은은닉유닛들에게 기여도 또는 책임 을부여하는 정도 의값으로해석할수있음 i = g (u i ) S j w ji D j
182 ) ( ) ( ) ( ) ( ) ( ) ( 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)
183 역전파 (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
184 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 활성함수의미분값입력의크기상위층유닛들의기여도를가중치에따라평균낸값
185 2. 활성함수의미분값
186 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 해야함
187 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
188 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 에가까워짐 딥신경망이학습이잘안되었던이유
189 학습정리
190 학습정리 지금까지 [ 역전파 ] 에대해서살펴보았습니다. 앞먹임단계 : 입력값들을사용하여다층퍼셉트론의최종출력을계산오류후방전파단계 : 에러값을계산한뒤, 최종출력유닛들부터시작하여네트워크의후방으로에러값을전파 은닉유닛의가중치를학습하기위해서체인룰을사용, 은닉유닛의출력유닛들에대한가중치들은해당은닉유닛에대한 기여도 또는 책임 을부여하는 정도 의값으로해석할수있음 1 1 시그모이드함수의미분형태 g: '( a ( t)) = k(1 - ) i e 1 + e i k a ( t ) k a ( t ) i
191 인공지능을위한머신러닝알고리즘 8. 비지도학습
192 CONTENTS 1 클러스터링 2 K-means 클러스터링 2 거리측정함수들
193 학습목표 학습목표 클러스터링과비지도학습의관계를이해할수있다. K-means 알고리즘의클러스터링과정을이해할수있다. 데이터포인트들사이거리측정알고리즘과사용법을이해할수있다.
194 1. 클러스터링
195 1. 클러스터링 클러스터링이란? cluster 클러스터링은데이터에서 클러스터 (Clusters) 라는 비슷한그룹 을찾는기법을뜻함 클러스터링은서로생김새가비슷한데이터끼리하나의클러스터로묶고, 생김새가매우다른데이터끼리다른클러스터로분류 ( 類類相從, 가재는게편등..) 클러스터링 = 비지도학습 (Unsupervised Learning) 데이터의그룹을묶을수있는어떠한사전정보도주어지지않기때문 사전정보 ( 예 > 레이블 ) 이주어지면지도학습임 이러한이유때문에, 클러스터링과비지도학습은동의어로여겨지기도함
196 1. 클러스터링 일상속클러스터링의예 예제 1 : small, medium, large 티셔츠를만들기위해서사람들을비슷한크기로그룹을지음 각사람크기에맞는옷을만들려면너무많은비용이듦 한사이즈로통일하기에는맞지않는경우가많음 예제 2 : 마케팅을하기위해서고객들을비슷한정도에따라여러분류로나눔 고객의유형에따라마케팅전략을세움
197 1. 클러스터링 일상속클러스터링의예 예제 3 : 문서가많을때, 내용의비슷한정도에따라서하나의파일로묶음 주제에따라서계층적구조를띄기도함 클러스터링은일상생활속에서가장많이사용되는데이터마이닝기법중하나 인터넷을통한온라인문서들의급속한증가로인해서문서분류가중요한이슈가됨
198 1. 클러스터링 클러스터링이슈 어떻게그룹을나눌것인가? Intra-cluster distance 데이터들의비슷한정도 (distance, similarity) 를어떻게측정할것인가? 클러스터링이잘되었는지어떻게평가할것인가? Inter-clusters distance 최대화 Intra-clusters distance 최소화 Inter-cluster distance 클러스터링결과의질은알고리즘, 거리측정방법등에따라좌우됨
199 2. K-means 클러스터링
200 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 의값은프로그래머가정할수있는가변값임
201 2. K-means 클러스터링 K-means 클러스터링이란? K가주어졌을때, 알고리즘은다음의과정을거침 1. 데이터포인트들중에무작위로 K개를선택하여 Centroid로정함 2. 각데이터포인트들을 K개의 Centroid로할당함 3. 각클러스터의구성원들을기반으로 Centroid를다시계산 4. 수렴조건이만족되지않으면 2번으로감
202 2. K-means 클러스터링 수렴조건
203 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 사이의거리
204 2. K-means 클러스터링 K-means 의예 K 개의중심을무작위선택 2. 클러스터배정 3. Centroid 를다시계산
205 2. K-means 클러스터링 K-means 의예 클러스터재배정 5. Centroids 다시계산 6. 클러스터재배정 7. 클러스터링종료
206 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 ) (x ir m jr ) 2
207 2. K-means 클러스터링 K-means 의장점 이해하고구현하기쉬움효율적인시간복잡도를가짐 : O(tkn) n은데이터포인터들의개수 k는클러스터의개수 t는클러스터재배정반복횟수 k 와 t 의값이작으므로 k-means 알고리즘은데이터개수에따라선형복잡도를갖는알고리즘으로볼수있음 K-means 는가장널리사용되는클러스터링알고리즘 Sum of Squared Error 를사용할경우지역적최적화에서종료될수있음, 전역적최적점은찾기가어려움
208 2. K-means 클러스터링 K-means 의단점 데이터의평균값이정의될수있는데이터에만사용가능 K 의값은프로그래머의몫 가장최적의 K 의값을찾기어려움 아웃라이어에매우민감함 아웃라이어데이터란다른데이터포인트들과매우동떨어져있는데이터를뜻함 아웃라이어데이터는데이터기록과정중벌어지는오류또는독특한성격을갖는이종데이터로인해발생할수있음 올바르지못한클러스터링 바람직한클러스터링
209 2. K-means 클러스터링 K-means 의단점 K-means 알고리즘은타원체모양이아닌클러스터들을찾는문제에적합하지않음 ( 예 > 고리모양 ) X X 두개의고리모양클러스터 K-means 클러스터
210 2. K-means 클러스터링 K-means 의단점을다루기위한방법 클러스터링도중다른데이터포인트보다 Centroid 로부터거리가비이상적으로먼데이터포인트를제거해나감 안전한방법은클러스터링도중아웃라이어가발생하는지모니터링하다가발생하면지울지말지직접결정 데이터로부터무작위로샘플링함. 샘플링은전체데이터중일부만선택하기때문에아웃라이어가선택될확률은낮음 클러스터링이종료되면, 샘플링되지않은데이터포인트들을정해진클러스터로배정시킴
211 3. 거리측정함수들
212 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
213 데이터의특성이수치값 (Numeric Value) 을가질때 3. 거리측정함수들 h = 2 인경우유클리디안거리측정 ) (... ) ( ) ( ), ( jr ir j i j i j i x x x x x x dist x x h = 1 인경우맨허튼거리측정가중치적용유클리디안거리측정... ), ( jr ir j i j i j i x x x x x x dist x x ) (... ) ( ) ( ), ( jr ir r j i j i j i x x w x x w x x w dist x x
214 3. 거리측정함수들 데이터의특성이수치값 (Numeric Value) 을가질때 제곱유클리디안 (Squared Euclidean distance) 거리멀리떨어져있는데이터포인터들에게더많은가중치를줄경우 dist ( 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 )
215 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 값을갖는속성의개수
216 3. 거리측정함수들 데이터의특성이이산값 (Binary Value) 을가질때 이산적특성은두개의상태 (0 또는 1) 이동일하게중요할때, 대칭적임 ( 동일한가중치 ) 거리함수 : 단순계수비교 ( 일치하지않은값의비율 ) dist x i, xj = b + c a + b + c + d x 1 x dist x i, xj = = 3/7
217 3. 거리측정함수들 데이터의특성이이산값 (Binary Value) 을가질때 이산적특성은두개의상태 (0 또는 1) 이비대칭적일때한상태가다른상태보다더중요한경우일반적으로상태 1이더중요한경우에사용됨 ( 빈도가더낮아희귀한상태 ) Jaccard 계수측정이사용됨 x 1 x 2 dist x i, xj = b + c a + b + c dist x i, xj = = 3/5
218 학습정리
219 학습정리 지금까지 [ 비지도학습 ] 에대해서살펴보았습니다. 클러스터링은데이터에서 클러스터 (Clusters) 라는 비슷한그룹 을찾는기법을뜻함데이터의그룹을묶을수있는어떠한사전정보도주어지지않기때문에비지도학습 (Unsupervised Learning) 과동의어로사용됨 데이터포인트들을무작위로 K 개선택하여 Centroid 계산 클러스터배정과 Centroid 재계산 ( 수렴조건이만족될때까지반복 ) 아웃라이어에약한점에도불구하고단순함과효율성으로인해널리사용됨 수치적특성과이산적특성에따라다양한거리함수사용수치적특성 : 유클리디안, 제곱유클리디안, 멘허튼, Chebychev 거리측정이산적특성 : 단순계수비교, jaccard 계수비교
220 인공지능을위한머신러닝알고리즘 9. 컨볼루션신경망
221 CONTENTS 1 컨볼루션신경망의원리 2 ImageNet: 이미지를자동분류하라
222 학습목표 학습목표 컨볼루션신경망의분류원리를이해할수있다. 기존신경망과컨볼루션신경망의구조적차이를이해할수있다. 컨볼루션신경망구조와깊이의진화과정을이해할수있다.
223 1. 컨볼루션신경망의원리
224 1. 컨볼루션신경망의원리 일반신경망으로이미지를분류할때문제점 이미지의위치, 크기, 각도변화등에취약함 왼쪽으로이동
225 1. 컨볼루션신경망의원리 일반신경망으로이미지를분류할때문제점 왼쪽으로 2 픽셀이동할경우 154 개의입력이변화함 77 개 : 검은색 흰색 77 개 : 흰색 검은색
226 1. 컨볼루션신경망의원리 크기또는모양이변화하는경우
227 1. 컨볼루션신경망의원리 컨볼루션신경망이란? 우리뇌속시각피질의신경세포들은물체의방향과장소가바뀌어도별문제없이인식할수있음 이러한신경생물학적관찰이컨볼루션신경망구조설계에동기를부여함 컨볼루션신경망은물체의위치와방향에관계없이물체의고유한특징을학습할수있음 다층신경망의한종류임 역전파알고리즘을사용하여학습 이미지의픽셀값으로부터직접시각패턴을학습할수있음
228 1. 컨볼루션신경망의원리 분류과정 일반분류기 f1 f 2 입력 특징추출을위한전처리단계 f1 fn 분류 출력 컨볼루션신경망 입력 특징추출 이미지의이동및왜곡에불변 분류 출력
229 1. 컨볼루션신경망의원리 컨볼루션신경망의구조 특징맵 ( 커널 ) 추출된특징벡터 입력이미지 특징추출층또는컨볼루션층 풀링층 ( 이동및왜곡에불변 ) 컨볼루션층 풀링층
230 1. 컨볼루션신경망의원리 컨볼루션층 입력이미지속다양한위치에서동일한특징들을탐색 특징 서로다른특징맵 ( 커널 )
231 1. 컨볼루션신경망의원리 컨볼루션과정 컨볼루션 임계치 w11 w12 w13 w11 w12 w13 w21 w22 w23 w21 w22 w23 w31 w32 w33 w31 w32 w33
232 1. 컨볼루션신경망의원리 컨볼루션과정 한개의특징맵이컨볼루션과정을통해특징을탐색할때특징맵의가중치값은변경되지않음 ( 가중치공유 ) 이와같은방식으로특징맵은입력이미지의다양한위치에서동일한특징을탐색할수있음 모델이갖는파라미터의개수를줄여줌 특징맵이나타내고자하는템플릿과이미지의국소부분이일치한다면, 특징맵의뉴런이발화 입력이미지 컨볼루션층
233 1. 컨볼루션신경망의원리 풀링과정 물체의위치와각도변화에잘대처할수있게해줌각특징맵의해상도를줄여줌 모델의파라미터의개수를줄임최대 / 평균풀링을주로사용특징맵 풀링층
234 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
235 1. 컨볼루션신경망의원리 LeNet5 Input image: 32x32 C1: 6x28x28 S2: 6x14x14 C3: 6x10x10 S4: 16x15x15 C5: 120 F6: 84 RBF output:10 약 187,000 개뉴런들사이연결존재 약 14,000 개의모델파라미터존재
236 1. 컨볼루션신경망의원리 장점 : 물체의위치와각도변화에대한불변성
237 1. 컨볼루션신경망의원리 장점 : 노이즈와왜곡에대한불변성
238 1. 컨볼루션신경망의원리 단점 메모리관점에서일반적인다층퍼셉트론보다더많은용량을차지함 ( 많은수의파라미터 ) 실행시간관점에서컨볼루션과정이많은계산을필요하고전체실행시간중약 2/3 의비중을차지 같은개수의파라미터를갖는신경망보다약 3 배가까이실행시간이느림
239 2. ImageNet: 이미지를자동분류하라
240 2. ImageNet: 이미지를자동분류하라 ImageNet Challenge 120만개의고해상도이미지 1,000개의서로다른클래스 50,000 검증이미지, 150,000개의테스트이미지 쉬운클래스 어려운클래스
241 2. ImageNet: 이미지를자동분류하라 ImageNet 데이터집합에대한매년성능향상 152 layers layers layers layers 8 layers shallow ILSVRC 15 ResNet ILSVRC 14 GoogleNet ILSVRC 14 VGG ILSVRC 13 ILSVRC 12 AlexNet ILSVRC 11 ILSVRC 10 이미지분류의 Top 5 에러
242 학습정리
243 학습정리 지금까지 [ 컨볼루션신경망 ] 에대해서살펴보았습니다. 컨볼루션층 : 입력이미지속다양한위치에서동일한특징들을탐색, 피처맵을입력에대해슬라이딩시킴. 같은피처맵은동일한가중치사용풀링층 : 물체의위치와각도변화에잘대처할수있게해줌, 최대 / 평균풀링 우리뇌의시각피질이물체를이해하는매커니즘모사, 신경세포들이물체의방향과장소가바뀌어도별문제없이인식할수있었던이유인 컨볼루션 개념을신경망모델에적용 ImageNet 데이터집합은 1000 개의이미지클래스에해당하는 120 만개이미지보유 ImageNet Challenge 에서더좋은성능을보이기위해모델의층이깊어지고있음 AlexNet(8 층 ) VGG(19 층 ) GoogleNet(22 층 ) ResNet(152 층 )
244 인공지능을위한머신러닝알고리즘 10. 재현신경망
245 CONTENTS 1 재현신경망의원리 2 GRU, LSTM: 재현신경망의한계를넘어 3 어떻게기계가글을생성할수있을까
246 학습목표 학습목표 재현신경망의학습원리를이해할수있다. 재현신경망이가진그라디언트손실문제를이해할수있다. 언어모델로써재현신경망이어떻게글을생성하는지이해할수있다.
247 1. 재현신경망의원리
248 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 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 은닉층 = 컨텍스트층 = 히스토리층 역전파를사용하여모델파라미터학습
249 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
250 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
251 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 )
252 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
253 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
254 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 으로수렴할수있음 시간에대한길이가깊어질수록학습이잘되지않음
255 1. 재현신경망의원리 그라디언트폭발발생 만약파라미터의값이매우클경우 ( 예 > 100 이상 ) Ws z 3 Ws z 2 Ws 의z 1 식에서매우큰값을계산하게됨 그라디언트값이매우커져서 NaN 이되거나프로그램종료발생 해결책 : 그라디언트클리핑 (Gradient Clipping) 그라디언트손실이더욱문제가됨 그라디언트폭발은프로그램종료에의해알아채기쉽고해결책이분명하지만, 그라디언트손실은발생사실을알기어렵고해결책이불분명
256 2. GRU, LSTM: 재현신경망의한계를넘어
257 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 )
258 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
259 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
260 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 으로설정하면일반적인재현신경망이될수있음
261 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
262 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
263 3. 어떻게기계가글을생성할수있을까
264 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) = 이전단어들의집합이컨텍스트로주어졌을때, 다음단어가등장할확률의연속적인곱셈으로나타남
265 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
266 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. 영어 - 셰익스피어의글을대신생성
267 학습정리
268 학습정리 지금까지 [ 재현신경망 ] 에대해서살펴보았습니다. 재현신경망은시계열데이터를확률적으로모델링학습가능파라미터 : 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
269 인공지능을위한머신러닝알고리즘 11. 메모리네트워크
270 CONTENTS 1 메모리네트워크 2 종단메모리네트워크 3 나와질의응답을하는메모리네트워크
271 학습목표 학습목표 메모리네트워크의특징과작동원리를이해할수있다. 메모리네트워크와종단메모리네트워크의차이점을이해할수있다. babi task 를사용한메모리네트워크의언어학습능력을이해할수있다.
272 1. 메모리네트워크
273 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
274 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 답변생성
275 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
276 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 답변생성
277 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
278 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 는임베딩행렬
279 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 이됨
280 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 를학습
281 1. 메모리네트워크 메모리네트워크의의의 신경망 신경망 메모리에저장한뒤유사성비교
282 2. 종단메모리네트워크
283 2. 종단메모리네트워크 종단학습모델 (End-to-End Learning Model) 종단학습모델이란 주어진문제를풀기위해서유용한내부적특징표현들을스스로학습하고다양한중간단계의과정들을학습알고리즘하나로통합하여전체적인작업을종단으로수행하는모델 전통적인방법 카메라이미지 자동차검출 보행자검출 주행계획 핸들방향 종단학습 카메라이미지 핸들방향
284 2. 종단메모리네트워크 종단학습모델 (End-to-End Learning Model) 종단학습모델이란 전통적인방법 카메라이미지 자동차검출 보행자검출 주행계획 핸들방향 종단학습 카메라이미지 핸들방향 기존메모리네트워크의스토리선택모듈 ( 함수 G) 를학습시키기위해서질의에대한적절한스토리정보를사람이추가로작성해야함 (too expensive!) 종단학습메모리네트워크는 (End-to-End Memory Networks) 종단학습방식을사용하여훈련과정에서추가적인감독 (Supervision) 이필요하지않음
285 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
286 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
287 3. 나와질의응답을하는메모리네트워크
288 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 Where is John? A: bathroom 5 20 개의테스트로구성되며, 각테스트는별도의고유한추론능력을요구함 1,000 개의훈련데이터쌍 / 1,000 개의테스트데이터쌍으로구성 Supporting fact 라고불리는답에대한근거문장정보가표시되어있지만, 이러한감독정보를최소한으로사용하는모델이선호됨
289 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 귀납추론문제의예
290 3. 나와질의응답을하는메모리네트워크 메모리네트워크를통한질의응답 입력 : 문장 supporting fact 선택함수 정답선택함수
291 3. 나와질의응답을하는메모리네트워크 babi Task 에대한메모리네트워크의성능 ngram LSTM SVM MemNN 성공여부 (p>95) 멀티태스크학습 1. Supporting fact 한개 성공 Supporting fact 두개 성공 Supporting fact 세개 성공 98 4, 두개객체의관계 성공 세개객체의관계 성공 예 / 아니오 성공 개수세기 실패 객체집합 실패 부정표현 성공 불확실한지식 성공 공동참조 (Coreference) 성공 Conjunction 성공 복합참조 성공 시간추론 성공 연역추론 성공 귀납추론 성공 장소추론 실패 크기추론 성공 길찾기 실패 의도추론 성공 100 평균
292 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...
293 3. 어떻게기계가글을생성할수있을까 질의응답 + 대화데이터에대한메모리네트워크의성능 메모리를활용한모델이우수한성능을보임 단순질의응답 영화추천 질의응답 + 추천 Reddit 대화 SVD N/A 19.2 N/A N/A IR N/A N/A N/A 23.7 LSTM Supervised embeddings MemN2N
294 3. 나와질의응답을하는메모리네트워크 기계학습알고리즘의메모리사용에관한이슈들 입력으로들어오는정보중무엇을저장할지말지어떻게결정할수있을까? 메모리에저장되는지식을어떻게표현해야할까? 메모리에는여러종류 ( 배열, 스택구조등 ) 가있는데이들을어떻게활용할수있을까? 메모리에저장되는정보의크기가매우클때, 어떻게효율적으로탐색할수있을까? 계층적메모리를어떻게설계할수있을까? 합성함수의사용과같은계층적추론을어떻게할수있을까? 정보의손실 ( 망각, unlearning) 을어떻게구현할수있을까? 추론모델을평가하는가장좋은방법은무엇일까? 어떤문제가가장좋은평가가될수있을까? 사람, 동물의기억행위에서얻을수있는영감에는무엇이있을까?
295 학습정리
296 학습정리 지금까지 [ 메모리네트워크 ] 에대해서살펴보았습니다. 기존재현신경망의단점 : 은닉유닛벡터가제한된공간에많은입력정보를저장해야함메모리네트워크 : 재현신경망의저장공간한계문제를극복하기위해제안되었으며 * 스토리선택모듈 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 가지로나누어테스트하려는문제기존룰기반방식에서메모리네트워크를활용하는머신러닝방식의해결책이제시됨
297 인공지능을위한머신러닝알고리즘 12. 딥러닝응용사례
298 CONTENTS 1 구글번역기는어떤원리일까? 2 메모리와주의집중기작 3 이미지를자동으로설명해주는기계
299 학습목표 학습목표 딥러닝을활용한자동번역기의원리를이해할수있다. 메모리와주의집중기작이어떻게딥러닝의문제를해결했는지이해할수있다. 딥러닝을활용한언어와시각의결합을이해할수있다.
300 1. 구글번역기는어떤원리일까?
301 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
302 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 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 은닉층 = 컨텍스트층 = 히스토리층 역전파를사용하여모델파라미터학습
303 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
304 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 ) 인코더재현신경망은입력문장의단어들을모두인코딩한은닉벡터 h Ta 를디코더재현신경망에넘겨줌 h t = f(u e x t + W e h t-1 )
305 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) 재현신경망의파라미터를초기파라미터로설정할수있음
306 1. 구글번역기는어떤원리일까? 신경망을이용한기계번역의특징 경사하강법을이용하여입력층부터출력층까지한꺼번에종단학습가능 인코더와디코더재현신경망은원본문장과타겟문장을분산표현으로나타낼수있음 번역문제를의미적공간 ( 은닉유닛공간 ) 을사용하여학습할수있음 기존통계적기계학습의방식과달리미리정의된단어정렬방식을사용하지않음 개념적으로이해하기쉬운디코딩방식사용, 음성인식과비슷한크기의복잡도 통계적기계학습에비해적은모델파라미터개수사용 더적은메모리사용
307 2. 메모리와주의집중기작
308 2. 메모리와주의집중기작 문제점 : 제한된은닉유닛의크기 인코더재현신경망의가장마지막시간의은닉유닛 h Ta 가입력문장의모든정보를담고있어야함 입력의길이 Ta 가길어질경우인코딩해야할정보가많아짐 최근에입력된정보는잘기억하지만, 오래전에입력된정보는손실될수있음 번역에서는큰문제 주로사용되는은닉유닛의크기 : 4096
309 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
310 2. 메모리와주의집중기작 문제점 : 메모리와주의집중기작 인코더재현신경망에서양방향재현신경망에서계산한은닉유닛들을메모리에저장 입력문장의전체길이만큼의은닉유닛개수가저장됨 오래전에입력으로주어진단어의정보도갖고있음
311 2. 메모리와주의집중기작 문제점 : 메모리와주의집중기작 디코더재현신경망의입력으로인코더재현신경망은닉유닛들의선형조합이사용됨 인코더신경망의각은닉유닛은입력문장에서한개의단어정보를인코딩 은닉유닛들의가중치의합 : 1 번역기에서출력되는단어들은가중치에따라입력으로주어진단어들을선별적으로고려 ( 주의집중 )
312 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 인코더재현신경망은닉유닛
313 2. 메모리와주의집중기작 구글의자동번역기 (GNMT) ( ) 재현신경망대신 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
314 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 의의료종사자는전화기를사용하여환자기록을확인합니다.
315 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 이상일치빨강색 = 일치하지않음
316 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 를사용
317 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 최종점수 : = 0.613
318 3. 이미지를자동으로설명해주는기계
319 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
320 3. 이미지를자동으로설명해주는기계 신경망을이용한이미지번역 설명문출력 주의집중기작 이미지인코딩 이미지분할
321 3. 이미지를자동으로설명해주는기계 이미지번역의예시
322 학습정리
323 학습정리 지금까지 [ 딥러닝응용사례 ] 에대해서살펴보았습니다. 인코더 - 디코더모델사용인코더재현신경망 : 원본문장을연속된벡터공간에임베딩시킴디코더재현신경망 : 원본문장의정보 h Ta 와이전단계의출력단어 y t-1, 디코더의은닉유닛 s t-1 을기반으로다음단어 y t 예측 재현신경망의은닉유닛의크기가한정되어있기때문에오래전입력으로들어온단어의정보가손실됨인코더재현신경망의은닉유닛들을메모리에저장하고선형조합 ( 주의집중기작 ) 이미지를여러등분으로나눈뒤, 부분이미지들을컨볼루션신경망으로인코딩시킴인코딩된벡터들은순서대로디코더재현신경망에입력됨
324 인공지능을위한머신러닝알고리즘 13. Weka 를이용한머신러닝실습
325 CONTENTS 1 Weka 소개 2 Weka 로붓꽃 (iris) 분류하기
326 학습목표 학습목표 Weka 를사용하여데이터를전처리하고분석할수있다. Weka 로분류를하기위해알고리즘의파라미터를설정할수있다. Weka 로부터얻은분류결과를해석할수있다.
327 1. Weka 소개
328 1. Weka 소개 Weka 란? Weka(Waikato Environment for Knowledge Analysis) 뉴질랜드의 Waikato 대학교컴퓨터공학부에서제작 Weka는뉴질랜드에서만발견되는새이기도함 대표적인기계학습알고리즘모음, 데이터마이닝도구
329 1. Weka 소개 Weka 의특징 Weka 의주요기능 데이터전처리, 특징값선별 (Feature Selection) 군집화, 데이터가시화 분류, 회귀분석, 시계열예측 소프트웨어특성 무료및소스공개소프트웨어 (free & open source GNU General Public License) Java 로구현, 다양한플랫폼에서실행가능
330 1. Weka 소개 Weka 를구성하는인터페이스 Explorer : 다양한분석작업을한단계씩분석수행및결과확인가능, 일반적으로가장먼저실행 Experimenter: 분류및회귀분석을일괄처리. 결과비교분석 - 다양한알고리즘및파라미터설정 - 여러데이터알고리즘조합동시분석 - 분석모델간통계적비교 - 대규모통계적실험수행 KnowledgeFlow: 데이터처리과정의주요모듈을그래프로가시화하여구성 Simple CLI: 다른인터페이스를컨트롤하는스크립트입력창 Weka 의모든기능을명령어로수행가능
331 2. Weka 로붓꽃 (iris) 분류하기
332 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
333 2. Weka 로붓꽃 (iris) 분류하기 기계학습 패턴분류절차 패턴분류수행 기계학습알고리즘을활용 예 > 결정트리, 랜덤포레스트, SVM, 다층퍼셉트론 패턴분류성능평가 패턴분류모델의상대적비교과정 ( 알고리즘 + 파라미터설정 ) 다양한평가기준을적용 : 분류정확도, precision + recall 등
334 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
335 2. Weka 로붓꽃 (iris) 분류하기 데이터셋 파일열기 Weka 폴더 data 폴더에서 iris.arff 파일선택
336 2. Weka 로붓꽃 (iris) 분류하기 데이터셋 - Weka 의데이터형식 iris Dataset name Attribute name Attribute type 헤더 데이터 (csv sepallength sepalwidth petallength petalwidth class 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 포맷의파일생성가능
337 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
338 2. Weka 로붓꽃 (iris) 분류하기 데이터셋구성 전처리 (1) 적용할 filter 를선택 특징 (attribute) 데이터차원축소 weka.filters.supervised.attribute.attributeselection 데이터변형및데이터이산화 weka.filters.supervised.attribute.discretize weka.filters.unsupervised.attribute.normalize, Standardize 적용가능한데이터전처리기법 선택후 apply 버튼클릭
339 2. Weka 로붓꽃 (iris) 분류하기 데이터셋구성 전처리 (1) 데이터인스턴스 데이터개수증대 weka.filters.supervised.instance.resample weka.filters.supervised.instance.smote 적용가능한데이터전처리기법 선택후 apply 버튼클릭
340 2. Weka 로붓꽃 (iris) 분류하기 데이터셋구성 전처리 (2) 특징값별기초적통계분석 (Selected Attribute) 모든특징값을대상으로클래스레이블분포가시화 특징값삭제 (Remove Attributes)
341 2. Weka 로붓꽃 (iris) 분류하기 패턴분류수행 - 알고리즘선택 J48 (c4.5 의 Java 구현버전 ) 학습결과모델에서분류규칙을 트리 형태로얻을수있음 Weka 에서찾아가기 : classifiers-trees-j48 랜덤포레스트 결정트리의앙상블모델 특징들을무작위로선택하여결정트리들이생성됨 분류과정에서각트리는투표를하며가장많은표를얻은클래스가선택됨 Weka 에서찾아가기 : classifiers-trees-randomforest 다층퍼셉트론 실용적으로매우폭넓게쓰이는대표적분류알고리즘 Weka 에서찾아가기 : classifiers-functions-multilayerperceptron
342 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
343 2. Weka 로붓꽃 (iris) 분류하기 패턴분류성능평가 평가를위한데이터집합세팅 다양한평가방법제공
344 2. Weka 로붓꽃 (iris) 분류하기 패턴분류성능평가 실행정보 분류모델 ( 훈련데이터학습모델 ) 평가결과 - 종합적요약 - 클래스별성능 - Confusion Matrix 결과는모델에따라변할수있음
345 학습정리
346 학습정리 지금까지 [Weka 를이용한머신러닝실습 ] 에대해서살펴보았습니다. 데이터전처리 : 특징값선별 (feature selection) / 제거, 데이터리샘플링데이터분류 : 결정트리, 랜덤포레스트, 다층퍼셉트론등다양한알고리즘선택회귀분석및시계열예측 헤더 : relation, attributes, data 데이터 : csv format Excel 을이용하여 csv 파일생성후, 헤더를추가하여 arff 파일생성 테스트옵션 : cross validation 결과해석 : confusion matrix, classification accuracy, precision / recall
347 인공지능을위한머신러닝알고리즘 14. Theano 를통한머신러닝구현
348 CONTENTS 1 Theano 란? 2 Theano 로 GPU 프로그래밍실습하기 3 Theano 로신경망구현하기
349 학습목표 학습목표 Theano 의기본적인문법과 Symbolic Expression 을이해할수있다. Theano 의 GPU 연산과정을이해할수있다. Theano 를사용하여신경망을구현해보고실행할수있다.
350 1. Theano 란?
351 1. Theano 란? Theano 의특징 LISA Lab( 에서만든 Python 기반오픈소스 Package 장점 Symbolic 연산철학으로간결하고빠르게모델구현가능 Symbolic 미분이가능하므로역전파등을직접구현할필요가없음 동일한코드를 CPU 와 GPU 에서모두사용가능 Python 기반이므로, numpy, scipy 등다양한 Python 패키지와의연동할수있음 단점 복잡하고알기어려운에러메시지
352 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))
353 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)
354 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 값
355 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) 의도함수계산 복잡한역전파계산을직접구현할필요가없음
356 2. Theano 로 GPU 프로그래밍실습하기
357 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
358 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
359 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
360 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
361 3. Theano 로신경망구현하기
362 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 차원벡터 D = {X,Y} N = 400 N = 각특징값들은평균 0, 분산 1 인가우시안분포에서무작위로샘플링 레이블
363 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() Parameters θ b_1 w_2 b_2 w_1
364 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() * ((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 차원벡터
365 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
366 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
367 학습정리
368 학습정리 지금까지 [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 를사용하여빠른학습가능간결한코드작성가능, 미분의자동계산으로프로그래머의일을줄여줌
369 인공지능을위한머신러닝알고리즘 15. Keras 를통한딥러닝구현및실습
370 CONTENTS 1 Keras 란? 2 Keras 로컨볼루션신경망구현하기
371 학습목표 학습목표 Keras 라이브러리의특징과기본적인함수들을사용할수있다. Keras 로컨볼루션신경망을구현할수있다. Keras 를사용하여이미지를분석할수있다.
372 1. Keras 란?
373 1. Keras 란? Keras 의특징 Keras의기본아이디어는모델의층들과그것들의입력과출력에있음 Keras를사용하여모델구축하기 1. 입력 / 출력데이터를준비 2. 첫번째층을생성하고입력데이터에맞게설정해줌 3. 마지막층을생성하고출력데이터에맞게설정해줌 4. 입력층과출력층사이에원하는레이어를생성해줌
374 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)
375 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)
376 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
377 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로설정 층의이름에맞게파라미터가불러옴 모델의구조는변하지않음
378 1. Keras 란? 모델종류 : Sequential Sequential 모델은층들의스택 (stack) 으로이뤄짐 이전강의들에서배운컨볼루션 / 재현신경망과같은모델 각층은그다음층에입력을제공해주는객체의역할수행
379 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)
380 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
381 1. Keras 란? Graph 모델의예시
382 1. Keras 란? Keras 의장단점 장점 쉬운모델구현다양한함수제공손쉽게커스터마이징가능 GPU를활용한빠른계산직관적인함수제공활발한커뮤니티 단점 생성모델의부족 고수준라이브러리 Theano 사용에따른에러분석의어려움
383 2. Keras 로컨볼루션신경망구현하기
384 2. Keras 로컨볼루션신경망구현하기 VGG-16 모델정의 모델종류 : Sequential 역할 : 층들의스택을위한빈모델생성 # build the VGG16 network model = Sequential() Sequential 모델의첫층에서는입력데이터의모양이어떻게생겼는지에관한정보를알고있어야함 인수 batch_input_shape: 데이터튜플의모양 예 > (1, 3, 640, 480) 배치크기 채널개수 (R,G,B) 이미지넓이 이미지높이
385 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)))
386 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'))
387 2. Keras 로컨볼루션신경망구현하기 VGG-16 모델정의 층이름 : MaxPooling2D 층종류 : 컨볼루션층역할 : 시계열데이터에대해서최대풀링계산인수 pooling_length: 최대풀링을적용할지역크기설정 stride: 다운스케일할 int 값 ( 예 > 2는입력의크기를절반으로줄임 ) model.add(maxpooling2d((2, 2), strides=(2, 2)))
388 학습정리
딥러닝 첫걸음
딥러닝첫걸음 4. 신경망과분류 (MultiClass) 다범주분류신경망 Categorization( 분류 ): 예측대상 = 범주 이진분류 : 예측대상범주가 2 가지인경우 출력층 node 1 개다층신경망분석 (3 장의내용 ) 다범주분류 : 예측대상범주가 3 가지이상인경우 출력층 node 2 개이상다층신경망분석 비용함수 : Softmax 함수사용 다범주분류신경망
More informationIntroduction to Deep learning
Introduction to Deep learning Youngpyo Ryu 동국대학교수학과대학원응용수학석사재학 youngpyoryu@dongguk.edu 2018 년 6 월 30 일 Youngpyo Ryu (Dongguk Univ) 2018 Daegu University Bigdata Camp 2018 년 6 월 30 일 1 / 66 Overview 1 Neuron
More informationCh 1 머신러닝 개요.pptx
Chapter 1. < > :,, 2017. Slides Prepared by,, Biointelligence Laboratory School of Computer Science and Engineering Seoul National University 1.1 3 1.2... 7 1.3 10 1.4 16 1.5 35 2 1 1.1 n,, n n Artificial
More information1-1-basic-43p
A Basic Introduction to Artificial Neural Network (ANN) 도대체인공신경망이란무엇인가? INDEX. Introduction to Artificial neural networks 2. Perceptron 3. Backpropagation Neural Network 4. Hopfield memory 5. Self Organizing
More information(Hyunoo Shim) 1 / 24 (Discrete-time Markov Chain) * 그림 이산시간이다연쇄 (chain) 이다왜 Markov? (See below) ➀ 이산시간연쇄 (Discrete-time chain): : Y Y 의상태공간 = {0, 1, 2,..., n} Y n Y 의 n 시점상태 {Y n = j} Y 가 n 시점에상태 j 에있는사건
More information슬라이드 1
빅데이터분석을위한데이터마이닝방법론 SAS Enterprise Miner 활용사례를중심으로 9 주차 예측모형에대한평가 Assessment of Predictive Model 최종후, 강현철 차례 6. 모형평가의기본개념 6.2 모델비교 (Model Comparison) 노드 6.3 임계치 (Cutoff) 노드 6.4 의사결정 (Decisions) 노드 6.5 기타모형화노드들
More information지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월
지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., 2004 5 2009 12 KOSPI200.,. * 2009. 지능정보연구제 16 권제 1 호 2010 년 3 월 김선웅 안현철 社 1), 28 1, 2009, 4. 1. 지능정보연구제 16 권제 1 호 2010 년 3 월 Support
More information(Microsoft PowerPoint - Ch19_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])
수치해석 6009 Ch9. Numerical Itegratio Formulas Part 5. 소개 / 미적분 미분 : 독립변수에대한종속변수의변화율 d vt yt dt yt 임의의물체의시간에따른위치, vt 속도 함수의구배 적분 : 미분의역, 어떤구간내에서시간 / 공간에따라변화하는정보를합하여전체결과를구함. t yt vt dt 0 에서 t 까지의구간에서곡선 vt
More informationPowerPoint Presentation
4 장. 신경망 들어가는말 신경망 1940년대개발 ( 디지털컴퓨터와탄생시기비슷 ) 인간지능에필적하는컴퓨터개발이목표 4.1 절 일반적관점에서간략히소개 4.2-4.3 절 패턴인식의분류알고리즘으로서구체적으로설명 4.2 절 : 선형분류기로서퍼셉트론 4.3 절 : 비선형분류기로서다층퍼셉트론 4.1.1 발상과전개 두줄기연구의시너지 컴퓨터과학 계산능력의획기적발전으로지능처리에대한욕구의학
More informationVector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표
Vector Differential: 벡터 미분 Yonhee Lee October 7, 08 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표기법을 정의하는 방법이다 보통 스칼라(scalar)에 대한 미분은 일분수 함수 f : < < 또는 다변수 함수(function
More informationPowerPoint Presentation
5 불대수 IT CookBook, 디지털논리회로 - 2 - 학습목표 기본논리식의표현방법을알아본다. 불대수의법칙을알아본다. 논리회로를논리식으로논리식을논리회로로표현하는방법을알아본다. 곱의합 (SOP) 과합의곱 (POS), 최소항 (minterm) 과최대항 (mxterm) 에대해알아본다. 01. 기본논리식의표현 02. 불대수법칙 03. 논리회로의논리식변환 04.
More information<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>
SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......
More information소성해석
3 강유한요소법 3 강목차 3. 미분방정식의근사해법-Ritz법 3. 미분방정식의근사해법 가중오차법 3.3 유한요소법개념 3.4 편미분방정식의유한요소법 . CAD 전처리프로그램 (Preprocessor) DXF, STL 파일 입력데이타 유한요소솔버 (Finite Element Solver) 자연법칙지배방정식유한요소방정식파생변수의계산 질량보존법칙 연속방정식 뉴톤의운동법칙평형방정식대수방정식
More information신경망 (Neural Networks) < 인공지능입문 > 강의 허민오 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University
신경망 (Neural Networks) < 인공지능입문 > 강의 허민오 Bioitelligece Laboratory School of Computer Sciece ad Egieerig Seoul Natioal Uiversity 목차 신경망이란? 퍼셉트론 - 퍼셉트론의구조와학습목표 - 퍼셉트론의활성화함수 - 퍼셉트론의학습 : 델타규칙신경망의학습 - 다층퍼셉트론
More informationadfasdfasfdasfasfadf
C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.
More information비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2
비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,
More information표본재추출(resampling) 방법
표본재추출 (resampling) 방법 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 표본재추출 (resampling) 방법 1 / 18 학습내용 개요 CV(crss-validatin) 검증오차 LOOCV(leave-ne-ut crss-validatin) k-fld CV 편의-분산의관계분류문제에서의 CV Btstrap 박창이 ( 서울시립대학교통계학과
More informationResampling Methods
Resampling Methds 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) Resampling Methds 1 / 18 학습내용 개요 CV(crss-validatin) 검증오차 LOOCV(leave-ne-ut crss-validatin) k-fld CV 편의-분산의관계분류문제에서의 CV Btstrap 박창이 ( 서울시립대학교통계학과 )
More informationSequences with Low Correlation
레일리페이딩채널에서의 DPC 부호의성능분석 * 김준성, * 신민호, * 송홍엽 00 년 7 월 1 일 * 연세대학교전기전자공학과부호및정보이론연구실 발표순서 서론 복호화방법 R-BP 알고리즘 UMP-BP 알고리즘 Normalied-BP 알고리즘 무상관레일리페이딩채널에서의표준화인수 모의실험결과및고찰 결론 Codig ad Iformatio Theory ab /15
More informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향
More informationMicrosoft PowerPoint - ºÐÆ÷ÃßÁ¤(ÀüÄ¡Çõ).ppt
수명분포및신뢰도의 통계적추정 포항공과대학교산업공학과전치혁.. 수명및수명분포 수명 - 고장 까지의시간 - 확률변수로간주 - 통상잘알려진분포를따른다고가정 수명분포 - 확률밀도함수또는 누적 분포함수로표현 - 신뢰도, 고장률, MTTF 등신뢰성지표는수명분포로부터도출 - 수명분포추정은분포함수관련모수의추정 누적분포함수및확률밀도함수 누적분포함수 cumulav dsbuo
More information문제지 제시문 2 보이지 않는 영역에 대한 정보를 얻기 위하여 관측된 다른 정보를 분석하여 역으로 미 관측 영역 에 대한 정보를 얻을 수 있다. 가령 주어진 영역에 장애물이 있는 경우 한 끝 점에서 출발하여 다른 끝 점에 도달하는 최단 경로의 개수를 분석하여 장애물의
제시문 문제지 2015학년도 대학 신입학생 수시모집 일반전형 면접 및 구술고사 수학 제시문 1 하나의 동전을 던질 때, 앞면이나 뒷면이 나온다. 번째 던지기 전까지 뒷면이 나온 횟수를 라 하자( ). 처음 던지기 전 가진 점수를 점이라 하고, 번째 던졌을 때, 동전의 뒷면이 나오면 가지고 있던 점수를 그대로 두고, 동전의 앞면이 나오면 가지고 있던 점수를 배
More information슬라이드 1
장연립방정식을 풀기위한반복법. 선형시스템 : Guss-Sedel. 비선형시스템 . 선형시스템 : Guss-Sedel (/0) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정식을푸는반복법중에서 가장보편적으로사용되는방법이다. 개의방정식에서 인 ( 대각원소들이모두 0 이아닌 ) 경우를다루자. j j b j b j j j
More informationstatistics
수치를이용한자료요약 statistics hmkang@hallym.ac.kr 한림대학교 통계학 강희모 ( 한림대학교 ) 수치를이용한자료요약 1 / 26 수치를 통한 자료의 요약 요약 방대한 자료를 몇 개의 의미있는 수치로 요약 자료의 분포상태를 알 수 있는 통계기법 사용 중심위치의 측도(measure of center) : 어떤 값을 중심으로 분포되어 있는지
More information<B4EBC7D0BCF6C7D02DBBEFB0A2C7D4BCF62E687770>
삼각함수. 삼각함수의덧셈정리 삼각함수의덧셈정리 삼각함수 sin (α + β ), cos (α + β ), tan (α + β ) 등을 α 또는 β 의삼각함수로나 타낼수있다. 각 α 와각 β 에대하여 α >0, β >0이고 0 α - β < β 를만족한다고가정하 자. 다른경우에도같은방법으로증명할수있다. 각 α 와각 β 에대하여 θ = α - β 라고놓자. 위의그림에서원점에서거리가
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More informationMulti-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구
Siamese Neural Network 박천음 강원대학교 Intelligent Software Lab. Intelligent Software Lab. Intro. S2Net Siamese Neural Network(S2Net) 입력 text 들을 concept vector 로표현하기위함에기반 즉, similarity 를위해가중치가부여된 vector 로표현
More informationPowerPoint Presentation
Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음
More information<4D6963726F736F667420576F7264202D20B1E2C8B9BDC3B8AEC1EE2DC0E5C7F5>
주간기술동향 2016. 5.18. 컴퓨터 비전과 인공지능 장혁 한국전자통신연구원 선임연구원 최근 많은 관심을 받고 있는 인공지능(Artificial Intelligence: AI)의 성과는 뇌의 작동 방식과 유사한 딥 러닝의 등장에 기인한 바가 크다. 이미 미국과 유럽 등 AI 선도국에서는 인공지능 연구에서 인간 뇌 이해의 중요성을 인식하고 관련 대형 프로젝트들을
More information(Microsoft PowerPoint - Ch21_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])
수치해석 161009 Ch21. Numerical Differentiation 21.1 소개및배경 (1/2) 미분 도함수 : 독립변수에대한종속변수의변화율 y = x f ( xi + x) f ( xi ) x dy dx f ( xi + x) f ( xi ) = lim = y = f ( xi ) x 0 x 차분근사 도함수 1 차도함수 : 곡선의한점에서접선의구배 21.1
More information장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정
. 선형시스템 : GussSedel. 비선형시스템. 선형시스템 : GussSedel (/0) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. GS 방법은선형대수방정식을푸는반복법중에서 가장보편적으로사용되는방법이다. 개의방정식에서 인 ( 대각원소들이모두 0 이아닌 ) 경우를다루자. j j b j j b j j 여기서 j b j j j 현재반복단계
More information퇴좈저널36호-4차-T.ps, page 2 @ Preflight (2)
Think Big, Act Big! Character People Literature Beautiful Life History Carcere Mamertino World Special Interview Special Writing Math English Quarts I have been driven many times to my knees by the overwhelming
More informationch3.hwp
미디어정보처리 (c) -4 한남대 정보통신멀티미디어학부 MCCLab. - -...... (linear filtering). Z k = n i = Σn m Σ j = m M ij I ji 컨볼루션 영역창 I I I I 3 I 4 I 5 I 6 I 7 I 8 x 컨볼루션 마스크 M M M M 3 M 4 M 5 M 6 M 7 M 8 I 입력 영상 Z 4 = 8 k
More information3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >
. 변수의수 ( 數 ) 가 3 이라면카르노맵에서몇개의칸이요구되는가? 2칸 나 4칸 다 6칸 8칸 < > 2. 다음진리표의카르노맵을작성한것중옳은것은? < 나 > 다 나 입력출력 Y - 2 - 3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < > 2 2 2 2 2 2 2-3 - 5. 다음진리표를간략히한결과
More informationMicrosoft PowerPoint - chap_2_rep.ppt [호환 모드]
제 강.1 통계적기초 확률변수 (Radom Variable). 확률변수 (r.v.): 관측되기전까지는그값이알려지지않은변수. 확률변수의값은확률적실험으로부터결과된다. 확률적실험은실제수행할수있는실험뿐아니라가상적실험도포함함 (ex. 주사위던지기, [0,1] 실선에점던지기 ) 확률변수는그변수의모든가능한값들의집합에대해정의된알려지거나알려지지않은어떤확률분포의존재가연계됨 반면에,
More information비선형으로의 확장
비선형으로의확장 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 비선형으로의확장 1 / 30 개요 선형모형은해석과추론에장점이있는반면예측력은제한됨능형회귀, lasso, PCR 등의방법은선형모형을이용하는방법으로모형의복잡도를감소시켜추정치의분산을줄이는효과가있음해석력을유지하면서비선형으로확장다항회귀 (polynomial regression): ( 예 )
More information( 분류및특징 ) 학습방법에따라 1 지도학습 (Supervised 2 비지도 학습 (Unsupervised 3 강화학습 (Reinforcement 으로구분 3) < 머신러닝의학습방법 > 구분 지도학습 (Supervised 비지도학습 (Unsupervised 강화학습 (
보안연구부 -2016-016 머신러닝 (Machine 개요및활용동향 - 금융권인공지능 (AI) 을위한머신러닝과딥러닝 - ( 보안연구부보안기술팀 / 2016.3.24.) 개요 이세돌 9단과인공지능 (AI, Artificial Intelligence) 알파고 (AlphaGo) 의대국 ( 16 년 3월 9~15일총 5국 ) 의영향으로 4차산업혁명단계 1) 진입을인식함과더불어금융권에서도인공지능기술이주목받게됨에따라,
More information(2) 다중상태모형 (Hyunoo Shim) 1 / 2 (Coninuous-ime Markov Model) ➀ 전이가일어나는시점이산시간 : = 1, 2,, 4,... [ 연속시간 : 아무때나, T 1, T 2... * 그림 (2) 다중상태모형 ➁ 계산과정 이산시간 : 전이력 (force of ransiion) 정의안됨 전이확률 (ransiion probabiliy)
More information완벽한개념정립 _ 행렬의참, 거짓 수학전문가 NAMU 선생 1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에
1. 행렬의참, 거짓개념정리 1. 교환법칙과관련한내용, 는항상성립하지만 는항상성립하지는않는다. < 참인명제 > (1),, (2) ( ) 인경우에는 가성립한다.,,, (3) 다음과같은관계식을만족하는두행렬 A,B에대하여 AB=BA 1 가성립한다 2 3 (4) 이면 1 곱셈공식및변형공식성립 ± ± ( 복호동순 ), 2 지수법칙성립 (은자연수 ) < 거짓인명제 >
More informationPowerPoint 프레젠테이션
3 장. 다층퍼셉트론 PREVIEW 신경망 기계학습역사에서가장오래된기계학습모델이며, 현재가장다양한형태를가짐 1950년대퍼셉트론 1980년대다층퍼셉트론 3장은 4장딥러닝의기초가됨 3.1 신경망기초 3.1.1 인공신경망과생물신경망 3.1.2 신경망의간략한역사 3.1.3 신경망의종류 3.1.1 인공신경망과생물신경망 사람의뉴런 두뇌의가장작은정보처리단위 세포체는 cell
More informationPowerPoint 프레젠테이션
딥러닝소개 < 인공지능입문 > 강의 허민오 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University (C) 2007-2018, SNU Biointelligence Lab, http://bi.snu.ac.kr/ 1 Playground (playground.tensorflow.org)
More informationProbability Overview Naive Bayes Classifier Director of TEAMLAB Sungchul Choi
Probability Overview Naive Bayes Classifier Director of TEAMLAB Sungchul Choi 머신러닝의학습방법들 - Gradient descent based learning - Probability theory based learning - Information theory based learning - Distance
More information1 경영학을 위한 수학 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
경영학을 위한 수학 Fial Eam 5//(토) :-5: 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오.. (각 6점) 다음 적분을 구하시오 4 ( ) (a) ( )4 8 8 (b) d이 성립한다. d C C log log (c) 이다. 양변에 적분을 취하면 log C (d) 라 하자. 그러면 d 4이다. 9 9 4 / si (e) cos si
More information제1강 인공지능 개념과 역사
인공지능개념과역사 < 인공지능입문 > 강의노트 장병탁서울대학교컴퓨터공학부 & 인지과학 / 뇌과학협동과정 http://bi.snu.ac.kr/~btzhang/ Version: 20180302 목차 인공지능의개념........ 3 연구분야............ 4 역사...... 6 패러다임........ 7 응용사례.......... 8 Reading Assignments.........
More informationMicrosoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt
변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short
More information슬라이드 1
Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치
More information(001~006)개념RPM3-2(부속)
www.imth.tv - (~9)개념RPM-(본문).. : PM RPM - 대푯값 페이지 다민 PI LPI 알피엠 대푯값과산포도 유형 ⑴ 대푯값 자료 전체의 중심적인 경향이나 특징을 하나의 수로 나타낸 값 ⑵ 평균 (평균)= Ⅰ 통계 (변량)의 총합 (변량의 개수) 개념플러스 대푯값에는 평균, 중앙값, 최 빈값 등이 있다. ⑶ 중앙값 자료를 작은 값부터 크기순으로
More informationchap 5: Trees
5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경
More information11장 포인터
누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리
More information<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>
연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.
More information= ``...(2011), , (.)''
Finance Lecture Note Series 사회과학과 수학 제2강. 미분 조 승 모2 영남대학교 경제금융학부 학습목표. 미분의 개념: 미분과 도함수의 개념에 대해 알아본다. : 실제로 미분을 어떻게 하는지 알아본다. : 극값의 개념을 알아보고 미분을 통해 어떻게 구하는지 알아본다. 4. 미분과 극한: 미분을 이용하여 극한값을 구하는 방법에 대해 알아본다.
More informationCh 8 딥강화학습
Chapter 8. 딥강화학습 < 기계학습개론 > 강의서울대학교컴퓨터공학부장병탁 교재 : 장교수의딥러닝, 홍릉과학출판사, 2017. Slides Prepared by 장병탁, 최진영 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Version
More information체의원소를계수로가지는다항식환 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
체의원소를계수로가지는다항식환 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 m, b m 0 F, m > 0 에대해 f(x) = g(x)q(x) + r(x) 을만족하는
More informationPowerPoint 프레젠테이션
System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소
More informationProbabilistic graphical models: Assignment 3 Seung-Hoon Na June 7, Gibbs sampler for Beta-Binomial Binomial및 beta분포는 다음과 같이 정의된다. k Bin(n, θ):
Probabilistic graphical models: Assignment 3 Seung-Hoon Na June 7, 207 Gibbs sampler for Beta-Binomial Binomial및 beta분포는 다음과 같이 정의된다. k Bin(n, θ): binomial distribution은 성공확률이 θ인 시도에서, n번 시행 중 k번 성공할 확률
More information04 Çмú_±â¼ú±â»ç
42 s p x f p (x) f (x) VOL. 46 NO. 12 2013. 12 43 p j (x) r j n c f max f min v max, j j c j (x) j f (x) v j (x) f (x) v(x) f d (x) f (x) f (x) v(x) v(x) r f 44 r f X(x) Y (x) (x, y) (x, y) f (x, y) VOL.
More informationPowerPoint Presentation
5 불대수 Http://RAIC.kunsn..kr 2 학습목표 마스터제목스타일편집 기본논리식의표현방법을알아본다. 불대수의법칙을알아본다. 논리회로를논리식으로논리식을논리회로로표현하는방법을알아본다. 곱의합 (SOP) 과합의곱 (POS), 최소항 (minterm) 과최대항 (mxterm) 에대해알아본다. 01. 기본논리식의표현 02. 불대수법칙 03. 논리회로의논리식변환
More informationPowerPoint 프레젠테이션
[ 인공지능입문랩 ] SEOPT ( Study on the Elements Of Python and Tensorflow ) 인공지능 + 데이터분석목적 / 방법 / 기법 / 도구 + Python Programming 기초 + NumpyArray(Tensor) youngdocseo@gmail.com 1 *3 시간 / 회 구분일자내용비고 1 회 0309
More informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More informationArtificial Intelligence: Assignment 6 Seung-Hoon Na December 15, Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제
Artificial Intelligence: Assignment 6 Seung-Hoon Na December 15, 2018 1 1.1 Sarsa와 Q-learning Windy Gridworld Windy Gridworld의 원문은 다음 Sutton 교재의 연습문제 6.5에서 찾아볼 수 있다. http://incompleteideas.net/book/bookdraft2017nov5.pdf
More information생존분석의 추정과 비교 : 보충자료 이용희 December 12, 2018 Contents 1 생존함수와 위험함수 생존함수와 위험함수 예제: 지수분포
생존분석의 추정과 비교 : 보충자료 이용희 December, 8 Cotets 생존함수와 위험함수. 생존함수와 위험함수....................................... 예제: 지수분포.......................................... 예제: 와이블분포.........................................
More information김기남_ATDC2016_160620_[키노트].key
metatron Enterprise Big Data SKT Metatron/Big Data Big Data Big Data... metatron Ready to Enterprise Big Data Big Data Big Data Big Data?? Data Raw. CRM SCM MES TCO Data & Store & Processing Computational
More information영어-중2-천재김-07과-어순-B.hwp
Think Twice, Think Green 1 도와드릴까요? Listen and Speak 1 (I / you / may / help) 130,131 15 이 빨간 것은 어때요? (this / how / red / about / one) 16 오, 저는 그것이 좋아요. (I / it / oh / like) 2 저는 야구 모자를 찾고 있는데요. (a / looking
More informationChap 6: Graphs
5. 작업네트워크 (Activity Networks) 작업 (Activity) 부분프로젝트 (divide and conquer) 각각의작업들이완료되어야전체프로젝트가성공적으로완료 두가지종류의네트워크 Activity on Vertex (AOV) Networks Activity on Edge (AOE) Networks 6 장. 그래프 (Page 1) 5.1 AOV
More information<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>
25 강. 수열의극한참거짓 2 두수열 { }, {b n } 의극한에대한 < 보기 > 의설명중옳은것을모두고르면? Ⅰ. < b n 이고 lim = 이면 lim b n =이다. Ⅱ. 두수열 { }, {b n } 이수렴할때 < b n 이면 lim < lim b n 이다. Ⅲ. lim b n =0이면 lim =0또는 lim b n =0이다. Ⅰ 2Ⅱ 3Ⅲ 4Ⅰ,Ⅱ 5Ⅰ,Ⅲ
More information<4D F736F F D20BDC3B0E8BFADBAD0BCAE20C1A B0AD5FBCF6C1A45FB0E8B7AEB0E6C1A6C7D E646F63>
제 3 강계량경제학 Review Par I. 단순회귀모형 I. 계량경제학 A. 계량경제학 (Economerics 이란? i. 경제적이론이설명하는경제변수들간의관계를경제자료를바탕으로통 계적으로추정 (esimaion 고검정 (es 하는학문 거시소비함수 (Keynse. C=f(Y, 0
More information<BFACB1B831382D31355FBAF2B5A5C0CCC5CD20B1E2B9DDC0C720BBE7C0CCB9F6C0A7C7E820C3F8C1A4B9E6B9FD20B9D720BBE7C0CCB9F6BBE7B0ED20BFB9C3F8B8F0C7FC20BFACB1B82D33C2F7BCF6C1A E687770>
Ⅳ. 사이버사고예측모델개발 사이버보험시장활성화를위해서는표준데이터개발이필요하다. 이를위하여이전장에서는빅데이터기반의사이버위험측정체계를제안하였다. 본장에서는제안된사이버위험지수를이용하여사이버사고 (Cyber Incident) 를예측하는모델을개발하고자한다. 이는향후정확한보험금산출에기여할것으로기대한다. 최근빅데이터, 인공지능 (Artificial Intelligence),
More informationArtificial Intelligence: Assignment 5 Seung-Hoon Na December 15, Numpy: Tutorial 다음 자료를 참조하여 numpy기본을 공부하시오.
Artificial Intelligence: Assignment 5 Seung-Hoon Na December 15, 2018 1 Numpy: Tutorial 다음 자료를 참조하여 numpy기본을 공부하시오. https://docs.scipy.org/doc/numpy-1.15.0/user/quickstart.html https://www.machinelearningplus.com/python/
More informationPowerPoint 프레젠테이션
Verilog: Finite State Machines CSED311 Lab03 Joonsung Kim, joonsung90@postech.ac.kr Finite State Machines Digital system design 시간에배운것과같습니다. Moore / Mealy machines Verilog 를이용해서어떻게구현할까? 2 Finite State
More informationÀ̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp
l Y ( X g, Y g ) r v L v v R L θ X ( X c, Yc) W (a) (b) DC 12V 9A Battery 전원부 DC-DC Converter +12V, -12V DC-DC Converter 5V DC-AC Inverter AC 220V DC-DC Converter 3.3V Motor Driver 80196kc,PWM Main
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More informationMicrosoft Word - 4장_처짐각법.doc
동아대학교토목공학과구조역학 4. 처짐각법 변위법 (Slope Deflection ethod Displacement ethod) Objective of this chapter: 처짐각법의기본개념. What will be presented: 처짐각법을이용한다차부정정보해석 처짐각법을이용한다차부정정골조해석 Theoretical background 미국미네소타대학의
More information중간고사
중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX
More informationChap 6: Graphs
그래프표현법 인접행렬 (Adjacency Matrix) 인접리스트 (Adjacency List) 인접다중리스트 (Adjacency Multilist) 6 장. 그래프 (Page ) 인접행렬 (Adjacency Matrix) n 개의 vertex 를갖는그래프 G 의인접행렬의구성 A[n][n] (u, v) E(G) 이면, A[u][v] = Otherwise, A[u][v]
More informationMicrosoft PowerPoint Predicates and Quantifiers.ppt
이산수학 () 1.3 술어와한정기호 (Predicates and Quantifiers) 2006 년봄학기 문양세강원대학교컴퓨터과학과 술어 (Predicate), 명제함수 (Propositional Function) x is greater than 3. 변수 (variable) = x 술어 (predicate) = P 명제함수 (propositional function)
More informationPowerPoint 프레젠테이션
실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3
More information112초등정답3-수학(01~16)ok
Visang 1 110 0 30 0 0 10 3 01030 5 10 6 1 11 3 1 7 8 9 13 10 33 71 11 6 1 13 1 7\6+3=5 15 3 5\3+=17 8 9\8+=76 16 7 17 7 18 6 15 19 1 0 < 1 18 1 6\1+=76 6 < 76 6 16 1 7 \7+1=55 < 55 15 1 1 3 113 1 5? =60?6=10
More information예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A
예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf
More information<B3EDB4DC28B1E8BCAEC7F6292E687770>
1) 초고를읽고소중한조언을주신여러분들게감사드린다. 소중한조언들에도불구하고이글이포함하는오류는전적으로저자개인의것임을밝혀둔다. 2) 대표적인학자가 Asia's Next Giant: South Korea and Late Industrialization, 1990 을저술한 MIT 의 A. Amsden 교수이다. - 1 - - 2 - 3) 계량방법론은회귀분석 (regression)
More information01
2019 학년도대학수학능력시험 9 월모의평가문제및정답 2019 학년도대학수학능력시험 9 월모의평가문제지 1 제 2 교시 5 지선다형 1. 두벡터, 모든성분의합은? [2 점 ] 에대하여벡터 의 3. 좌표공간의두점 A, B 에대하여선분 AB 를 로외분하는점의좌표가 일때, 의값은? [2점] 1 2 3 4 5 1 2 3 4 5 2. lim 의값은? [2점] 4. 두사건,
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More information통계적 학습(statistical learning)
통계적학습 (statistical learning) 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 통계적학습 (statistical learning) 1 / 33 학습내용 통계적학습목적 : 예측과추론방법 : 모수적방법과비모수적방법정확도와해석력지도학습과자율학습회귀와분류모형의정확도에대한평가적합도편의-분산의관계분류문제 박창이 ( 서울시립대학교통계학과
More informationMicrosoft PowerPoint - chap04-연산자.pptx
int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에
More informationC# Programming Guide - Types
C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든
More informationMicrosoft PowerPoint - 실습소개와 AI_ML_DL_배포용.pptx
실습강의개요와인공지능, 기계학습, 신경망 < 인공지능입문 > 강의 허민오 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University 실습강의개요 노트북을꼭지참해야하는강좌 신경망소개 (2 주, 허민오 ) Python ( 프로그래밍언어 ) (2주, 김준호
More information<4D F736F F F696E74202D2035BBF3C6F2C7FC5FBCF8BCF6B9B0C1FA2E BC8A3C8AF20B8F0B5E55D>
5. 상평형 : 순수물질 이광남 5. 상평형 : 순수물질 상전이 phase transition 서론 ~ 조성의변화없는상변화 5. 상평형 : 순수물질 전이열역학 5. 안정성조건 G ng ng n G G 자발적변화 G < 0 G > G or 물질은가장낮은몰Gibbs 에너지를갖는상 가장안정한상 으로변화하려는경향 5. 상평형 : 순수물질 3 5. 압력에따른Gibbs
More informationPowerPoint Presentation
public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +
More informationPowerPoint Template
JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것
More information슬라이드 제목 없음
2006-09-27 경북대학교컴퓨터공학과 1 제 5 장서브넷팅과슈퍼넷팅 서브넷팅 (subnetting) 슈퍼넷팅 (Supernetting) 2006-09-27 경북대학교컴퓨터공학과 2 서브넷팅과슈퍼넷팅 서브넷팅 (subnetting) 하나의네트워크를여러개의서브넷 (subnet) 으로분할 슈퍼넷팅 (supernetting) 여러개의서브넷주소를결합 The idea
More information제 3강 역함수의 미분과 로피탈의 정리
제 3 강역함수의미분과로피탈의정리 역함수의미분 : 두실수 a b 와폐구갂 [ ab, ] 에서 -이고연속인함수 f 가 ( a, b) 미분가능하다고가정하자. 만일 f '( ) 0 이면역함수 f 은실수 f( ) 에서미분가능하고 ( f )'( f ( )) 이다. f '( ) 에서 증명 : 폐구갂 [ ab, ] 에서 -이고연속인함수 f 는증가함수이거나감소함수이다 (
More informationMicrosoft Word - PLC제어응용-2차시.doc
과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,
More information2 min 응용 말하기 01 I set my alarm for 7. 02 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.
스피킹 매트릭스 특별 체험판 정답 및 스크립트 30초 영어 말하기 INPUT DAY 01 p.10~12 3 min 집중 훈련 01 I * wake up * at 7. 02 I * eat * an apple. 03 I * go * to school. 04 I * put on * my shoes. 05 I * wash * my hands. 06 I * leave
More information빅데이터_DAY key
Big Data Near You 2016. 06. 16 Prof. Sehyug Kwon Dept. of Statistics 4V s of Big Data Volume Variety Velocity Veracity Value 대용량 다양한 유형 실시간 정보 (불)확실성 가치 tera(1,0004) - peta -exazetta(10007) bytes in 2020
More informationPowerPoint 프레젠테이션
[ 인공지능입문랩 ] SEOPT ( Study on the Elements Of Python and Tensorflow ) . ( 통계적이아니라시행착오적 ) 회귀분석 ( 지도학습 ) by Tensorflow - Tensorflow 를사용하는이유, 신경망구조 - youngdocseo@gmail.com 인공지능 데이터분석 When you re fundraising,
More informationPowerPoint 프레젠테이션
Chapter 1. 머신러닝개요 < 기계학습개론 > 강의서울대학교컴퓨터공학부장병탁 교재 : 장교수의딥러닝, 홍릉과학출판사, 2017. Slides Prepared by 장병탁, 김준호, 이상우 Biointelligence Laboratory School of Computer Science and Engineering Seoul National University
More informationPowerPoint Template
16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //
More information001_1장
Message Youth Ac Contents ( ) 2 2008 4 1. 20 1. 5. 19 2. 6. 3. 7. 4. 2. 2008 30 2008. 39 1. 4. 2. 5. 3. 6. 29. 64 1. 2008 3. 2. 2008 3. 2008 70 1. 2. 3. 4. 69. 2008 74. 82. 98. 110 1. 4. 2. 5. 109 3. 6..
More informationexp
exp exp exp exp exp exp exp exp exp exp exp log 第 卷 第 號 39 4 2011 4 투영법을 이용한 터빈 블레이드의 크리프 특성 분석 329 성을 평가하였다 이를 위해 결정계수값인 값 을 비교하였으며 크리프 시험 결과를 곡선 접합 한 결과와 비선형 최소자승법으로 예측한 결과 사 이 결정계수간 정도의 오차가 발생하였고
More informationMVVM 패턴의 이해
Seo Hero 요약 joshua227.tistory. 2014 년 5 월 13 일 이문서는 WPF 어플리케이션개발에필요한 MVVM 패턴에대한내용을담고있다. 1. Model-View-ViewModel 1.1 기본개념 MVVM 모델은 MVC(Model-View-Contorl) 패턴에서출발했다. MVC 패턴은전체 project 를 model, view 로나누어
More information