| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- 자바스크립트
- 분할 정복
- dropout
- 다익스트라
- 세그먼트 트리
- pytorch
- 가끔은 말로
- 크루스칼
- c++
- 우선 순위 큐
- 조합론
- 2023
- Overfitting
- 플로이드 와샬
- 미래는_현재와_과거로
- 알고리즘
- 문자열
- back propagation
- 백트래킹
- object detection
- NEXT
- lazy propagation
- 너비 우선 탐색
- 가끔은_말로
- DP
- 회고록
- tensorflow
- 이분 탐색
- BFS
- dfs
- Today
- Total
목록전체 글 (566)
Doby's Lab
Stochastic Gradient Descent를 공부할 때, Loss Function과의 관계가 궁금했습니다. 알고 나니 크게 어려운 건 없었지만 Gradient Descent에 대해 정리하며 관계까지 정리해보겠습니다. 해당 포스트는 아래 링크 영상에 관한 정리 내용입니다. (https://www.youtube.com/watch?v=h6aath0ulX4 ) Loss Function Loss Function이란 Model이 내놓는 예측 값과 실제 값의 차이를 얻어내는 메커니즘입니다. 예측 값과 실제 값의 차이를 Error라고 합니다. 엔지니어의 입장에서는 이러한 Error를 최소화시키는 방향으로 Model을 구현해야 합니다. 간단히 설명하기 위해 Linear Regression Model을 하나 가져와..
공부를 하다 보면 Data Preprocessing을 할 일이 많은데 책에서는 정규화를 한다 하지만 StandardScaler를 통해 Data Scaling을 하는 경우가 종종 있습니다. 언어가 혼용되는 것인지 잘못 알고 있는 건지 정리를 하고 넘어가려 합니다. Data Preprocessing 정규화와 표준화 둘 다 데이터 전처리를 하는 데에 사용됩니다. 데이터 전처리를 하는 이유는? 고양이와 강아지를 분류하기 위해 꼬리의 길이, 미간의 길이, 무게 등 각 클래스에 대한 feature를 가지는 데이터들이 주어지고, Logistic Regression Model을 만든다고 합시다. Logistic Regression은 선형 방정식이라는 Model Parameter를 만들어내는데 Sample의 각 feat..
[창의력에 대한 이데올로기] 근 1년간 PS(Problem Solving)를 공부하면서 저의 명확한 공부법이 없었습니다. 하지만, 지금껏 써온 블로그 글을 읽어보면 어떤 공부법이라 말할 수가 없었을 뿐이지 나름의 규칙(?)을 파악할 수 있었습니다. 공부법을 소개하기 앞서 PS에 대한 필자의 이데올로기를 말해드리고 싶습니다. PS나 코딩 테스트는 개개인의 알고리즘 지식과 이를 응용한 개개인의 창의력을 확인하는 대회 혹은 테스트라고 생각합니다. 그중에 창의력은 '자기 자신의 라이브러리'에 얼마나 많은 지식이 있으며 이를 어떻게 활용하는지에 따라 드러난다고 봅니다. 즉, '창의력은 갑자기 번뜩이는 아이디어가 아니라 개개인의 베이스에서 여러 가지가 응용 or 융합되어 나온다'는 이데올로기를 가지고 있다고 말씀드..
https://www.acmicpc.net/problem/1854 1854번: K번째 최단경로 찾기 첫째 줄에 n, m, k가 주어진다. (1 ≤ n ≤ 1000, 0 ≤ m ≤ 2000000, 1 ≤ k ≤ 100) n과 m은 각각 김 조교가 여행을 고려하고 있는 도시들의 개수와, 도시 간에 존재하는 도로의 수이다. 이어지는 m개의 줄에 www.acmicpc.net Solved By: Dijkstra, Priority Queue Reference: (https://justicehui.github.io/ps/2019/04/10/BOJ1854/) 각 노드에 대하여 최단 경로를 구하여야 하는데 cost의 값 범위가 음수가 되지 않으므로 Dijkstra를 이용하여도 됩니다. 모든 노드에 대해 Dijkstra를..
https://www.acmicpc.net/problem/13306 13306번: 트리 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 트리의 정점의 개수와 질의의 개수를 나타내는 두 정수 N과 Q (1 ≤ N, Q ≤ 200,000)가 주어진다. 다음 N-1개의 줄의 i번째 줄에는 정점 i+1의 부 www.acmicpc.net Solved By: Offline Query, Union-Find 문제를 직관적으로 처리하려면 DFS를 하는데에 있어서 쿼리의 개수까지 고려하면 O(NQ)로 시간 초과가 나옵니다. 하지만, 쿼리를 우리에게 유리하게끔 쿼리 순서를 바꾸어 Offline Query로 처리하려 한다면 문제에서 '간선을 끊어라'는 '간선을 이어라'가 되면서 Union-Find 문제가 됩니다. -> ..
https://www.acmicpc.net/problem/1305 1305번: 광고 세준이는 길 한가운데에서 전광판을 쳐다보고 있었다. 전광판에는 광고가 흘러나오고 있었다. 한참을 전광판을 쳐다본 세준이는 이 광고가 의미하는 것이 무엇인지 궁금해지기 시작했다. 전광 www.acmicpc.net Solved By: KMP 주어진 광고에서 앞(접두사)과 뒤(접미사)가 얼마나 중복되는지 길이를 안다면 전체 길이에서 그 길이를 빼서 얼마큼만 광고해도 되는지 구할 수 있다. 이때 문자열 알고리즘 KMP를 사용한다. #include #include #include using namespace std; int main(){ int l; string s; cin >> l >> s; vector pattern(l + 1..
https://www.acmicpc.net/problem/13706 13706번: 제곱근 첫째 줄에 양의 정수 N이 주어진다. 정수 N의 제곱근은 항상 정수이며, N의 길이는 800자리를 넘지 않는다. www.acmicpc.net Solved By: Binary Search 주어지는 수가 엄청 크기 때문에 Python을 이용했습니다. Python의 math 패키지에 있는 sqrt를 사용하여 문제를 풀려 했지만 연산을 해야 하는 값이 너무 커서 OverflowError가 나왔습니다. 그래서 이분 탐색을 돌려서 만족하는 값이 있으면 출력하도록 코드를 썼습니다. from math import sqrt n = int(input()) low, high = 1, n while low n): high = mid - ..