본문 바로가기

[Day13] DL Basic 3. Optimization -2 : Optimizers Optimizers 1. Gradient Descent $$W_{t+1} \leftarrow W_{t} - \eta g_{t}$$ $g_{t}$ = gradient $\eta$ = step size = learning rate 2. Momentum 관성 흐르던 gradient 방향을 좀 더 이어갈 수 있도록 유지해준다. 그래서 gradient가 너무 자주 방향이 바뀌는 것을 방지할 수 있다. 현재의 gradient를 계산해서 그 다음 학습 때 이 gradient 정보를 전달한다. 그래서 batch가 흐르던 방향의 gradient 정보를 활용할 수 있다. $$a_{t+1} \leftarrow \beta a_{t}+g_{t}$$ $$W_{t+1} \leftarrow W_{t} - \eta a_{t+1}$$ ..
[Day13] DL Basic 3. Optimization 최적화 - 1 1. Generalization 대부분 일반화 성능을 높히는 것이 목적이다. training error가 낮아져도 학습이 잘 됬다는 보장은 없다. test error에 대해서는 커질 수 있다. 그래서 training error와 test error 사이의 차이를 generalization gap이라고 하고, generalization 성능이 좋다는 것은 이 network의 성능이 학습 데이터의 성능과 비슷할 것이라는 의미이다. 2. Underfitting vs Overfitting Underfitting Balanced Overfitting 과적합 training을 너무 적게 해서 학습 데이터 조차도 잘 못 맞추는 현상 그 사이 좋은 network 학습 데이터에 대해서는 잘 동작하지만 test 데이터에 ..
[Day13] DL Basic 2. 뉴럴 네트워크 - MLP DL Basics 1강은 Pre-course 때 정리해 놓은 것 2021.12.02 - [AI] - 부스트캠프 AI Tech 3기 Pre-Course - 인공지능(AI) 맛보기 : [1]Historical Review 으로 대체했습니다. 부스트캠프 AI Tech 3기 Pre-Course - 인공지능(AI) 맛보기 : [1]Historical Review 부스트캠프를 준비하며 들었던 부스트코스의 내용을 정리해 두려고 합니다. Reference : 부스트캠프 AI Tech 3기 Pre-Course - 딥러닝 기본 용어 설명 - Historical Review chae52.tistory.com Neural Networks 인간의 뇌 신경망을 모방하고자 한 computing system 행렬을 곱해서 함수를 근..
[Day12] Data Viz 4-1. Seaborn 소개 Seaborn python matplotlib 기반 통계 데이터분석 라이브러리 통계적인 정보나 데이터를 살피는데에 적합하다. 문법이 쉽고 디자인이 깔끔하다. pip install seaborn==0.11 0.10과 0.11이 많이 다르다. import seaborn as sns 를 관용적으로 많이 사용한다.
[Day12] Data Viz 3-4. More Tips Grid 이해하기 단순히 x, y축만 있는 것이 아니다. Default Grid 축과 평행한 선을 사용해서 값 정보를 보조적으로 알 수 있게 해준다. 무채색 plot에 나타나는 표현과 겹치지 않게 하기 위해서 회색 점선 맨 아래 layer zorder를 순서 상 맨 밑에 오도록 조정하기 다양한 타입의 grid matplotlib에서는 제공하지 않는 grid x+y=c feature의 절대적인 값(합)이 중요한 경우 y=cx feature의 비율이 중요한 경우 기울기가 중요한 경우 극좌표계와 같이 사용 (x-x')^2 + (y-y')^2 = c 동심원 그리드 특정 값을 기준으로 거리를 살펴볼 수 있다. 가까울 수록 그 값과 비슷하다고 여겨진다. cluster를 만들 때 가독성이 좋다. Simple한 처리 ..
[Day12] Data Viz 3-3. Facet 사용하기 Facet : 분할 화면에 대한 분할 여러 개의 view로 다양한 관점을 전달한다. 또한 자세한 정보를 추가 전달할 수 있다. 같은 dataset에서 다른 encoding을 통해 다른 인사이트를 전달 ex) 막대그래프(비율 비교) vs Pie chart(백분위 비교) 같은 방법으로 동시에 여러 feature를 볼 수 있다 ex)multiple bar plot 큰 틀에서 볼 수 없는 부분을 세세하게 보여줄 수 있다 ex) line plot을 smoothing한 부분을 일부 보여주기 Facet 만들기 결국 분할을 하는 것이 subplot 을 만드는 것이다. plt.subplot() 을 여러 개 plt.figure + fir.add_subplot()으로 여러 개 추가 plt.subplots()로 한 번에 많이..
[Day12] Data Visualization 3-2. Color 사용하기 Color에 대한 이해 데이터를 구분하는데 있어서 가장 중요한 요소는 색이다. 색 조합, 깔끔함이 중요하다. 화려한 것이 좋은 것은 아니다. 원하는 인사이트를 전달할 수 있게 적재적소에 사용하는 것이 좋다. 이미 사람들은 색에 대한 공통적인 감각을 가지고 있으니 이를 활용하는 것이 좋다. Color Palette의 종류 범주형 Categorical =discrete, qualitative 범주에 따라 구분을 지어주어야하기 때문에 독립된 색상으로 구성되어 있다 채도나 명도로 차이를 두는 것은 좋지 않다. 연속형 Sequential 정렬된 값을 가지는 연속형, 순서형에 적합하다 색상은 단일한 색조로 표현하되 검정이나 흰색으로 시작을 해서 그라데이션을 주면 좋다 발산형 Diverge 상반된 값을 표현하는데 적..
[Day12] Data visualization 3-1. Text 사용하기 잘못된 이해를 방지하기 위해 사용 시각적 자료로 할 수 없는 설명을 추가할 수 있다 Figure에서의 text Title subplot의 title과 전체 figure의 title 을 다르게 줄 수 있다 Label x축, y축이 이야기 하고 있는 것 축 라벨(tick label)보다는 크고 잘 보여야 한다. Legend 범례 보조 정보를 제공 annotation, text 두 요소가 다르지만 편한 것 사용하기