일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linear_regression
- Softmax classification
- 인공지능
- pwnable.kr
- tensorflow
- Python
- logistic regression
- leg
- 기능개발
- Algorithm
- 텐서플로
- programmers
- AI
- Today
- Total
목록AI (6)
나혼자 공부장

Training data set Evaluation 위 그림에서 다음과 같은 training set을 모델에 학습시키고, 모델에 1600 사이즈의 값이 얼마냐고 질의했을 때 뭐라고 대답할까? 당연히 330일 것이다. 학습 여부와 상관없이 애초에 학습시킨 정보가 그렇게 쓰여있었기 때문에, 교과서에 있는 내용을 물어보는 것이나 다름없다. 이건 학습 검증 방법으로는 좋지 않은 방법이다. 다음과 같이 testing data 부분을 일정 부분 남기고 학습 시키는게 적절하다. Validation은 learing rate에서의 알파, regularization에서 쓰이는 람다같은 특정 값을 잘 설정하기 위해 특정 data 부분을 또 남겨두는 것이다. Online Learning 100만개의 데이터가 있다고 가정할 때..

Learning Rate Gradient Descent 알고리즘을 수행할 때 learning rate를 너무 크게 설정할 시 나타나는 결과다. 보폭이 지나치게 커져 반대편 경사면으로 넘어가게 되고, 아예 포물선 밖으로 튕겨져나가는 경우(overshooting)까지 발생할 수 있다. 반대로 너무 작아져도 문제다. 물론 위의 경우처럼 overshooting은 일어나지 않겠지만 지나치게 작은 보폭 때문에 학습에 엄청나게 시간이 많이 걸리고, 우리가 생각하는 최저점까지 가지 못하고 멈춰버린다. 즉, 최저점을 바르게 인식하지 못한다. 어떻게 해결하는가? 요령이란 전혀 없다. 다양한 learning rate을 적용해서 적절한 결과를 도출해낼 때까지 실행해 보는 것이 최선이다. Overfitting 머신러닝에서의 가..

softmax classification이란 binary classification이 두 가지 경우밖에 비교하지 못한다는 한계를 극복하고, 여러가지 클래스로 나뉘어진 경우를 비교할 수 있다. - 위 사진으로 예를 들면, 중간고사 점수 2.0, 기말고사 점수 1.0, 출석점수 0.1 인 경우에서 학점을 추측해봤을 때, A - 0.7 (70%) B - 0.2 (20%) C - 0.1 (10%) 로 A일 가능성이 가장 높다고 예측할 수 있다. cost 함수 cost 함수의 원리를 자세히 이해하기 위해 logistic sigmoid에서 x가 0일 때 무한대, 1일 때 0에 수렴한다고 가정해보자. - [0,1]이 정답이라고 하고, 예측값을 [1,0]으로 잡는다면 [0,1] * [0,무한] (예측값을 sigmoid..

- Linear regression과는 달리 0~1 내에서 값이 결정될 때 Logistic regression이라 칭한다. - hypothesis의 그래프는 로그함수의 형태를 지니고, sigmoid라 불린다. - Linear 때 처럼 그대로 Gradient descent 알고리즘을 적용하면 예쁜 포물선 형태가 나오지 않고 로그함수 때문에 쭈글쭈글해지기 때문에, 최소값이 다르게 나오므로 적절하지 않다. - 따라서 위 cost 함수와 같이 변형된 식이 요구된다. 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]] X=tf.placeholder(tf.float32, shape=[N..

- Linear는 ‘선(line)의’ 라는 뜻이다. 말 그대로 일차함수의 형태로 사건에 대한 가설을 세워서 실제 결과와의 오차범위를 비교해가는 regression이다. - 위의 cost 함수는 오차결과를 나타냄 - Cost 함수의 결과값을 minimize한 결과를 구하는 것이 이 연산의 목적 (미분해서 구한다) 알고리즘 구현 ~Jupyter Notebook 사용~ Basic 나중에 안 건데 사진에 for문과 if문 옆에 : 를 붙이지 않았다. - cost는 0으로 수렴해가고, W는 1로, b는 0에 가까워진다. - 트레이닝 값을 동일하게 줬기 때문에 y=x가 가장 이상적인 형태로 판단될 것이기 때문 Placeholder ver. - 일부러 W=1, b=1.1 로 예측되게끔 트레이닝 값을 전달했다. - 결..

Tensorflow의 구조 - 그래프(노드가 서로 연결되어있는 형태) 를 먼저 빌드한다 - 그 다음에 세션 함수를 통해서 데이터가 run 된다. - Run된 데이터가 그래프에 업데이트. 최종적으로 노드에 변화를 준다. 간단한 코딩 ~Anaconda prompt를 이용~ 1. Hello tensorflow 출력하기 - 세션 설정할 때 아래에 뜨는 “Your CPU ,,,,,” 로 시작하는 문구는 오류가 다른 명령어를 사용하면 더 빠르다는 권고 사항이므로 무시해도 무방 2. 연산 - 수를 할당하는 경우 constant(값, 자료형) 으로 선언 - node2는 암묵적으로 float32라 여겨짐 - 위 사진의 경우 sess.run 함수에서 파라미터를 대괄호로 묶어주지 않아 오류가 났었음 -> print(sess..