딥러닝

    Bagging/Boosting/Stacking

    Ensemble 앙상블 기법은 동일한 학습 알고리즘을 사용해서 여러 모델을 학습하는 개념 (Bagging/Boosting) 서로 다른 모델을 결합하여 새로운 모델을 만들어 내는 방법 - Stacking Bagging - 샘플을 여러번 뽑아 각 모델을 학습시켜 결과를 집계하는 방법 - 먼저 대상 데이터로부터 복원 랜덤 샘플링을 함. 이렇게 추출한 데이터가 일종의 표본집단이 되고 여기에 동일한 모델을 학습시킴. 그리고 학습된 모델의 예측변수들을 집계하여 그 결과로 모델을 생성함. - Bootstrap Aggregating 문제점) 1. 높은 bias - Underfitting / 2. 높은 Variance - Overfitting 앙상블 기법은 이러한 오류를 최소화 하는데 도움이 됨. 특히 Bagging은 ..

    0819 강화학습 [아타리게임(과일받기)]

    [텐서플로로 배우는 딥러닝] -> 이책이 설명이 잘 되어있음! 에이전트 - 무언가의 주체 (상태) MDP 인프런APP(sung kim) , 유투브(김성의 딥러닝) 여러방향에 대한 값이있음 큐를 최대로 하는 액션을 선택하는것을 argmaxQ(s , a) - s상태일때 큐를 최대로 하는 a(Action) - ㅠ* (*가 들어가면 최적이란 뜻) 나보다 한발 앞서있는 큐 - S' 다른 길찾기 방법을 찾기 위해서 E-greedy 를 사용 임계값을 주고 랜덤 값을 발생시키는데 ,, ? (exploit vs exploration) - Discounted future reward.. = 상태가치함수와 행동가치함수 - train_catch_game.py # -*- coding: utf-8 -*- import tensor..

    0814 RNN 구조로 뒤에올 문자 예측하기

    ### RNN ## ex) HELLO 라고 했을때 원핫코딩시 필요한 칸수 4개 ## 출력시 필요한 칸수 4개 (H,E,L,O) # 필요한 라이브러리 불러오기 import tensorflow as tf import numpy as np tf.set_random_seed(777) # reproducibility from keras.utils import np_utils import matplotlib.pyplot as plt # 그래프 리셋 tf.reset_default_graph() # 재현성을 위해 시드 지정 tf.set_random_seed(1) #-------------------------------------------------- # 데이터 불러오기 #------------------------..

    0814 embedding으로 단어 연관성 예측하기

    # 필요한 라이브러리 부름 import tensorflow as tf import numpy as np from keras.utils import np_utils import matplotlib.pyplot as plt # 그래프 리셋 tf.reset_default_graph() # 재현성을 위해 시드 지정 tf.set_random_seed(1) # 매개변수 지정 # 학습률: 0.1 # 반복 수: 10000 # 임베딩 차원: 2 # 윈도우 크기: 1 # -> 다음에 올 단어의 관계 ( 연관, 유사도 ) learning_rate=0.1 nepochs=10000 embedding_dim=2 window_size = 1 # 워드 임베딩에 적용할 문장 text ="King is a brave man Queen ..

    0813 ResNet 프로젝트

    F(x) = H(x) -x 에서 시작했는데 F(x)가 0이라고 생각하면 H(x) 와 x가 같을 수 밖에 없다. 여기서 시작해서 문제의 논지를 바꾸면 H(x) = F(x) + x 이렇게 볼 수 있다. x값이 커지면 F(x)값도 민감하게 바뀔 수 밖에 없다. => 이것을 Skip connection 이라 부름. -> 스킵연결을 구현하는것은 덧셈 연산의 추가만으로 가능함. 이는 추가적인 연산량이나 파라미터가 많이 필요하지 않음. 또한 역전파 시에 그레디언트가 잘 흘러갈 수 있게 해준다는 장점이있다. 1x1이지만 다음에 곱해지는거에 따라서 사이즈가 달라짐 ==> 이과정을 병목레이어(bottleneck layer)라 부른다. # ResNet 블록 구조(bottleneck 구조) LayerBlock = namedt..

    0813 CNN으로 MNIST 분류기 구현하기

    import tensorflow as tf ## 다운로드 from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("/AI/tmp/data/", one_hot=True) ## cnn 모델을 정의/;///; ## 3차원으로 reshape x_image = tf.reshape(x, [-1, 28, 28, 1]) ## 1번째 컨볼루션층 W_conv1 = tf.Variable(tf.truncated_normal(shape=[5,5,1,32], stddev=5e-2)) b_conv1 = tf.Variable(tf.constant(0.1, shape=[32])) h_conv1 = tf.nn.relu(tf.n..