일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- db
- C++
- 회귀
- programmers
- 스택
- kmu
- Python
- OS
- machine learning
- Regression
- 국민대
- Stack
- 운영체제
- instaloader
- LSTM
- SQL
- 정렬
- 파이썬
- Seq2Seq
- gan
- 재귀
- 머신 러닝
- Heap
- 프로그래머스
- googleapiclient
- 국민대학교
- GIT
- PANDAS
- python3
- 데이터베이스
- Today
- Total
목록개념 정리 (76)
정리 노트
선택 정렬(Selection Sort) 선택 정렬은 원소들 중 가장 작은(큰) 값을 정렬되지 않은 부분의 가장 왼쪽(오른쪽)과 swap 하는 정렬 알고리즘입니다. 과정 길이가 6인 정렬되지 않은 정수형 배열({1, 2, 4, 6, 3, 5})를 정렬한다고 해봅시다. 1과 2는 이미 작은 순으로 정렬되어있으므로 여기에 대해서는 swap이 일어나지 않습니다. 다음에는 정렬되지 않은 부분에서 가장 작은 값은 3입니다. 3을 제 위치에 놓기 위해 4와 자리를 swap 합니다. 나머지 4, 5 원소도 위와 같은 단계를 거쳐 배열 정렬을 마무리합니다. 선택 정렬 코드(C++) #include using namespace std; void selectionSort(int[], int); int main() { int..
이번 포스트도 버블 정렬에 대해 알고 있다는 가정 하에 작성되었습니다. 버블 정렬을 모르시는 분들은 제가 전에 적었던 글을 참고하시기 바랍니다. 2022.09.05 - [알고리즘] - 버블 정렬(Bubble sort) Comb Sort 2022.09.06 - [알고리즘] - 칵테일 셰이커 정렬(Cocktail Shaker Sort) 에서 적었듯이 기존 버블 정렬에는 아쉬운 점이 있었습니다. 크기가 작은 데이터가 배열의 끝에 위치한 경우 제 위치로 찾아가기까지 오래 걸렸습니다. Comb Sort는 이 문제점을 개선한 정렬 알고리즘입니다. Gap 기존 버블 정렬에서는 등장하지 않았던 'gap'이 등장합니다. gap은 현재 데이터와 swap 할 데이터 간의 거리를 의미합니다. 즉 버블 정렬에서는 gap이 1이..
본 글은 버블 정렬에 대해 알고 있다는 가정 하에 작성되었습니다. 버블 정렬을 모르시는 분들은 제가 전에 썼던 글을 보고 오시면 더 편하게 이해하실 수 있습니다. 2022.09.05 - [알고리즘] - 버블 정렬(Bubble sort) 버블 정렬할 때 생기는 문제점 버블 정렬을 할 때 길이가 5인 정수형 배열({5, 4, 3, 2, 1})을 정렬한다고 생각합시다. 5는 1번의 pass로 제 위치로 갈 수 있지만 1은 마지막 pass까지 진행해야 제 위치로 갑니다. 이렇듯 정수형 배열을 정렬할 때 값들이 임의로 섞여있는 경우 큰 값들은 적은 pass를 통해 정렬되지만 작은 값들은 거의 마지막 pass까지 진행해야 합니다. 여기서 크기가 작은 값들을 빠르게 제 위치로 이동시킬 수 있는 칵테일 셰이커 정렬(C..
버블 정렬 버블 정렬은 인접한 두 원소의 크기 비교로 정렬이 진행되는 방법입니다. 여기서의 설명은 오름차순으로 정렬하는 것을 기준으로 진행됩니다. 사실 내림차순 정렬은 비교만 바꾸면 되기 때문에 큰 상관은 없습니다. 기본 버블 정렬 처음부터 끝까지 서로 비교하는 것을 하나의 pass라 부릅시다. 한 번의 pass를 거치면 가장 큰 원소가 오른쪽으로 이동하게 됩니다. 예를 들어 길이가 4인 정수형 배열을 정렬한다고 가정하고, 배열 안의 원소는 random 하게 섞여있다고 합시다. 위처럼 첫 번째 pass가 끝나면 가장 큰 원소인 '4'가 배열의 끝에 위치하게 됩니다. 이와 같은 과정을 반복하면 아래처럼 정렬된 배열을 얻을 수 있습니다. 이를 C++ 코드로 구현하면 아래와 같습니다. #include usin..
이 포스트는 2015년 12월에 나온 Kerion O'shea and Ryan Nash의 'An Introduction to Convolutional Neural Networks'의 일부 내용과 국민대학교X프로그래머스 주관하는 '2022학년도 여름방학 인공지능 온라인 실전 부트캠프'에서 배운 내용을 섞어서 작성했습니다. 잘못된 해석과 개념 오류 지적 등 모든 것을 환영합니다. 1. Introduction Convolutional Neural Networks(CNNs)는 기존의 인공 신경망(ANN)과 유사합니다. 기존의 ANN과 다른 점은 CNN은 주로 이미지 패턴 인식에서 사용된다는 것입니다. 이를 통해 이미지들을 아키텍처로 인코딩을 할 수 있고 CNN이 이미지 작업에 특화될 수 있게 하는 것과 동시에 ..
이 포스트는 국민대학교X프로그래머스 주관하는 '2022학년도 여름방학 인공지능 온라인 실전 부트캠프'에서 배운 내용을 정리하는 포스트입니다. 선형 회귀로 분류 문제 해결해보기 저번 글에서 선형 회귀에 대해 알아보았습니다. 2022.08.01 - [개념 정리] - 선형 회귀(Linear Regression) 선형 회귀(Linear Regression) 이 포스트는 국민대학교X프로그래머스 주관하는 '2022학년도 여름방학 인공지능 온라인 실전 부트캠프'에서 배운 내용을 정리하는 포스트입니다. 회귀? 회귀는 특정 데이터가 주어졌을 때 결과 study-note-99.tistory.com 선형 회귀로 분류 문제를 풀어보도록 하겠습니다. 먼저 사용할 데이터는 아래와 같습니다. 입력 숫자(자연수) 성공 여부(1: 성..
이 포스트는 국민대학교X프로그래머스 주관하는 '2022학년도 여름방학 인공지능 온라인 실전 부트캠프'에서 배운 내용을 정리하는 포스트입니다. 회귀? 회귀는 특정 데이터가 주어졌을 때 결과를 예측하는 지도 학습의 유형입니다. 특정 데이터들을 학습해서 데이터를 설명할 수 있는 가장 합리적인 선형 함수를 찾아내는 접근 방법이 선형 회귀 법(Linear Regression)입니다. 선형 회귀에서 학습할 데이터들은 아래와 같다고 합시다. 하루 평균 공부 시간(단위: Hour, 범위: 0 ~ 24 사이의 실수) 시험 점수(0 ~ 100 사이의 실수) 0.5 40 1 55 1.5 65 2 74 2.5 88 3 95 이 데이터를 학습한 선형 회귀 모델에 공부한 시간을 넣으면 시험 점수가 얼마나 나올지 예측해주는 선형 ..
이 포스트는 국민대학교X프로그래머스 주관하는 '2022학년도 여름방학 인공지능 온라인 실전 부트캠프'에서 배운 내용을 정리하는 포스트입니다. 또한 포스트를 작성하는 과정에서 전에 배웠던 Git 사용법(학교 교수님의 자료)과 Git Documentation을 참고했습니다. https://git-scm.com/book/ko/v2/ Git - Book 이 포스트를 읽기 전에 Git(1)을 읽으시는 것을 추천합니다. -> 2022.07.05 - [개념 정리] - Git(1) Git의 Branch 학교 교수님의 강의 자료에 따르면 branch는 독립적으로 작업을 진행하기 위한 버전이라고 설명할 수 있습니다. Git은 기본적으로 기본 branch인 'master' branch에서 진행됩니다. 여기서 branch를 ..