일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gan
- Heap
- Stack
- OS
- googleapiclient
- 운영체제
- 머신 러닝
- GIT
- 프로그래머스
- Python
- SQL
- python3
- LSTM
- Seq2Seq
- 국민대학교
- machine learning
- 정렬
- 회귀
- 국민대
- kmu
- Regression
- instaloader
- 파이썬
- programmers
- C++
- db
- 스택
- 재귀
- 데이터베이스
- PANDAS
- Today
- Total
목록분류 전체보기 (143)
정리 노트
이 포스트는 국민대학교 소프트웨어학부 '알고리즘' 강의를 듣고 요약하는 포스트입니다. 원하시는 정보가 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적은 매우 환영합니다! 수학에서 얘기하는 재귀 어떤 함수를 정의하는데 자기 자신의 함수를 이용하는 것을 재귀라고 합니다. 재귀를 흔히 점화식의 형태로 나타낼 수 있습니다. 예를 들어 자연수 n에 대한 함수 f(n) = n! 가 있다고 합시다. 이를 아래와 같이 정의할 수 있습니다. 이 정의를 보면 n! 를 정의하는데 다시 (n - 1)!로 정의합니다. n > 0일 때 식을 풀어써봅시다. n * (n - 1)! = n * (n - 1) * (n - 2)! = n * (n - 1) * (n - 2) * (n - 3)! =... = n * (n - 1) * ..
이 글은 국민대학교 소프트웨어학부 '인공지능' 강의를 듣고 요약하는 글입니다. 실제로 원하시는 정보가 여기에 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적 매우 환영합니다! 인공지능(Artificial Intelligent, A.I)의 범주 컴퓨터 과학의 세부 분야들 중 하나로 인간의 학습, 추론, 지각, 자연 언어의 이해 등 지능적 능력을 컴퓨터로 구현하려는 분야입니다. 이를 통해 컴퓨터 또는 기계가 사람처럼 생각하고 행동하는 것을 목적으로 하는 분야입니다. 인공지능이라 함은 사실 범위가 넓습니다. 인공지능 안에서도 여러 범주들로 세분화시킬 수 있습니다. 기계 학습(Machine Learning): 기계 학습은 일반적인 프로그래밍과 차이가 있습니다. 일반적인 프로그래밍 방식은 입력과 프로그램을..
이 글은 국민대학교 소프트웨어학부 '컴퓨터 비전' 강의를 듣고 요약하는 글입니다. 실제로 원하시는 정보가 여기에 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적 매우 환영합니다! 이 글에서 사용하는 일부 이미지들은 이 책에서 가져왔습니다. 사용된 때마다 '컴퓨터 비전 도서'라고 표시하겠습니다. 컴퓨터 비전(Computer Vision) : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com Edge는 무엇이고 왜 생기는가? 에지(edge)는 쉽게 얘기하면 어떤 것과 다른 어떤 것 사이에 불연속이 생길 때 그 경계선이라 합니다. 지금 주변을 둘러보시면 수많은 에지들을 볼 수 있습니다. 에지들은 불연속인 것이 있기 때문에 생깁니다. 우리가 수없이 보는 이미지..
이 글은 국민대학교 소프트웨어학부 '컴퓨터 비전' 강의를 듣고 요약하는 글입니다. 실제로 원하시는 정보가 여기에 없을 수도 있습니다. 이 점 유의 바랍니다. 오류 지적 매우 환영합니다! 이번 글에서는 영상 처리에 있는 세 가지 기본 연산들에 대해 알아보겠습니다. 이 글에서 사용하는 이미지는 모두 이 책에서 가져왔습니다. 컴퓨터 비전(Computer Vision) : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 기본 연산 세 가지 영상 처리를 진행하면서 사용하는 세 가지 기본 연산이 있습니다. 점 연산: 자신의 명암 값에 따라 새로운 값을 결정 영역 연산: 이웃 화소(픽셀)의 명암 값에 따라 새로운 값 결정 기하 연산: 일정한 기하 연산으로 결정된 화소(픽..
이 포스트는 삽입 정렬에 대해 알고 있다는 가정 하에 작성되었습니다. 저번에 적은 삽입 정렬에 관한 글이 있으니 참고하실 분은 참고하시면 됩니다. 2022.09.12 - [알고리즘] - 삽입 정렬(Insertion Sort) Shell Sort 기존의 삽입 정렬은 정렬을 위해 배열 내의 원소 간 이동이 많이 발생한다는 단점이 생깁니다. 만일 정수형 배열에서 원소 '1'이 배열의 가장 끝에 있다고 해봅시다. 그럼 원소 '1'을 배열의 거의 앞에 놓기 위해 거의 모든 원소들이 한 칸씩 옆으로 이동하는 연산을 수행해야 합니다. Shell 정렬은 이러한 문제점을 개선하기 위해 생겼습니다. Shell 정렬에서는 gap만큼 떨어진 원소들끼리의 삽입 정렬을 진행해서 적은 데이터의 이동으로 작은 값을 앞으로 당겨올 수..
삽입 정렬 정렬을 하다 보면 배열 안의 데이터들을 정렬된 부분과 정렬되지 않은 부분으로 나눌 수 있습니다. 삽입 정렬은 정렬되지 않은 데이터들 중 가장 앞의 데이터를 정렬된 부분에서의 자기 위치를 찾아 정렬하는 방법입니다. 정렬 과정 길이가 6인 정수형 배열({3, 1, 4, 4, 6, 5})을 정렬해봅시다. 먼저 3을 정렬하려면 정렬된 부분과의 대소 비교를 통해 자기 위치를 찾아야 합니다. 하지만 지금은 정렬 시작 단계이기 때문에 정렬된 부분이 없습니다. 따라서 실질적인 삽입 정렬의 시작은 두 번째 원소인 '1'에서부터 시작하고 3은 정렬된 부분으로 포함시킵니다. 정렬되지 않은 원소들 중 가장 앞인 '1' 원소의 위치를 찾기 위해 정렬된 부분의 '3'과 비교합니다. 1이 3보다 작으므로 3과 1의 위치..
선택 정렬(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이..