Andrew Ng(Deep Learning) (7) 썸네일형 리스트형 앤드류응 교수님 딥러닝 학습일지 실습-(2) (부제:첫번째 인공신경망 구현!) 선형회귀는 명확한 한계가 존재합니다. 하나의 선을 기준으로 특정 값 이상이면 참, 아니면 거짓을 구분하기에 복잡한 형태의 데이터를 여러 기준으로 나누기에 적합하지 않습니다. 대표사진 삭제 사진 설명을 입력하세요. 다음과 같은 점들의 분포가 있다고 할 때 선형회귀를 통해서 구분 할 시 정확도는 47%에 불과합니다. clf = sklearn.linear_model.LogisticRegressionCV(); clf.fit(X.T, Y.T); plot_decision_boundary(lambda x: clf.predict(x), X, Y) plt.title("Logistic Regression") # Print accuracy LR_predictions = clf.predict(X.T) print ('Accur.. 앤드류응 교수님 딥러닝 학습일지 실습-(2) (부제:야옹~난 고양이야!) 딥러닝에 대한 애정이 떨어지고 있던 찰나였습니다. 정말 간단한 회귀 분석 모델 만들라는 실습을 해결하지 못한지가 일주일째...하지만 이해해 버렸읍니다..! 설레는 마음을 갖고 과정을 기록해보겠습니다. 실습의 전체적인 과정은 다음과 같습니다. 고양이인지 아닌지 구분하는 간단한 알고리즘을 선형회귀로 구현하는 것입니다. 209개의 train set 와 50개의 test set가 주어집니다. Train set 각각의 그림에는 x 데이터와 y 데이터가 있습니다. x데이터는 그림의 픽셀 값이며, y데이터는 고양이인지, 아닌지를 0과1을 통해 나타내는 값입니다. 본격적인 학습을 시작하기전에 train_set를 만지는 과정이 필요합니다. train set를 조절하는 과정은 다음과 같습니다. 1.train_set와 te.. 앤드류 응 교수님 딥러닝 학습일지 실습(1) 일본 여행을 갔다온다고 업로드가 늦었습니다.다시 달려보겠습니다. 오늘은 처음으로 실습을 가지고 돌아왔습니다. 딥러닝 실습이라기보다는 그동안 배운 기초 개념을 파이썬으로 구현이라고 생각하면 되겠습니다. 처음으로 구현 해볼 것은 시그모이드 함수입니다. import numpy as np def sigmoid(x): s=1/(1+np.exp(-x)) return s 다음은 시그모이드 함수의 도함수 구현입니다. 식 계산의 결과 시그모이드 함수의 도함수 f'=f(1-f)임을 알 수가 있었습니다. def sigmoid_derivative(x): s=sigmoid(x) ds=s*(1-s) return ds 다음은 벡터를 reshape하는 과정입니다. 이미지 인식을 훈련 시키려면 이미지를 하나의 벡터로 만들어줘야 하는데.. 앤드류 응 교수 딥러닝 학습일지-(4) 딥러닝 학습일지 4번으로 돌아왔습니다. 지금 일본 여행 와있는데 한창 딥러닝이랑 프론트 공부하고 있을 때 와서 좀 흐름이 깨진듯해서 아쉽네.이도저도 아닌 느낌? 그래도 일단 4번째 딥러닝 공부일지를 써놓겠습니다. 이번 시간에 주로 배우는 내용은 벡터화입니다. 말 그대로 벡터로 만들어준다는 뜻입니다. 앞에서 계속 다룬 z=wTx+b를 처리하는 것을 예로 들어볼게요. Non-Vectorization #Non-Vectorization z=0 for i in range(n_x): z+=w[i]*x[i] z+=b 다음과 같은 과정을 통해 wTx+b를 구하게 됩니다. 벡터화를 이용한 코드는 다음과 같습니다. import numpy as np z=np.dot(w,x)+b 가장 큰 차이점은 for문을 사용하지 않는다는.. 앤드류 응 교수 딥러닝 학습일지-(3) 어느덧 3주차입니다. 오늘은 딥러닝 2단계 신경망과 로지스틱 회귀를 끝내 보겠습니다. 2-(4) Gradient Descent 2주차에서는 loss function을 기반으로 한 Cost Function(비용함수)에 대해 배워 봤습니다. 비용함수는 데이터 셋의 예측 정도가 얼마나 정확한지를 측정합니다. Gradient Descent (경사하강법)은 비용함수의 오차값이 줄어들도록 파라미터 w,b를 찾는 과정을 의미합니다. 최솟값을 갖게 하는 변수의 값을 계산하는것. 대학생이라면 정말 익숙한 내용일 것입니다. 미분이죠! Gradient Descent(경사하강법)은 미분을 통해 Cost Function(비용함수)가 가장 작은 값을 갖도록 하는 알고리즘입니다. Cost function(비용함수)는 다음과 같았습.. 앤드류 응 교수 딥러닝 학습일지-(2) 2주차로 돌아왔습니다. 1주차는 개념 맛보기 느낌이었다면 2주차부터는 본격적으로 개념에 대해서 배우기 시작합니다. 2-(1) Binary Classification 2-(1)에서는 Binary Classification에 대해서 배운다. 사실 영어로 쓰면 뭐든 있어보이고 어려워보이지만 아무런 개념도 아니다. 두 가지로 분류한다는 뜻이다. 고려대학교 이캠의 상징인 귀여운 버찌를 예로 들어 보겠다.컴퓨터가 이 사진을 고양이로 인식하면 1, 아니면 0으로 분류하겠다는 것이다. 이미지는 숫자 정보가 픽셀 단위(pixel value)로 저장 되어있다. RGB 형태로 저장 된 이미지이다. 데이터는 7x5 Matrix (행렬)이다. 위의 그림의 경우 data 하나의 크기가 7x5x3(RGB 각각이 따로 저장되기에 3.. 앤드류 응 교수 딥러닝 학습일지-(1) 방학동안 각잡고 공부하기로 한 분야가 몇개 있다.블로그에 올리면 누군가는 도움을 받겠지라는 생각 반과 내 공부를 정리해보자라는 생각 반으로 학습일지를 남기기로 다짐하였다. 매주 2~3번 학습일지를 올리는 것으로 목표를 하며 학습일지를 올려보도록 하겠다. 강의는 컴퓨터과학의 대가로 불리는 앤드류 응(Andrew Ng) 교수의 딥러닝 강의를 수강하고 있으며, https://m.boostcourse.org/ai215/lectures/20010 부스트코스를 통해 강의를 무료로 수강중이다. 1-2 What is Neural NetWork? 딥러닝이란 인공신경망(Neural NetWork)를 사용하여 인풋(x)가 주어졌을 때 아웃풋 (y)를 예측하는 방법이다. 예를 들어 집 값을 결정 짓는 속성 중에 크기,방의 개.. 이전 1 다음