Go together

If you want to go fast, go alone. If you want to go far, go together.

분류 전체보기 59

15장 RNN과 CNN을 사용해 시퀀스 처리하기

RNN을 사용하면 time series, 고정된 길이가 아닌 sequence (문장, 문서, 오디오 ..)를 다룰 수 있습니다. 자동 번역, speech to text 같은 자연어 처리(NLP)에 매우 유용합니다. RNN은 이전 타임 스텝의 출력을 다시 입력으로 받습니다. $$y_{\left(t\right)}=\Phi \left(W_x^Tx_{\left(t\right)}+W_y^Ty_{\left(t-1\right)}+b\right)$$ $$Y_{\left(t\right)}=\Phi \left(\left[X_{\left(t\right)}\ \ \ Y_{\left(t-1\right)}\right]W+b\right)$$ $$W\ =\begin{bmatrix}W_x\\W_y\end{bmatrix}$$ Φ는 활성..

14장 합성곱 신경망을 사용한 컴퓨터 비전

?부분 알아보기, YOLO ~ YOLOv3 논문 읽어보기 이미지 인식 문제에서 완전 심층 연결망이 아닌 CNN을 쓰는 이유는 완전 연결층의 경우 아주 많은 파라미터를 만들기 때문입니다. 예를 들어, 100x100 이미지는 10,000개의 픽셀로 이루어져 있는데, 이를 첫 은닉층의 뉴런 1,000개에 연결하면 10,000,000개의 연결이 만들어지기 때문입니다. CNN은 층을 부분적으로 연결하고 가중치를 공유해 이 문제를 해결합니다. 합성곱 층 CNN은 합성곱(convolution)을 이용합니다. 합성곱은 한 함수가 다른 함수 위를 이동하며 원소별 곱셈의 적분을 계산하는 수학 연산입니다. 합성곱 층에서는 합성곱 연산 중 반전을 제외한 교차 상관(cross-correlation)을 사용합니다. 위 그림의 C..

TPSJAN22-01 EDA 필사

daterutil : 날짜 관련 matplotlib.ticker: 그래프의 눈금 위치, 형식 지정 모듈 MaxNLocator: 좋은 위치에 눈금이 있는 최대 간격을 찾습니다. FormatStrFormatter: 문자열로 라벨을 설정합니다. PercentFormatter: 백분율로 라벨을 설정합니다. sklearn.compose.TranformedTargetRegressor: 회귀에서 데이터를 변환해 분포를 고르게 한 후, 예측할 때 값을 역변환해야하는데, 그걸 수행해주는 라이브러리 DataFrame.unstack(level): level을 열로 하게끔 DataFrame을 재구성 ndarrat.squeeze(): ndarray의 필요 없는 축을 제거한다. >>> x = np.array([[[0], [1],..

kaggle 2022.01.12

13장 텐서플로에서 데이터 적재와 전처리하기

모르는 부분: save_to_multiple_csv_files 에서 repr(), np.c_, print(end파라미터), interleave(), interleave 다시 복습 모르는 부분: 메모리 용량보다 큰 규모의 데이터셋으로 딥러닝 시스템을 훈련해야 하는 경우가 많습니다. 텐서플로는 데이터 API를 통해 이를 쉽게 처리할 수 있습니다. 데이터셋 객체를 만들고 데이터 위치와 변환 방법을 지정하면 됩니다. 멀티스레딩, 큐, 배치, 프리페치(prefetch)같은 상세한 사항을 모두 대신 처리해줍니다. 데이터 API는 텍스트 파일(CSV 등), 고정 길이의 이진 파일, 텐서플로의 TFRecord 포맷을 사용하는 이진 파일에서 데이터를 읽을 수 있습니다. 데이터 API는 SQL 데이터베이스에서 읽는 기능을..

12장 텐서플로를 사용한 사용자 정의 모델과 훈련

궁금한점: jacobian() 메서드 알아보기 사용자 정의 훈련 다시 정리하기 궁금한점: 지금까지 텐서플로 고수준 API인 tf.keras만 사용해왔습니다. 이제 텐서플로를 자세히 들여다보고 저수준 파이썬 API를 살펴볼 차례입니다. 자신만의 손실 함수, 지표, 층, 모델, 초기화, 규제, 가중치 규제 등을 만들어 세부적으로 제어하고 싶을 때 필요하기 때문입니다. 텐서플로의 자동 그래프 생성 기능을 사용해 사용자 정의 모델과 훈련 알고리즘의 성능 을 향상할 수 있는 방법도 알아봅니다. 텐서플로 훑어보기 텐서플로는 강력한 수치 계산용 라이브러리입니다. 머신러닝 외에도 계산량이 많이 필요한 어떤 작업에도 사용할 수 있습니다. 텐서플로가 제공하는 기능: GPU 지원 분산 컴퓨팅(여러 장치, 서버에 대해) JI..

LDA fisher analysis

벡터 사영: U로 V를 사영한 벡터: $$\operatorname{proj}_UV=\frac{V\cdot U}{\left|\left|{U}\right|\right|^2}U$$ $$y=w^Tx$$ |w|=1, w의 방향은 x와 곱할 때 정해져 있어서 따로 붙히지 않고, y는 1차원 벡터(스칼라) 클레스가 2개일 때 클래스 i의 평균 벡터: $$m_i=\frac{1}{n_i}\sum _{x\in D_i\ }^{\ }x\tag{1}$$ 직선에 projection 시킨 클래스 i의 평균 벡터: $$\tilde{m_i}=\frac{1}{n_i}\sum _{y\in Y_i\ }^{\ }y=\frac{1}{n_i}\sum _{x\in D_i\ }^{\ }w^Tx=w^Tm_i\tag{2}$$ 클레스 1, 2 사이의 거..

통계 2022.01.01

11장 심층 신경망 훈련하기

고해상도 이미지에서 수백 종류의 물채를 감지하는 복잡한 문제는 수백 개의 뉴런으로 구성된 10개 층 이상의 층을 가진 신경망으로 훈련해야할 것입니다. 심층 신경망을 훈련하는 것은 쉬운 일이 아닙니다. 훈련 중에 다음과 같은 문제를 마주할 수 있습니다. 그레디언트 소실, 그레디언트 폭주: 심층 신경망 아래쪽으로 갈 수록 그레디언트가 점점 더 작아지거나 커지는 현상입니다. 훈련 데이터가 충분하지 않거나, 레이블을 만드는 비용이 많이 들 수 있습니다. 훈련이 극단적으로 느려질 수 있습니다. 수백만개의 파라미터를 가진 모델은 훈련 세트에 과적합될 위험이 큽니다. 훈련 샘플이 적거나 잡음이 많은 경우 그렇습니다. 그레디언트 소실과 폭주 문제 심층 신경망을 훈련할 때 아래쪽으로 갈 수록 그레디언트가 점점 더 작아지..