본문 바로가기

AI & Deep Learning

(11)
linear regression 구현_tensorflow 2-1. tensorflow 로 간단한 linear regression 구현 소스 출처: https://github.com/hunkim/DeepLearningZeroToAll/ - 이전에 그냥 terminal 에서 사용했던 방식은 가독성이 좀 떨어지는 것 같아서 Jupyter을 설치하여 사용 - virtualenv : python 가상 환경 - jupyter notebook : 오픈 소스 웹 애플리케이션으로, 라이브 코드, 등식, 시각화와 설명을 위한 텍스트 등을 포함한 문서를 만들고 공유하도록 할 수 있음 : 주로 데이터 클리닝, 변형, 수치 시뮬레이션, 통계 모델링, 머신 러닝 등에 사용 : Python, R, Julia, Scala 등 데이터 과학 분야에서 인기있는 40종의 다양한 프로그래밍 언어를..
multinomial logistic regression - Softmax 7. Softmax regression - multinomial logistic regression : 여러 개의 클래스가 있을 때 예측, 그 중에서도 가장 많이 사용되는 softmax - 지난 포스트 정리 : binary classificaion : z 가 아주 커지거나 아주 작아지더라도 g(z) 가 0과1 사이의 값을 갖도록 연구, 그래서 나온 것이 sigmoid 함수 : sigmoid함수를 이용해서 0-1 사이로 압축 : 최종 hypothesis 는 이렇게 나타남 그림으로 정리, : 입력 값 x 를 WX 라는 수식에 넣고, 나온 값인 z를 sigmoid 함수에 넣어 값을 도출 : Y 는 실제 데이터, Y 햇은 예측 데이터(H(x)) ex> 공부 시간, 출석 횟수에 따른 등급data set : A, ..
Logistic Classification Cost 함수 6. Logistic Classification Cost 함수 소개 - cost function : linear 와는 다르게 classification 의 cost 함수에서는 어느 지점에서 시작하느냐에 따라 도착지점이 달라지게 됨 : 이 부분부분의 최소점을 Local minimum, 최종적인 전체에서의 최소점을 Global minimum 이라고 함 : 학습이 local에서 멈춰버리면 나쁜 prediction 이 됨 -> 따라서 cost 함수를 바꾸어야 함 - binary classification 이므로, y=0/y=1 일 때의 경우를 나누어 cost 함수를 적용 : 실제로 에서 (지수함수) 의 곡선의 형태를 상쇄시켜주는 것이 로그함수, 따라서 실제 값 0 or 1에 따라 다른 로그 함수를 적용 1) y..
Logistic Classification (Binary) 5. Logistic(Regression) Classification : classification 알고리즘 중 정확도가 굉장히 높음 : 실제 문제에도 바로 적용이 가능 : 뉴럴 네트워킹, 딥 러닝을 잘 이해하는 것이 목표인 이 수업에서 중요 - 이전의 regression 은 어떤 숫자를 그냥 예측하는 것이라면, binary classification 은 둘 중 하나를 고르는 것 ex> spam detection : spam(1) or Ham(0) ex> Finance(주식시장)에서 SELL or BUY ex> 공부 시간으로 따진 pass(1) or fail(0) Q. linear regression 으로도 가능해보임? A. 그러나 만일 어떤 친구가 50시간 공부했다면, linear 에 따라 많이 위로 ..
Multi variable linear regression 4. Multi variable linear regression : 여러 개 입력(feature)의 Linear regression - 하나의 input variable Hypothesis : H(x) = Wx+b : W와b 를 학습 Cost function Gradient descent algorithm - 여러 개의 input ex> 시험을 보는데 시험1,2,3 의 결과를 가지고 final 시험 점수를 예측(input 3개) : H(x1,x2,x3) = w1x1 + w2x2 + w3x3 + b //예측 //예측 값과 실제 값의 차이의 제곱의 평균 - n개가 된다면, : w1x1 + w2x2 + w3x3 + ... +wnxn : 복잡해지고 길어지므로, Matrix(행렬) 사용 - Matrix multi..
Linear Regression cost 함수 최소화 3. Linear Regression cost 함수 최소화 가 최소값을 가지도록 하는 W,b 를 구하는 것이 목표! 설명을 위해 Simplified hypothesis 를 예시로 듦 H(x) = Wx (b=0 으로 봄) data set : : W=1, cost(W) =0 : W=0, cost(W) =4.67 : W=2, cost(W) =4.67 ... -> 함수를 그려보면, : 목표는 cost 가 0이 되는 점을 기계적으로 찾아내는 것 -> cost function 을 minimize하는데 많이 용되는 알고리즘이 Gradient descent algorithm : 머신러닝, 또는 이외의 minimization problems 에 사용 : cost값이 하나가 아니라 W1,W2,W3..일 경우에도 사용 Q...
Linear Regression 의 개념 2. Linear Regession의 개념 - supervised learning : training data set 이용, 학습 1) regression : 예측하려는 최종 목표가0~100 등인 범위 내에서 예측하는 것 2) binary classification 3) multi-label classification - Linear Regression : 어떤 데이터 셋의 결과가 linear 한 선의 형태를 띄는 것 - Linear Hypothesis : 어떠한 데이터에 잘 맞는 linear 한 선을 찾는 것 : H(x)가설, W 와b 의 값에 따라 선의 모양이 달라질 것 : 가장 적합한 W 와 b 의 값을 찾아내는 것이 목표 ex> 파란선: H(x) = 1 * x + 0 - 어떠한 모델(선, 가설)이..
tensorflow 간단한 실행 - Placeholder Placeholder : 값을 실행 시 입력 받겠다는 노드 ex1> Q. 상수 입력해 두고 출력이 아닌, 값을 넣어보고 싶다 A. 노드를 만드는데 placeholder 라는 특별한 노드로 만들어주기 : 똑같이 세션을 만들고 실행, : feed_dict가 노드 의 값을 실행 시에 지정해주는 것 : 텐서플로우 입장에서, “그래프 실행시키고 싶은데 저 노드의 값을 모르겠으니, 값을 넘겨줘” 라는 뜻 : 두번째 실행 예시처럼 값을 하나만 넣지 않고 n개 의 값을 넣는 array 로 넣을 수도 있음 출처 : 모두의 딥러닝 https://hunkim.github.io/ml/