-
[모두를 위한 딥러닝 시즌2][Lab 9] Neural Nets for XOR모두를 위한 딥러닝 시즌2 2021. 11. 9. 19:33
Neural Nets으로 어떻게 XOR문제를 해결할 수 있는지 알아보자. +와 -를 정확하게 구분할 수 있는 직선을 찾을 수 없었다. 이 XOR 문제를 3개의 network으로 풀어보자. 이렇게 하면 우리가 원하는 XOR 답이 나온다. Forward propagation 두 개의 유닛에 x1, x2가 각각 들어가고 나온 결과의 sigmoid 값이 마지막 유닛에 들어가서 최종 결과가 나오는 하나의 Neural nets programing 상에서 network을 구현 K = tf.sigmoid(tf.matmul(X, W1) + b1) hypothesis = tf.sigmoid(tf.matmul(K, W2) + b2) 이제 training data로 부터 weight와 bios 값을 어떻게 학습하는지 알아보자..
-
[DAYCON][오늘의 파이썬] Lv.2 결측치 보간법과 랜덤포레스트로 따릉이 데이터 예측하기python/오늘의 파이썬 2021. 11. 4. 11:46
전처리 1. 결측치 평균으로 대체 먼저 실습을 진행하기 위해 필요한 데이터를 다운받아서 colab에 불러온다. 지난 Lv.1에서와 같이 pandas를 import해서 데이터를 불러온다. import pandas as pd train = pd.read_csv('data/train.csv') test = pd.read_csv('data/test.csv') 결측치가 있는 피쳐를 살펴본다. print(train.isnull().sum()) fillna()를 이용해 결측치를 각 피쳐의 평균값으로 대체한다. train.fillna({'hour_bef_temperature':int(train['hour_bef_temperature'].mean())}, inplace=True) train.fillna({'hour_be..
-
[모두를 위한 딥러닝 시즌2][Lab 8] 딥러닝의 기본 개념: 시작과 XOR 문제모두를 위한 딥러닝 시즌2 2021. 11. 2. 19:48
우리 대신 골치 아픈 문제를 해결할 수 있는 기계를 만들자는 것이 인류의 하나의 큰 목표였다. 이것을 이루기 위해 먼저 우리의 뇌를 연구하기 시작했다. 인간의 뇌는 굉장히 복잡한데 뉴런이라고 불리는 유닛은 굉장히 단순하게 동작이 된다. 어떤 input이 들어오면 그 input에 weight를 곱한 만큼 신호가 들어온다. 이 값들이 합쳐지고 통과하면서 bios가 더해지는데 이 최종 값이 어떤 값 이상이면 활성화되고 그 값을 넘지 못하면 활성화되지 않는다. 이 방식을 이용해 Activation Function을 만들었다. 이런 유닛들 여러개를 모아서 여러 개의 출력을 동시에 낼 수 있는 기계를 만들었다. · Frank Rosenblatt, ~1957: Perceptron · Windrow and Hoff, ..
-
[모두를 위한 딥러닝 시즌2][Lab 7] application and tips모두를 위한 딥러닝 시즌2 2021. 11. 2. 00:21
이번 시간에는 Learning rate, Data preprocessing 그리고 Overfitting에 대해 공부하고 Data sets과 다양한 Learning 방법들을 알아볼 것이다. Learning rate 데이터를 통해 모델을 만들어 갈 때 필요한 설정 값이다. 기울기와 Learning rate로 모델의 최적의 값을 찾아간다. Learning rate를 어떻게 설정하느냐에 따라 학습할 때 값이 달라진다. Learning rate가 크다는 것은 한번 변화하는 양이 크다는 것이다. 적절한 Learning rate를 사용해야 최적 값을 빨리 찾을 수 있다. 보통 Learning rate 값은 0.01이다. Adam optimizer에서 최적의 Learning rate 값은 3e - 4(0.0003)다...
-
[DACON 오늘의 파이썬][Lv1. 의사결정회귀나무로 따릉이 데이터 예측하기]python/오늘의 파이썬 2021. 10. 28. 20:10
1. 라이브러리 불러오기(import) 데이터를 분석하기 위해 불러오고 조작하는 등 핸들링을 하려면 도구가 필요하다. 실습에 필요한 라이브러리 pandas를 불러왔다. import [라이브러리] as [사용할 이름] import pandas as pd 2. 파일 불러오기(read_csv()) 파일 불러오기에 앞서 데이터 다운로드 링크로 데이터를 코랩에 불러온다. 그리고 pandas의 약어로 지정한 pd를 사용하여 read_csv함수를 통해 csv 파일을 불러올 수 있다. import pasdas as pd train = pd.read_csv('data/train.csv') test = pd.read_csv('data/test.csv') 3. 행렬 개수 관찰하기(shape) 이제 불러온 데이터의 행과 열의..
-
[모두를 위한 딥러닝 시즌2][Lab 6] Softmax Regression모두를 위한 딥러닝 시즌2 2021. 10. 27. 10:57
저번 시간에는 binary classification에 대한 경우만 생각해 보았다. 이번 시간에는 Multinomial classification인 경우에서 Softmax Regression 대해 공부할 것이다. Multinomial classification A, B 또는 C의 카테고리로 분류하는 상황을 생각해보자. Decision Boundary를 3개로 만들어서 A, B, C로 분류할 수 있다. C or not, B or not, A or not 이렇게 분류 할려면 3개의 독립된 classifier가 필요하다. 그럼 A에 대한 행렬 w와 행렬 x의 곱, B에 대한 행렬 w와 행렬 x의 곱, C에 대한 행렬 w와 행렬 x의 곱 연산이 각각 필요한데, 이 것은 번거롭기 때문에 A, B, C 행렬 w를 ..
-
[모두를 위한 딥러닝 시즌2][Lab 5] Logistic Regression모두를 위한 딥러닝 시즌2 2021. 10. 25. 19:43
이번 시간에는 Logistic Regression에 대해 알아보자. Binary Classification - 입력된 값을 두 가지 카테고리로 분류하는 것이다. ex) true or false? Logistic vs Linear - Logistic; 데이터가 뚜렷이 구분된다. - Linear; 연속적인 데이터, 수치화 ex) 몸무게, 기온 Logistic_Y = [[0], [0], [0], [1], [1], [1]]] #One Hot Linear_Y = [828.655, 833.450, 819.239, 828.349, 831.659] #Numeric Hypothesis Representation 데이터를 입력하면 linear한 function이 나오는데 이 linear한 값을 Logistic functi..
-
[모두를 위한 딥러닝 시즌2][Lab 4] Multi variable linear regression모두를 위한 딥러닝 시즌2 2021. 10. 24. 15:21
이전까지는 One-variable(One-feature)에 대해서만 공부해봤다. 이번 시간에는 입력값(변수)이 여러 개인 Multi variable linear regression에 대해 알아보자. Hypothesis(가설 함수)는 늘어난 변수(x)의 개수만큼 가중치(w)의 개수도 늘어난다. 만약 변수가 많이 늘어나게 되면 표현하는데 어려움이 있기 때문에 Hypothesis를 matrix로 표현을 바꿔서 입력한다. 행렬과 행렬의 곱 dot product X := matrix x W := matrix w dot product 연산에서는 앞 행렬의 열과 뒷 행렬의 행의 원소의 개수가 일치해야 하기 때문에 XW로 표현한다. XW = [n×m] · [m×k] = [n×k] (n: 데이터 개수, m: 변수 개수,..