일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 순열
- 네트워크
- 프로그래머스
- 파이썬
- 딥러닝
- CSS
- 코딩테스트
- AI
- 백준
- nlp
- 운영체제
- 동적프로그래밍
- 코딩
- PYTHON
- 구글 킥스타트
- kick start
- OS
- BFS
- google coding competition
- dp
- 프로그래밍
- 킥스타트
- 그래프
- DFS
- 브루트포스
- 동적 프로그래밍
- 알고리즘
- linux
- 리눅스
- 코딩 테스트
- Today
- Total
목록AI/밑바닥딥러닝1 (14)
오뚝이개발자
본 글은 밑바닥부터 시작하는 딥러닝 포스팅에 이어 핸즈온 머신러닝 2판(오렐리앙 제롱 지음) 책을 공부한 것을 요약한 것으로 밑바닥 딥러닝 책에 나오지 않는 개념들 위주로 정리한다. 나오지 않는 개념이나 기본적인 개념들을 밑바닥부터 시작하는 딥러닝에 포스팅하였으니 먼저 보고 오기를 추천한다. 이진 분류기 훈련 문제가 복잡할 때는 단순화해서 검증을 해보는 것이 유용하다. 예를 들어, MNIST 손글씨 분류 문제에서는 0~9까지 10개의 클래스에 대해 한 번에 검사하기 보단 '5-감지기'와 '5아님-감지기' 두 개의 클래스를 구분할 수 있는 이진 분류기(binary classifier)를 구현해 테스트 해보는 것이다. 성능측정 1. 교차 검증을 사용한 정확도 측정(k-fold cross validation)..
본 글은 밑바닥부터 시작하는 딥러닝 포스팅에 이어 핸즈온 머신러닝 2판(오렐리앙 제롱 지음) 책을 공부한 것을 요약한 것으로 밑바닥 딥러닝 책에 나오지 않는 개념들 위주로 정리한다. 나오지 않는 개념이나 기본적인 개념들을 밑바닥부터 시작하는 딥러닝에 포스팅하였으니 먼저 보고 오기를 추천한다. 머신러닝 시스템의 종류 사람의 감독 하에 훈련하는 것인지 아닌지(지도, 비지도, 준지도, 강화 학습) 실시간으로 점진적인 학습을 하는지 아닌지(온라인, 배치 학습) 어떻게 일반화 되는가 : 단순히 알고있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지 아니면 과학자들이 하는 것처럼 훈련 데이터셋에서 패턴을 발견하여 예측 모델을 만드는지(사례기반, 모델기반 학습) 지도학습(supervised learning) -..
선형 회귀는 사용되는 특성(feature)의 갯수에 따라 다음과 같이 구분된다. - 단순 선형 회귀(simple linear regression) : 특징이 1개 - 다중 선형 회귀(multiple linear regression) : 특징이 여러개 LASSO와 Ridge는 선형 회귀의 단점을 보완해 범용성을 부여하기 위해 만들어진 도구들이다. 선형 회귀란? 예컨대, 어묵을 팔고 있는 사람이 기온에 따른 자신의 어묵 판매량을 알아보기 위해 상관관계를 조사했다고 하자. 그 결과 기온이 낮은 날에는 어묵 판매량이 늘어나는 경향이 있었다. 이를 바탕으로 경향성을 분석하자 y=ax+b와 같은 선형 관계가 나타났다. 덕분에 어묵 장수는 자신의 다음 날의 기온을 일차함수식에 넣어 판매량을 예측한 뒤 필요한 만큼의 ..
Bias와 Variace의 개념 쉽게 사격을 한다고 생각하면 된다. 위 그림의 파란색 엑스표는 예측값을 나타낸다. bias란 말그대로 예측값이 중앙(Truth)에서 얼마나 멀리 떨어져있는지를 나타낸다. bias가 높으면 중앙에서 멀리 떨어져있고, 낮으면 중앙과 가까이 붙어있다는 것이다. variance란 예측값들이 서로 얼마나 멀리 떨어져있는지를 나타낸다. variance가 높으면 예측값들이 서로 멀리 떨어져있고, 낮으면 서로 붙어있다. 성능과 bias, variance - 모델의 성능을 높이기 위해선 당연하게도 bias와 variance를 둘 다 줄이는 것이 좋다. - 하지만 이 둘 간에는 상충관계(trade-off)가 있다. - 일반적으로 bias가 증가하더라도 variance의 감소폭이 크면 좋은 ..
L1, L2 regularization은 모두 overfitting을 막기 위해 사용된다. 두 개념을 알기 위해 필요한 사전개념들이 있다. 이들을 순차적으로 알아보자. Norm Norm은 벡터의 크기(길이)를 측정하는 방법(혹은 함수)이다. 두 벡터 사이의 거리를 측정하는 방법이기도 하다. - p는 Norm의 차수, p=1이면 L1 Norm이고, p=2이면 L2 Norm - n은 해당 벡터의 원소 수 L1 Norm - L1 Norm은 쉽게 말해 벡터 p,q의 각 원소들의 차이의 절댓값의 합 L2 Norm - L2 Norm은 벡터 p, q의 직선 거리 - q가 원점이라면 벡터 p, q의 L2 Norm은 벡터 p의 원점으로부터의 직선거리 L1 Norm과 L2 Norm의 차이 - 검정색 두 점 사이의 L1 N..
오버피팅이란? 훈련 데이터에만 지나치게 학습되어 새로운 데이터에 대응하지 못하는 현상, 과적합이라고도 한다. 주로 다음과 같은 경우에 발생한다. - 모델이 깊어 파라미터 수가 많고, 표현력이 좋은 모델 - 학습용 데이터의 양이 부족한 경우 SOL1) 배치 정규화(Batch Normalization) - 일반적으로 좋은 가중치의 초깃값이란 활성화 값(Activation value)이 고르게 분포되도록 하는 값을 말함. - 배치 정규화는 가중치의 초깃값에 의존하지 않고 '강제로' 활성화 값을 적절히 분포되도록 하는 것. - 미니배치 B=x1, x2, ..., xn을 평균이 0, 분산이 1인 표준정규분포를 따르도록 정규화 - 배치 정규화의 장점 가중치 초깃값에 크게 의존적이지 않다. Gradient vanis..
- 딥러닝이란 층을 깊게 한 신경망 데이터 확장(data augmentation) - 입력 이미지(훈련 이미지)를 알고리즘을 동원해 '인위적'으로 확장한 것 - 데이터가 적을 때 효과적인 수단 - 간단하지만 정확도 개선에 효과적 - 회전, 이동에 의한 변형 - 이미지 일부를 잘라내는 crop - 좌우를 뒤집는 flip - 크기변화(scale), 밝기수정 등. 층을 깊게 하는 것의 이점 - ILSVRC(ImageNet Large Scale Visual Recognition Challenge) 대규모 이미지 인식 대회에서 최근 상위를 차지한 기법 대부분은 딥러닝 기반이며 그 경향은 신경망을 더 깊게 만드는 방향으로 가고 있다.(층의 깊이에 비례해 정확도가 좋아진다.) - 깊은 신경망은 그렇지 않은 경우보다 ..
합성곱 신경망 CNN은 Convolutional Neural Network의 약자이다. 이미지 인식과 음성 인식 등 다양한 곳에서 활용되는데, 특히 이미지 인식 분야에서 딥러닝을 활용한 기법은 거의 CNN을 기초로 한다. CNN의 구조 - 완전연결 신경망(fully-conected) : 인접하는 계층의 모든 뉴련과 결합 - 완전히 연결된 계층을 Affine 계층이라는 이름으로 구현 - CNN : 합성곱 계층(Conv)과 풀링 계층(Pooling)이 추가됨. - Conv -> ReLU -> (Pooling) 흐름으로 연결(Pooling은 생략되기도 함) - 지금까지의 Affine -> ReLU 연결이 Conv -> ReLU -> Pooling으로 바뀌었다고 생각하면 쉽다. - 마지막 출력 계층에선 Affi..