일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- LSTM
- tensorflow
- RNN
- pytorch
- nn.Sequential
- triu
- kde
- kernel density estimation
- forward
- 크롬 원격 데스크톱
- Chrome Remote Desktop
- ai tech
- 네이버 부스트캠프
- ubuntu
- Til
- error
- tril
- band_part
- Linux
- GRU
- Today
- Total
무슨 생각을 해 그냥 하는거지
[학습정리] 2021-08-09 본문
※ 정보전달이 목적인 포스트가 아니라 개인 학습 기록 및 정리가 목적인 포스트입니다 ※
해당 포스트는 네이버 커넥트 재단의 부스트캠프 마스터님이신 안수빈 강사님, 최성준 교수님의 강의를 바탕으로 작성되었습니다.
1. 강의 복습 내용
[Deep Learning Basics]
학부 강의를 통해 이미 알고 있는 내용들이 많아서 skip!
Multi-layer perceptron은 정말.. 직접 문제를 풀어보면 확실하게 이해가 되는 것 같다.
- 각 task마다 어떤 loss function을 사용할까?
- Regression : Mean Squared Error
- Classification : Cross Entropy
- Probabilistic task : Maximum Likelihood Estimation
- 하지만 경우에 따라 다르게 사용한다는 것도 잊지말자.
[Data Visualization]
이때까지 시각화를 중요하게 생각해본 적이 없었는데, 안수빈 강사님의 강의를 듣고 완전히 생각이 바뀌었다.
보는 사람(나 포함)이 해석을 잘못되게 하지 않도록 시각화를 잘 해야 한다는 것을 깨달았다.
시각화의 요소
'데이터'를 시각화하는 거니까 당연히 데이터에 대한 이해가 필요하다. 데이터가 정형/비정형인지, 시계열 데이터인지..
목적에 따라 시각화 방법이 달라지기도 하지만 데이터에 따라서 어떤식으로 정렬할지, 어떤 plot으로 표현할지 달라지기도 한다. 당연한 거지만 새삼 중요하게 느껴졌다.
- 데이터 시각화는 점, 선, 면으로 이루어진다. (mark라고 한다.)
- 이런 마크를 바꿀 수 있는 요소들을 channel이라고 한다.
- 전주의적(Pre-attentive) 속성을 갖는다. e.g. 색깔이나 contrast처럼.. 눈으로 보니까 따로 주의를 하지 않아도 인지하게 되는 요소들을 의미한다. → 여러 요소들을 사용하면 당연히 인지하기 어렵다. 그럴 땐 시각적 분리를 해줘야 함.
Bar plot 사용하기
bar plot은 막대를 이용하여 데이터를 표현하는 차트이다.
막대의 방향에 따라 .bar()를 이용해 수직(우리가 익숙한) 방향으로 그릴 수도 있고, .barh()로 수평 방향으로 그릴 수도 있다.
- Bar plot의 종류
- 2개 이상의 그룹을 쌓아서 표현하는 Stacked bar plot
- 2개의 그룹을 겹치고 투명도를 조절해서 표현하는 Overlapped bar plot
- 그룹을 범주에 따라 이웃되게 배치해 표현하는 Grouped bar plot (가장 추천)
Principle of Proportion Ink (막대 그래프에만 한정 X)
: The rule is very simple: when a shaded region is used to represent a numerical value, the area of that shaded region should be directly proportional to the corresponding value.
그래프로 표현되는 게 실제 값과 비례해야 한다는 원리.
아래 그림을 보면, 왼쪽 bar plot에서 첫 번째 막대가 네 번째 막대의 두 배 이상이 아님에도 불구하고, y축 scale을 제대로 보지 않는다면 두 배 이상이라고 잘못 판단을 내릴 수 있다. 오른쪽 bar plot처럼 실제 데이터 값과 비례하게 그래프를 그려줘야 잘못된 해석을 막을 수 있다.
데이터 정렬
위에서 말했듯 데이터의 종류에 따라 그래프에서 정렬이 달라진다.
- 시계열인 경우 시간순
- 수치형인 경우 크기순
- 순서형인 경우 범주 순서
- 명목형인 경우 범주의 값따라 다르게 정렬을 해줄 수 있다.
Line plot
line plot은 데이터를 점으로 나타내고 이를 선으로 이은 그래프이다.
- 추세를 살피는 데 용이하기 때문에 시계열 데이터에 사용하기 좋다.
- .line()이 아니라 .plot()을 사용한다.
- 색상, 마커(마커 모양이나 마커 크기), 선의 종류로 여러 선을 구별할 수 있다.
- noise가 많은 데이터(변동이 잦은?)는 smoothing을 통해 Noise의 인지적인 방해를 줄일 수 있다. (ppg 같은 바이오센서 값도 이런 smoothing을 해도 되지 않을까 혼자 생각했다..)
Scatter plot
scatter plot은 점을 이용해 두 feature 사이의 관계(상관관계)를 알기 위해 사용하는 그래프이다.
- .scatter()
- 점의 색, 모양, 크기에 변화를 주어 사용할 수 있다.
- clustering이나 outlier를 판별하는 데 도움이 된다. (SVM할 때 많이 해봤다..)
- 점(데이터)이 많다면 투명도 조정, jittering, 2차원 히스토그램, contour plot을 사용하는 게 좋다.
데이터 시각화 실습에 대한 글은 나중에 따로 포스팅하고자 한다!
2. 과제 수행 과정 / 결과물 정리
[필수 과제 MLP]
pytorch docs 최고..
- torch.nn.Linear(in_features, out_features, bias=True, device=None, dtype=None)
- data loader로 데이터를 불러오면 input 데이터의 사이즈가 torch.Size([batch_size, channel, height, width])
training 할 때 실행은 잘 되면서 계속 Assertion Error: can only test a child process 메세지가 떴는데,
슬랙에 질문을 올렸더니 멘토님께서 num_workers 수를 조절해보라고 하셔서 다행히 해결이 되었다.
왜 그런지는 좀 더 알아보고 싶다.
2. 피어세션 정리
- 지난 선택과제2 BPTT에 대해 다시 얘기를 해봤다.
- 매일매일 캠퍼 한 명씩 자기소개를 하는 중... 서로 어떤 관심사가 있는지, 어떤 계기로 들어오게 됐는지 알게 되어 좋다.
4. 학습 회고
- 데이터 시각화를 처음으로 제대로 배워보는 것 같은데 덕분에 데이터 시각화의 중요성을 명확히 느낀다.
'Naver AI Tech 2기 > Today I Learned' 카테고리의 다른 글
[학습정리] 2021-08-17 (0) | 2021.08.17 |
---|---|
[학습정리] 2021-08-13 (0) | 2021.08.13 |
[학습정리] 2021-08-10 (0) | 2021.08.12 |
[학습정리] 2021-08-06 (0) | 2021.08.06 |
[학습정리] 2021-08-04 (0) | 2021.08.04 |