일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS
- 백트래킹
- 프로그래머스
- sigmoid
- 풀이
- Blockchain
- 실버쥐
- 캡스톤정리
- NeuralNetwork
- Greedy
- C++
- 플로이드와샬
- 그래프
- ios
- DeepLearning
- dp
- Algorithm
- 알고리즘
- Swift
- 탐색
- dfs
- 그리디
- Docker
- 문제풀이
- Stack
- mysql
- Node.js
- 백준
- ReLU
- 부르트포스
- Today
- Total
목록분류 전체보기 (147)
개발아 담하자

유전 알고리즘은 자연 세계의 진화 과정에 기초한 계산 모델로서 존 홀랜드에 의해서 개발된 전역 최적화 기법 으로, 최적화 문제를 해결하는 기법의 하나이다. 생물의 진화를 모방한 진화 연산의 대표적인 기법으로, 실제 진화 과정에서 많은 부분을 차용하였으며 변이, 교배 연산 등이 존재한다. 유전 알고리즘의 동작의 단계는 아래와 같다. 1. 초기 염색체의 집합 생성 초기 염색체 생성 연산에 의해 생성된 염색체들은 위 과 같다. 2. 초기 염색체들에 대한 적합도 계산 의 염색체들에 대한 적합도를 계산하면 위 와 같다. 3. 현재 염색체들로부터 자손들 생성 룰렛 휠 선택 방법을 통해 염색체 [B C E D] 가 선택되었다고 가정하면, crossover 연산을 통해 과 같은 자손이 생성된다. Crossover 연산..

Navigation Bar 를 예쁘게 커스텀 해보자! 1. UIColor Extension extension UIColor { convenience init(red: Int, green: Int, blue: Int) { assert(red >= 0 && red = 0 && green = 0 && blue > 16) & 0xFF, green: (rgb >> 8) & 0xFF, blue: rgb & 0xFF ) } } Designated init 과 convinience init 의 차이점 Designated init (지정 initializer) 은 이 클래스의 모든 프로퍼티가 초기화 되어야 한다. init 프로퍼티에서 클래스 프로퍼티가 하나라도 빠지게 된다면 오류가 발생한다. convinience ini..

Optimization 딥러닝에서 optimization 은 학습속도를 안정적이게 하는 것을 의미한다. 위 optimizer들에 대해 자세히 살펴보자. 1. SGD (Stochastic gradient descent) Gradient Descent 는 전체 dataset 을 가지고 한 발자국 전진할 때마다 (learning rate) 최적의 값을 찾아 나간다. 그러나 SGD는 Mini-batch 사이즈 만큼 조금씩 돌려서 최적의 값으로 찾아간다. 이 방법은 GD 보다 다소 부정확할 수는 있지만, 훨씬 계산 속도가 빠르기 때문에 같은 시간에 더 많은 step 을 갈 수 있으며, 여러 번 반복할 경우 보통 batch 의 결과와 유사한 결과로 수렴한다. 또한, GD 에서 빠질 local minima 에 빠지지..

1. Weight Initialization 딥러닝 학습에 있어서 초기 가중치 설정은 매우 중요한 역할을 한다. 초기값 설정을 잘못해 문제가 발생하는 경우들을 살펴보자. 문제 발생 1 : W 가 모두 같은 경우 (혹은 다 0인 경우) 만약 데이터를 평균 0으로 정규화 시킨다면, 가중치를 0으로 초기화 시킨다는 것이 합리적으로 보일 수 있다. 그러나 실제로 0으로 가중치를 초기화하면 모든 뉴런들이 같은 값을 나타낼 것이고, 역전파 과정에서 각 가중치의 update 가 동일하게 이뤄질 것이다. 결국 제대로 학습하기 어려울 것이다. 문제 발생 2 :small random number 을 줬을 경우 import numpy as np from matplotlib.pylab import plt # assume so..