일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 운영체제
- 파이썬
- python3
- 재귀
- 프로그래머스
- SQL
- 데이터베이스
- 국민대학교
- programmers
- Python
- C++
- PANDAS
- gan
- Stack
- 스택
- Seq2Seq
- OS
- GIT
- googleapiclient
- machine learning
- kmu
- instaloader
- 정렬
- db
- 회귀
- 머신 러닝
- Regression
- Heap
- 국민대
- LSTM
- Today
- Total
목록분류 전체보기 (143)
정리 노트
이 글은 저번에 적었던 글에 이어서 진행됩니다. 2022.12.10 - [개념 정리/알고리즘] - Heap 정렬(Heap Sort) - Heap 만들기 Heap 정렬(Heap Sort) - Heap 만들기 힙 정렬의 과정 Heap 정렬이 일어나는 과정은 크게 두 단계로 나눠서 볼 수 있습니다. 입력으로 받은 배열을 Heap으로 만드는 과정 만들어진 Heap을 가지고 정렬하는 과정 이번 글에서는 첫 번째 과 study-note-99.tistory.com Heap 정렬하기 Heap을 정렬하는 단계에서는 아래와 같은 과정을 거치게 됩니다. heap에서 최댓값(max heap인 경우) 또는 최솟값(min heap인 경우) 제거 => 루트 노드 제거 heap의 가장 마지막 원소를 root 노드로 복사 root 노..
힙 정렬의 과정 Heap 정렬이 일어나는 과정은 크게 두 단계로 나눠서 볼 수 있습니다. 입력으로 받은 배열을 Heap으로 만드는 과정 만들어진 Heap을 가지고 정렬하는 과정 이번 글에서는 첫 번째 과정인 heap을 만드는 과정에 대해 적겠습니다. 입력이 {0, 7, 2, 5, 3, 1, 6}(0은 인덱스 1부터 맞춰 적기 위해 끼워 넣은 의미 없는 값)과 같이 들어왔다고 할 때, heap이 만들어지는 과정을 봅시다. 힙 만들기(Heap Construction) Heap 정렬을 하기 위해서는 먼저 입력받은 배열을 heap 구조를 따르게 재구성해야 합니다. 오름차순으로 정렬하는 것을 목적으로 한다면 max heap으로 구성해야 합니다. 현재 입력받은 배열의 상황은 아래와 같습니다. Heap의 구조를 만들..
이 포스트는 국민대학교 소프트웨어학부 '인공지능' 강의를 듣고 요약하는 포스트입니다. 원하시는 정보가 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적은 매우 환영합니다! 2022.10.20 - [개념 정리/머신러닝 & 딥러닝 & A.I] - 확률적 경사 하강(SGD) 확률적 경사 하강(SGD) 이 포스트는 국민대학교 소프트웨어학부 '컴퓨터 비전' 강의를 듣고 요약하는 포스트입니다. 원하시는 정보가 없을 수도 있습니다. 이 점 유의 바랍니다. 질문과 오류 지적은 매우 환영합니다! G study-note-99.tistory.com 이번 글에서는 확률적 경사 하강법의 변형들을 살펴보겠습니다. 확률적 경사 하강법에 대한 내용은 제가 전에 적었던 글을 읽고 오시면 조금이나마 감을 잡으실 수 있을 것입니다...
이 글에서는 pytorch를 이용해서 AlexNet을 구현해보려 합니다. 모델을 학습시키고 평가하는 과정은 제가 저번에 적었던 글에 있는 것을 그대로 다시 사용합니다. 2022.11.14 - [구현] - CNN with Pytorch CNN with Pytorch CNN의 개념을 알고 싶은 분들은 제가 저번에 적어놓은 글을 읽어보셔도 됩니다. CNN이란 무엇인가? 2022.08.29 - [개념 정리/머신러닝 & A.I] - CNN(Convolutional Neural Network) 여기서 작성된 코드는 거의 Pytorc study-note-99.tistory.com AlexNet 구조 알아보기 Pytorch에서는 수많은 CNN 구조의 딥러닝 모델들을 제공하고 있습니다. AlexNet 모델 역시 pyto..
이 포스트는 국민대학교 소프트웨어학부 '컴퓨터 비전' 강의와 '인공지능' 강의를 듣고 요약하는 포스트입니다. 원하시는 정보가 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적은 매우 환영합니다! 딥러닝 모델을 구현하거나 모델의 구조를 본 적이 있는 사람들은 Batch Normalization을 사용한 모델들을 몇 번 보셨을 것입니다. 예를 들어 ResNet이라 하는 CNN 구조를 따르는 모델이 있습니다. Pytorch에서 제공하는 resnet 모델의 구조를 살펴보면 'BatchNorm2d'를 통해 배치 정규화를 적용했음을 확인할 수 있습니다. 이번 글을 통해 배치 정규화가 왜 등장했고, 배치 정규화가 무엇인지에 대해 알아보려 합니다. 배치 정규화를 하는 이유 이 이유를 알기 위해서는 2가지 개념에 ..
이 포스트는 국민대학교 소프트웨어학부 '컴퓨터 비전' 강의와 '인공지능' 강의를 듣고 요약하는 포스트입니다. 원하시는 정보가 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적은 매우 환영합니다! 딥 러닝 모델에서 진행되는 역전파 단계에서는 chain rule에 의해 얽혀 있는 수많은 파라미터들에 대한 편미분이 진행됩니다. 이 편미분들을 하나하나 손으로 계산하는 건 불가능합니다. 여기에서 나오는 아이디어가 computational graph입니다. 연산 그래프란 무엇인가? 연산 그래프는 forward 연산이 진행되는 과정을 그래프로 표현한 것입니다. 예를 들어 아래와 같이 computational graph를 그려볼 수 있습니다. 이런 식으로 그래프를 그리면 각 동그라미(노드)들을 하나의 모듈처럼 다..
이 포스트는 국민대학교 소프트웨어학부 '컴퓨터 비전' 강의와 '인공지능' 강의를 듣고 요약하는 포스트입니다. 원하시는 정보가 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적은 매우 환영합니다! 모델을 학습시킬 때 항상 overfitting(과적합)에 대해 생각해야 합니다. Overfitting 현상을 막는 방법은 여러 가지가 있고, 이 글에서는 규제에 대해 얘기하려 합니다. 규제 기법들도 여러 가지가 존재합니다. 가중치 벌칙(L1 norm, L2 norm 사용) Dropout 조기 멈춤(Early stopping) 데이터 확대: 매우 큰 훈련 집합을 사용(데이터 수집은 비용이 많이 듦) -> 가지고 있는 데이터를 인위적으로 변형 앙상블 기법: 여러 가지 모델들을 사용하는 방법 Regularizer..
CNN의 개념을 알고 싶은 분들은 제가 저번에 적어놓은 글을 읽어보셔도 됩니다. CNN이란 무엇인가? 2022.08.29 - [개념 정리/머신러닝 & A.I] - CNN(Convolutional Neural Network) 여기서 작성된 코드는 거의 Pytorch 사이트에 있는 코드입니다. 코드는 Google Colaboratory 기준으로 작성했습니다. https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html Training a Classifier — PyTorch Tutorials 1.13.0+cu117 documentation Note Click here to download the full example code Training a C..