일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- iOS14
- UI한글변경
- string 메소드
- scanf
- 매크로
- EOF
- 구조체와 클래스의 공통점 및 차이점
- 입/출력
- double ended queue
- 백준
- 프레임워크와 라이브러리의 차이
- 시간복잡도
- Django Nodejs 차이점
- Django의 편의성
- 장고란
- string 함수
- correlation coefficient
- Django란
- 표준 입출력
- 이분그래프
- vscode
- c++
- 2557
- k-eta
- 알고리즘 공부방법
- 엑셀
- 입출력 패턴
- 자료구조
- 연결요소
- getline
- Today
- Total
목록데이터 사이언스/모두를 위한 딥러닝 (27)
Storage Gonie
# Softmax 구현방법 (라이브러리를 이용하는 방법)- tf.nn.softmax_cross_entropy_with_logits(logits= , labels= ) 를 이용하면 크로스 엔트로피를 구하는 공식을 사용할 수 있다.- 여기서 주의할 점은 Y는 label로 1개의1, 여러개의 0으로 이루어진 one_hot 벡터 이어야 한다.- 그러면 각각의 logit에 대한 오차값이 결과로 나오고 그것을 tf.reduce_mean해주면 전체에 대한 평균오차값이 나온다. # Y label을 one-hot 벡터로 변환하는 방법- tf.one_hot()을 사용한 뒤 tf.reshape을 이용함(* tf.one_hot()은 입력으로 rank가 N 인 것을 넣어주면 rank가 N+1인 것을 결과값으로 내주므로 이를 다..
# Softmax Classifier에서 Softmax함수를 텐서플로우에서 구현하는 코드- Logistic classifier의 XW + b 의 값을 먼저 "tf.matmul(X,W)+b" 로 표현하고- 위 식의 값을 Softmax 함수에 통과시킨 것을 "hypothesis = tf.nn.softmax(tf.matmul(X,W) + b)" 로 표현한다.- Softmax 함수에 통과시키는 값을 logit이라 한다. # Softmax Classifier에서 Cost와 Gradientdescent를 텐서플로우에서 구현하는 코드- Cost는 -L* log(hypothesis)를 다 더한뒤 개수로 나눠준것.- Gradientdescent능 Cost함수를 그냥 최소화 시켜주는 W와 b 매개변수들을 찾아가는 것임. ..
# Softmax 함수# Softmax classifier의 Cost 함수(Cross-Entropy함수라고 부름)- S(y)는 Z를 Softmax에 통과시킨 값, L은 label값 # Softmax classifier의 Cost 함수의 작동원리- Cost function은 기본적으로 맞았을 때는 0에 가까운 값이 나와야 하고 틀렸을 때는 큰 값을 줘야한다. 이런 면에서 아래와 같이 아주 잘 작동한다. - 여기서 Y짝대기는 Softmax를 통과한 수를 의미함 1) Label 값이 0 1 로 B를 가리키고, Softmax를 통과한 예측된 값이 0 1 로 B를 가리키는 경우 Cost 값은 0 / Softmax를 통과한 예측된 값이 1 0 로 A를 가리키는 경우 Cost 값은 무한대2) Label 값이 1 0 ..
# Multinomial classification을 위한 Softmax 함수0) Logistic Regression에서는 다음과 같이 Z에 Sigmoid 함수를 취한 값을 예측값으로 그냥 사용했었다.1) 그러나 Softmax Regression에서는 Sigmoid 함수 대신 Softmax 함수를 사용한다. # Multinomial classification을 위한 Softmax Regression의 문제 접근 방법1) A, B, C를 분류하는 문제가 주어진다. 2) A인지 아닌지, B인지 아닌지, C인지 아닌지 를 구분하는 Classifier를 각각 만들어준다. 3) 각각의 Classifier에 대한 Z의 식은 다음과 같고 이를 하나의 행렬로 합쳐준다. 4) 위 식에서 나온 Z의 값을 Softmax 함..
# bias를 제거한 Logistic Regression 공식 - 아래 2개의 예제들은 bias를 제거하지 않은 원래의 식으로 진행하였음. # Logistic Regression 모델 구현 - 입력 feature가 2개인 Binary Classifier 모델 구현import tensorflow as tf x_data = [[1, 2], [2, 3], [3, 1], [4, 3], [5, 3], [6, 2]] y_data = [[0], [0], [0], [1], [1], [1]] # placeholders for a tensor that will be always fed. X = tf.placeholder(tf.float32, shape=[None, 2]) Y = tf.placeholder(tf.float3..
# Logistic Regression에서 Cost function으로 평균제곱오차를 더이상 이용할 수 없는 이유- 선형회귀에서 사용하던 H(x)에 대한 Cost 함수는 convex여서 경사하강 알고리즘을 사용하면 global minimum을 찾을 수 있다는 것이 보장이 됐지만- Logistic Regression에 들어와서 시그모이드 함수를 추가한 H(x)에 대한 Cost함수를 보니 e함수 모형의 특성때문에 non-convex여서 - 경사하강 알고리즘을 사용하면 global minimum을 찾을 수 있다는 것이 보장이 되지 않는다. - 따라서 Logistic Regression에서는 평균제곱오차를 Cost함수로 더 이상 사용할 수가 없다. # Logistic Regression에서 사용되는 새로운 Co..
# Binary Classification 예시-Spam Email Detection : Spam(1) or Ham(0)-Facebook Feed : Show(1) or Hide(0)-Credit Card Fraudulent Transaction Detection : Legitimate(0) / Fraud(1)- 주식시장에서 살까 팔까를 결정 : Sell(0) or Buy(1)- 사진에서 진단 : 음성종양(0) or 양성종양(1) # Linear Regression을 이용해서 Classification을 수행할 시 발생하는 문제점- 우리는 분류문제에서 Label이 0 or 1인 것을 알고있는데 Linear regression의 hypothesis는 0~1 사이의 값을 주지않는 불편함.- hypothesi..
# 데이터를 쪼개기 위한 slicing 예제예제1) http://cs231n.github.io/python-numpy-tutorial 예제2) # 텍스트 데이터를 읽어와 Multi-Variable Linear Regression 모델을 훈련시키는 예제- 이거와 비슷한 형태로 row가 25개가 되는 데이터를 가지고 실험한다.- 아래의 코드에서 유심히 볼 부분은 데이터를 load 해오고 이를 x데이터와, y데이터로 나누는 작업이다. import tensorflow as tf import numpy as np tf.set_random_seed(777) # for reproducibility xy = np.loadtxt('data-01-test-score.csv', delimiter=',', dtype=np.f..
# Multi-Variable Linear Regression 모델 생성(학습데이터 확장이 제한됨)- 확장이 제한되는 이유는 학습데이터를 일일이 사람손으로 쳐주는 것도 그렇고, 매개변수 w의 개수가 늘어날 때 노가다 해주기가 힘들어짐 import tensorflow as tf # 훈련데이터 # x1 x2 x3 y # 73 80 75 152 # 93 88 93 185 # 89 91 90 180 # 96 98 100 196 # 73 66 70 142 x1_data = [73., 93., 89., 96., 73.] x2_data = [80., 88., 91., 98., 66.] x3_data = [75., 93., 90., 100., 70.] y_data = [152., 185., 180., 196., 142..
# Linear Regression을 구현하기 위해 필요한 요소 3가지- Gradient descent는 convex인 cost function에서 경사면을 따라 최소점으로 따라 내려가는 알고리즘임# Multi-Variable Linear Regression 에서의 Hypothesis & Cost function# 행렬을 이용한 Multi-Variable Linear Regression의 Hypothesis 식 표현- bias를 제거한 심플한 hypothesis # H(X) = WX vs H(X) = XW 순서- 이론에서는 WX 순서로 표현하지만 실제 multi-variable 모델을 구현하게되면 행렬을 사용하게 되는데 WX순서로는 바로 곱을 실행할 수 없다.- 왜냐하면 [2, a] x [a, 4] = ..