Python
-
Tensorflow windowed dataset 활용법AI/Tensorflow 2020. 12. 24. 18:08
tf.data.Dataset을 활용하여 다양한 Dataset 로더를 만들 수 있습니다. 그리고, 로더를 활용하여, shuffle, batch_size, window 데이터셋 생성등 다양한 종류를 데이터 셋을 상황에 맞게 생성하고 모델에 feed할 수 있도록 제공해 줍니다. 더 이상 numpy로 한땀 한땀 만들어 줄 필요없이, 간단한 옵션 몇 개면 데이터세트를 완성할 수 있습니다. References: 텐서플로우 공식 도큐먼트 # 필요한 라이브러리 import import numpy as np import tensorflow as tf 1. dimension을 1만큼 늘려주기 1-1. tensorflow 의 expand_dim : 차원 늘리기 x = np.arange(20) tf.expand_dims(x,..
-
Tensorflow RNN 을 활용한 sarcasm분류 모델AI/Tensorflow 2020. 12. 24. 17:02
순환 신경망 (Recurrent Neural Network) RNN 을 활용한 텍스트 분류 (Text Classification) RNN이란? 입력과 출력을 시퀀스 단위로 처리하는 모델. 번역기를 생각해보면 입력은 번역하고자 하는 문장. 즉, 단어 시퀀스. 출력에 해당되는 번역된 문장 또한 단어 시퀀스. 이러한 시퀀스들을 처리하기 위해 고안된 모델들을 시퀀스 모델이라고 한다. 그 중에서도 RNN은 딥 러닝에 있어 가장 기본적인 시퀀스 모델이다. 1. 순환 신경망(Recurrent Neural Network, RNN) 앞서 배운 신경망들은 전부 은닉층에서 활성화 함수를 지난 값은 오직 출력층 방향으로만 향했습니다. 이와 같은 신경망들을 피드 포워드 신경망(Feed Forward Neural Network)..
-
Tensorflow 활성함수 activation functions카테고리 없음 2020. 12. 23. 18:23
선형함수 Dense 이외의 함수 모델링시에 선형 비선형 선형 비선형으로 모델링을 하게되는데 선형함수안에 activation='relu' 이런 식으로 정의를 해서 코드를 단순화 할 수 있다. Module: tf.keras.activations Functions deserialize(...): Returns activation function given a string identifier. 문자열 식별자를 받은 활성화 함수를 반환합니다. elu(...): Exponential Linear Unit. 지수 선형 단위. exponential(...): Exponential activation function. 지수 활성화 기능. gelu(...): Applies the Gaussian error linear u..
-
Tensorflow 과대적합과 과소적합AI/Tensorflow 2020. 12. 23. 17:36
과대 적합(over-fitting) 과 과소 적합(under-fitting) 과대 적합 : 모델이 너무 과하게 적합하다. 샘플에 대해서는 100%일지 모르지만 예측율이 떨어지게된다. 과소 적합 : 모델이 너무 맞지 않는다. 샘플에 대해서도 정확도가 떨어지고 예측율또한 떨어지게된다. Appropriate-fitting을 찾는 것이 목표라고 할 수 있다. 아래 그림은 선형예측과 분류에서의 과적합 예제를 보여주고 있다. 과적합 방지를 위해서 전체 데이터중에서 보통 8:2의 비율로 나누어서 8이 학습용(train) 2를 검증용(validation)으로 사용한다. 파란선이 학습그래프이고 주황색이 검증그래프이다. 학습 횟수에 따라서 증감을 보여주는데 Loss에서 검증과 학습이 교차하는 부분이 최고의 모델이다. 과대..
-
Tensorflow 자격증 1번 문제 모델AI/Tensorflow 2020. 12. 23. 17:06
데이터 전처리는 따로 없다. 매번 바뀌지만 데이터를 정의 해준다. Dense 와 Sequential 를 import를 해준다. model 생성중 input_shape값은 tuple이 와야하므로 input_shape = [1] or input_shape =(1.) 으로 한다. input값이 1일 경우 input_shape = 1이다. #학습 데이터 셋팅 celsius_q = np.array([-40, -10, 0, 8, 15, 22, 38]) fahrenheit_a = np.array([-40, 14, 32, 46, 59, 72, 100]) 이렇게 데이터가 주어졌을때 모델링은 다음과 같이 간단히 해주면 된다. model = tf.keras.Sequential([ tf.keras.layers.Dense(un..
-
Tensorflow Dense LayerAI/Tensorflow 2020. 12. 23. 16:44
Dense Layer(Fully Connected Layer) , FC라고 논문에서 많이 사용한다. node와 node들이 완전하게 연결되어있다. (Fully Connected) hidden layer = node(Neuron) = W(weight) * X(입력값) output layer = weight(가중치) 위 그림은 4층의 layer로 구성되어 있다. input layer에서는 input_shape를 지정해야한다. 각 layer는 input 값을 알고 있는데 input layer에서는 모르기 때문이다. 위 모델을 코드로 바꾸면 아래와 같다. model = Sequential([ Dense(3, input_shape=[1]), Dense(4), Dense(4), Dense(1), ]) 각 layer..
-
Python 으로 경사하강법(Gradient Descent) 구현AI/Python 2020. 12. 23. 16:12
경사하강법(GD)은 여러 종류의 문제에서 최적의 해법을 찾을 수 있는 매우 일반적인 최적화 알고리즘이다. 경사하강법의 기본 아이디어는 비용함수를 최소화하기 위해 반복해서 파라미터를 조정해 나가는 것이다. 간단한 예를 들면, 산 위에서 길을 잃었을 때 가장 빨리 골짜기로 내려가는 방법은 경사가 가파른 곳으로 내려가는 것이 가장 베스트 아이디어다. 이것이 바로 경사하강법의 원리이다. 이제 경사하강법에 대해서 다 배운 것이다. 말 그대로 기울기가 가파른 방향으로 내려가면서 기울기가 0이 되는 지점까지 가는 방법이다. 기울기가 0이 된다면 골짜기의 최솟값에 도달한 것이다. 우리가 앞에서 그렸던 공부시간과 시험 점수 그래프에서 Cost function을 Cost와 W에 대해서 그래프로 그린다면, 아래와 같이 그려..
-
Tensorflow iris 붓꽃 모델 자격증 공부AI/Tensorflow 2020. 12. 22. 16:48
세번째 모델에 대한 공부이다. 구글링을 해보면 참 많이 나오는 dataset이며 초기 공부에 많이 쓰이는 붓꽃분류 모델이다. Python을 이용하여 작성하였으며 각 코드에 대해서는 주석으로 메모를 해 놓았다. 시험에는 dataset전처리 및 확인 모델링등이 자주 나온다고 하니 꼭 알아두도록 하자. from IPython.display import Image Image('https://user-images.githubusercontent.com/15958325/56006707-f69f3680-5d10-11e9-8609-25ba5034607e.png') import numpy as np import tensorflow as tf import tensorflow_datasets as tfds from tens..
-
Python 예외처리AI/Python 2020. 12. 22. 11:41
다른 언어의 try catch와 같다. 아래 예제는 숫자형이 아닌 문자열을 입력해서 에러가 났을때 숫자 0을 리턴해 주는 예제이다. Excpetion 은 에러내용을 보여준다. try: age = int(input("나이 : ")) except Exception as e: age = 0; print(e) print(age) 결과는 다음과 같다. 나이 : a invalid literal for int() with base 10: 'a'invalid literal for int() with base 10: 'a' 0 문자열 a를 입력하면 int형이 아니라는 에러메세지와 함께 숫자 0을 리턴한다.
-
Python File 읽기 쓰기 기초AI/Python 2020. 12. 18. 19:03
Python에서 파읽을 읽고 쓰는 예제다. text파일을 기준으로 ANSI코드로 저장을 해야한다. text파일에 내용이 있는 경우 전체 쓰기이기 때문에 지우고 새로쓴다. 주의하도록 하자. #파일 읽고 쓰기 f = open("test.txt", "r") #경로를 안주면 현재 이파일과 같은 경로에 위치한 파일을 읽어온다. test.txt 는 ANSI코드로 저장한다. #text = f.read() #내용전체 읽기 #text = f.readline() #한줄씩 읽기 text = f.readlines() #내용전체를 읽되 리스트방식으로 읽기 print(text) f.close() f1 = open("C:/Users/username/PycharmProjects/tensor_1/test.txt", "r")#경로를 주..