
▶CNN과 MLP 차이 이전 글에서 딥러닝 종류에 대해서 알아보았습니다. 그런데 특히 CNN(Convolution Neural Network)와 MLP(Multi Layer Percepron)의 그림을 보는 중에 두 그림이 비슷해 보여서 둘의 차이가 궁금해 정리해 보려고 합니다 :) CNN MLP ✔️ kernel을 통해 valid padding과 pooling을 통해 특징점을 추출 ✔️ 이미지의 행렬인 2차원 배열에서 가로, 세로 축 전부 합성곱 연산과 풀링 연산으로 정보 손실 적음 ✔️ 풀링으로 추출한 특징점에 대한 가중치만 계산 ✔️ 연산량이 MLP보다 적음 ✔️ 이미지 행렬을 1차원 배열로 만듦 ✔️ 이를 신경망에 입력으로 넣어서 가중치 계산 ✔️ 공간 정보 손실이 큼

▶딥러닝(ANN, DNN, CNN, RNN, SLP, MLP) 비교 1. Machine Learning vs Deep Learning 딥러닝과 머신러닝의 차이점 실질적으로는 인공지능 > 머신러닝 > 딥러닝 이렇게 포함관계가 됩니다. 하지만 머신러닝과 딥러닝의 차이는 '사람의 개입 여부'가 되겠습니다. 머신러닝과 딥러닝 모두 데이터를 분류하는데 사용하는 기술이지만, 두 기술의 가장 큰 차이점은 사람의 개입 여부입니다. 머신러닝은 주어진 데이터를 인간이 먼저 처리합니다. 사람이 먼저 컴퓨터에 특정 패턴을 추출하는 방법을 지시하고, 그 이후 컴퓨터가 스스로 데이터의 특징을 분석하고 축적합니다. 이렇게 축적된 데이터를 바탕으로 문제를 해결하도록 하는건데요. 예를 들어 개와 고양이의 사진을 보고 개와 고양이의 특..

▶차원 축소(Dimensionality Reduction) 차원 축소는 많은 feature로 구성된 다차원의 데이터 셋을 차원을 축소하여 새로운 차원의 데이터 셋을 생성하는 것을 말합니다. 다시말해서, 변수를 줄인다고 생각하면 됩니다. 이제 축소하는 방식에 대해 알아보겠습니다. 1) PCA PCA(Principal Component Analysis)는 가장 대표적인 차원 축소 기법입니다. 여러 변수 간 존재하는 상관관계를 이용해 이를 대표하는 주성분을 추출해 차원을 축소하는 기법입니다. 간단하게 분산을 최대한 보전하는 데이터의 축을 찾아 차원을 축소하는데, 이것이 PCA의 주성분이 되는 방식입니다. 위 사진에서 데이터의 분산을 가장 잘 복원한 주성분은 무엇일까요? 당연히 c1이 되겠습니다. 그러므로 c1..

▶딥러닝 선형회귀 선형 회귀의 핵심은 학습 데이트와 가장 잘 맞는 직선을 찾는 작업이라고 할 수 있습니다. ▷라이브러리 import 우선 필요한 라이브러리를 import 해주겠습니다. import torch import torch.nn as nn import torch.nn.function as F import torch.optim as optim 간단한 학습 데이터셋을 만들겠습니다. 1시간 공부해서 점수가 50점, 2시간 공부해서 점수가 70점 이런 관계입니다. X_train = torch.FloatTensor([[1], [2], [3], [4]]) y_train = torch.FloatTensor([[50], [70], [90], [85]]) ▷W와 b 초기화, 선형식 작성 위 그림에서 보이는 선형식..

▶하이퍼파라미터 튜닝을 쉽게 하이퍼파라미터 튜닝 시 경우의 수가 너무 많습니다. 이를 자동화할 필요가 있으며, 사이킷런 패키지에서는 자주 사용되는 하이퍼파라미터 튜닝을 돕는 클래스가 존재합니다. 대표적인 방법 두 가지는 다음과 같습니다. RandomizedSearchCV GridSearchCV 또한 적용하는 방법은 다음과 같습니다. 사용할 Search 방법을 선택 hyperparameter 도메인을 설정(max_depth, n_estimators..등) 학습을 시킨 후 기다림 도출된 결과 값을 모델에 적용하고 성능을 비교 1) RandomizedSearchCV RandomizedSearchCV 방법은 모든 매개변수 값이 시도되는 것이 아니라 지정된 분포에서 고정된 수의 매개변수 설정이 샘플링 됩니다. 다..

▶교차 검증(Cross Validation) 보통은 train set으로 모델을 훈련, test set으로 모델을 검증합니다. 하지만 이 방법은 고정된 test set을 통해 모델의 성능을 검증하고 수정하는 과정을 반복하게 되면서 결국 해당 test set에만 잘 동작하는 모델이 되게 됩니다. 다시 말해 해당 test set에 과적합(overfitting)하게 되므로, 또 다른 새로운 데이터에 대해서는 예측 성능이 좋지 않게 되는 것입니다. 이를 해결하고자 하는 것이 바로 교차 검증(cross validation)입니다. 교차검증의 장점은 모든 데이터셋을 훈련에 활용할 수 있어 정확도를 향상시킬 수 있고 데이터 부족으로 인한 과소적합(underfitting)을 방지할 수 있습니다. 또한 모든 데이터셋을 ..
- Total
- Today
- Yesterday
- react-query
- 프론트엔드
- 리액트 훅
- 타입스크립트
- 파이썬
- 자바스크립트
- TypeScript
- rtl
- testing
- 프로젝트 회고
- 프론트엔드 공부
- styled-components
- react
- HTML
- jest
- 머신러닝
- Python
- 자바스크립트 기초
- 리액트
- CSS
- 딥러닝
- 스타일 컴포넌트 styled-components
- 프론트엔드 기초
- 디프만
- frontend
- 데이터분석
- 자바
- JSP
- 인프런
- next.js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |