부스트캠프 30

[week 1 - day 5] cnn, rnn

시퀀스 데이터 시퀀스 데이터는 순차적으로 발생한 데이터를 뜻한다. 시퀀스 데이터는 iid를 위반할 수 있다. iid(Independent Identically Distributed) 란, 각각의 샘플이 서로 독립적이고 같은 분포에서 동일하게 생성된 데이터이다. 시퀀스 데이터는 이전 샘플과 현재 샘플 사이에 상관관계가 있을 수 있어 독립적이라고 볼 수 없다. 그렇기에 위반하는 것 같다 !

[week 1 - day 4] 딥러닝 ~ 베이즈 통계학

신경망 신경망은 입력값과 출력값을 연결하는 여러 개의 뉴던(node)로 이루어져 있다. 신경망은 입력층, 은닉층, 출력층으로 계층적 구조로 구성되어 있다. 입력층은 입력 데이터를 받는 부분이고, 출력층은 최종 결과를 내보내는 부분, 은닉층은 보통 여러 층으로 구성되어 있는데, 또한 각 층은 여러 개의 뉴런으로 구성되어 있다. 은닉층에서 활성화 함수를 통해 출력 신호를 계산한다. (활성화 함수 : softmax, 시그모이드, ReLU, tanh 등등등) 결론 : 위와 같이 활성화 함수를 통해 출력된 값이 신경망이 예측한 결과이고, 실제 값과의 차이가 손실 함수(loss function)이다. loss를 최소화하기 위해 가중치(weight)를 조절하는 것이 신경망 학습 과정이다. softmax softmax..

[week 1 - day 3] 경사하강법

경사하강법 미분은 변수의 움직임에 따른 함수값의 변화를 측정하는 것으로 최적화에서 많이 쓰이는 기법 최적화에 어떻게 쓰이는가? 미분은 접선의 기울기를 구할 수 있는데, 이 접선의 기울기를 통해 어떤 방향으로 움직어야 함수 값이 증가하는지 감소하는지를 판단할 수 있다. 미분값을 더하면 함수 값이 증가하는 것, 미분값을 빼면 함수 값이 감소하는 것 ! 이게 바로 경사상승법, 경사하강법이다 그러니깐 경사하강법은 어느 지점에서 상관없이 미분값을 빼가면서 극값을 찾는 과정이라고 할 수 있음 Weight = Weight - lr * 기울기 위 공식처럼 lr(학습률)을 곱해주는데, 학습률이 너무 작으면 수렴하는데(=극값을 찾는데) 너무 오래 걸리고, 크면 발산 가능성이 있다. 변수가 벡터라면 ? 변수가 벡터라면, 손..

[week1 - day 3] 벡터 & 행렬

벡터란 ? 벡터는 공간에서 한 점을 나타낸다. 1차원 공간에서 (x), 2차원 공간에서 (x,y), 3차원 공간에서 (x,y,z)와 같이 한 점을 지칭한다. 위에서 언급한 (x), (x,y), (x,y,z)는 모두 원점으로부터 떨어진 거리이다. 즉, 벡터는 원점으로부터 상대적 위치를 표현한다. 애초에 x도 0+x이므로, 두 백터의 덧셈은 다른 벡터로부터의 상대적으로 이동한다고 볼 수 있다. 벡터의 노름(norm) ||x|| : 벡터의 크기(=원점으로부터의 거리)를 의미한다. 노름의 정류에 따라 기하학적 성질이 달라진다. L1-노름 : 각 성분 변화량의 절대값의 합. L2-노름 : 피타고라스의 정리를 이용한 유클리드 거리 ex) v = [1, -2, 3] L1-노름의 거리 : 1 + 2+ 3 = 6 L2-..

[week 1 - day 2] Pandas

Pandas란 ? 구조화된 데이터의 처리를 지원하는 라이브러리 import pandas as pd data_url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data' df_data = pd.read_csv(data_url, sep="\s+", header=None) #정규식을 통해 여러 띄어쓰기로 구분 series column vector를 표현한 object이다. 1차원 배열같은 자료구조인데, 인덱스가 같이 출력된다는 점과 그 인덱스를 지칭할 수 있다는 점에서 새롭다. obj = Series([1,2,3,4], index = ['a', 'b', 'c', 'd']) dataframe series들을 하나로 모..

[week 1 - day 2] Python data handling/ Numpy

CSV CSV는 Comma Separate Value의 약자로, 필드를 쉼표(,)로 구분한 텍스트 파일이다 wget -Uri https://bit.ly/3psoUZb -OutFile .\ai_math\lec3\customer.csv wget을 통해 파일을 다운받아준다. 나는 윈도우를 쓰고 있기 때문에 다음과 같이 작성해주었다. """ code """ cust_lst = [] data_header = [] line_counter = 0 f = open("./data/customer.csv", "r") while 1: data = f.readline().rstrip() #끝 공백 제거하고 한 줄씩 읽어오기 if not data: break #데이터가 없다면, 즉, 끝나면 종료 if line_counter =..

[week 1 - day 2] Exception Handling

Exception Exception에는 크게 2가지가 존재하는데, 1) 예상 가능한 예외 2) 예상 불가능한 예외 이다. 예상 가능한 예외는 if문으로 처리해도 되지만, 예상 불가능한 예외는 인터프리터 과정에서 발생하는 예외이므로 try ~ except문을 이용한다. try: print("start") print(abc) except NameError: print("에러발생") 결과>> start 에러발생 다음과 같이 사용하면 된다. 예외 모두를 지칭하는 Exception을 이용해도 되지만, 이는 어떤 에러인지 판단하지 못하기 때문에 지양하자. try, except, else, finally try : 에러가 발생할 것으로 예상되는 코드 작성 except : try문을 읽다가 에러가 발생하면 넘어감 el..