일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- 격파르타 합격후기
- Roads and Libraries
- Special String Again
- 구슬탈출2
- Max Array Sum
- hackerrank
- 파이썬
- 격파르타 후기
- 야근지수
- Find the nearest clone
- 프로그래머스
- 머신러닝
- Reverse Shuffle Merge
- 코딩테스트
- 피보나치 함수
- BFS: Shortest Reach in a Graph
- DFS: Connected Cell in a Grid
- 매칭점수
- Common Child
- Recursion: Davis' Staircase
- [sqld]자격증합격
- Interview Preparation Kit
- candies
- Algorithm
- 해커랭크
- python
- 알고리즘
- 격파르타 장점
- programmers
- Today
- Total
목록전체 글 (77)
Archive
programmers.co.kr/learn/courses/30/lessons/62049 코딩테스트 연습 - 종이접기 직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽�� programmers.co.kr 후기 규칙을 정확히 찾아야 함. 처음 test case 1, 2, 3만 봤을 때, 이전 접은것이 2번 반복 + [1]로 코딩했으나 틀림. 규칙은 이전 값 + [0] + 이전 값의 xor 이었음. 재귀함수보다 for문으로 answer를 덮어쓰는 방법으로 구현. 파이썬 코드 def solution(n): answer = [] for i in range(n): answ..
www.hackerrank.com/challenges/climbing-the-leaderboard/problem Climbing the Leaderboard | HackerRank Help Alice track her progress toward the top of the leaderboard! www.hackerrank.com 후기 문제 입력 조건을 꼼꼼히 봐야함. scores의 경우 내림차순으로(100, 90, 80, ...) 입력받고, alice의 경우 오름차순(50, 60, 79, ...)으로 입력받는다. 처음에는 입력 조건 제대로 안보고 scores list를 매번 반복문을 통해 순회하며 올바른 등수를 찾았지만, 시간초과 남. 나중에 입력 조건 확인 후, 정렬된 값으로 입력받기 때문에 alice..
Chapter 1. 유전 알고리즘의 기본 용어 유전 알고리즘의 기본 구조 : 개체들은 교차에 의해 염색체를 부분 결합하고 돌연변이에 의해 조금씩 변화된 새로운 염색체를 가진 새로운 개체를 만들어 내는데, 이 때 개체는 환경에 적응하기 유리한 정도에 따라 선택적으로 번성하게 됨. 유전 알고리즘은 이러한 생물의 진화 과정을 문제 해결 과정으로 옮긴 것. 염색체(chromosome) : 임의의 해를 유전 알고리즘이 이해하는 형태로 표현한 것 해집단(population) : 정해진 수의 염색체 집단. 유전자(gene) : 해를 구성하는 인자 유전자형(genotype) : 보이는 그대로의 유전자 조합. 염색체 그 자체. 표현형(phenotype) : 유전자형과 관계되어 관찰되는 형질. 해의 성질이나 품질 유전 알..
유한 개의 Hypothesis set을 가정하고, training error를 가장 적게 하는 hypothesis에 대해서 generalization error bound를 구함. 위에서 구한 generalization error bound를 통해 learning theory 관점에서 bias variance trade-off를 볼 수 있음. 1. Preliminaries Lemma. (The union bound) Let $A_1, A_2, ..., A_k$ be $k$ different events(that may not be independent). Then $$P(A_1 \cup \cdots \cup A_k) \leq P(A_1) + \cdots + P(A_k)$$ Lemma. (Hoeffding..
2.1.2 Bounding the Growth Function Growth function에 대한 가장 중요한 점은, 만약 $m_H(N) = 2^N$조건이 어느 특정 점에서 break된다면(break point), 해당 점(break point)을 기반으로 간단한 polynomial으로 $m_H(N)$을 bound할 수 있다는 것이다. bound가 polynomial이라는 점이 핵심이다. break point가 없다면( 예를 들어 convex hypothesis ), 모든 $N$에 대해 $m_H(N) = 2^N$이다. 만약 $m_H(N)$이 식 (2.1)의 $M$을 대신할 수 있다면, generalization bound는 우리가 얼마나 많은 훈련 예제를 가지고 있던 간에 0으로 수렴하지 않을 것이다. ..
2.1.1 Effective Number of Hypotheses 앞에서는 generalization의 bound에서 hypotheses의 개수 M이 무한으로 많아질 수 있기 때문에, 이를 유한의 값으로 대체할 필요성에 대해 논의했다. 이를 위해 이번에는 growth function을 도입한다. growth function은 hypotheses의 개수를 효율적으로 정형화(formalize)하는데, 다음 2가지를 의미한다. 1) 집합 $H$의 hypotheses가 서로 어느만큼 다른가.2) 이에 따라 서로 다른 event 사이에 얼마나 많은 overlap이 있는가. 이제부터 논의할 주제에 대한 전체적인 방향은 다음과 같다. 먼저 growth function을 정의하고 기본적인 성질을 알아본다. 다음으로 g..
2.1 Theory of Generalization 학습에 사용되지 않은 데이터(out-of-sample)에 대한 error ( $E_{out}$ )는 학습된 모델을 새로운 데이터에 적용했을 때, 얼마나 잘 일반화(generalize)할 수 있는가를 나타낸다. $E_{out}$은 input space $\chi$ 전체에 걸쳐 영향을 받는다.(학습에 사용된 입력으로 모델이 훈련되고 결정된다. 그리고 학습에 사용된 데이터로는 generalization을 측정할 수 없다.) $E_{out}$을 추론할 때는 학습에 사용되지 않은 데이터 샘플을 사용해야 한다. 이와 달리 $E_{in}$은 학습에 사용된 데이터(in-sample)에 대한 error를 나타내고, 모델이 주어진 데이터에 대한 학습이 얼마나 잘 되었는지..
1. 소프트웨어 개발 모델- 소프트웨어 생명주기 모델 : 소프트웨어 탄생부터 개발 과정 및 소멸까지 이르는 전 과정을 기술한 모델# 요구사항 분석 : 사용자의 문제를 해결하거나 목적을 달성하기 위해 소프트웨어가 제공해야하는 서비스나 품질 등과 관련된 제약 사항을 의미. 소프트웨어 요구사항을 고객으로부터 수집하고 분석하고 명세하는 단계.# 설계 : 요구사항을 만족하기 위한 최적의 방법을 선정하는 단계. 응집도(cohesion)과 결합도(coupling)가 대표적인 설계 원칙. 개별 모듈의 응집도는 높게 하고 모듈 간의 결합도는 낮도록 설계.# 구현 : 중요 산출물로는 프로그램 코드# 테스트 : 개발된 프로그램이 고객의 요구대로 동작이 되는지 시험하는 단계. 소프트웨어의 요구사항 문서나 코드로부터 테스트케이..