공부 : 밑바닥부터 시작하는 딥러닝 1 chapter 4.5~4.6 1. 2층 신경망 클래스 구현 (필요한 내용 주석으로) import sys, os sys.path.append(os.pardir) from common.functions import * from common.gradient import numerical_gradient class TwoLayerNet: # 2층 신경망, input_size = 입력층 노드 수, hidden_size = 은닉층 노드 수, output_size = 출력층 노드 수 def __init__(self, input_size, hidden_size, output_size, weight_init_std=0.01): self.params = {} self.params['..
www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주 www.acmicpc.net 전형적인 dp문제이다. 우선 0~k원까지 전부 inf로 초기화 한다. 그리고 dp[동전 가치]=1로 잡는다. (1개로 만들수 있으므로) 그러면 점화식이 다음과 같다. dp[ j + coin[i] ] = min( dp[ j + coin[i] ], dp[ j ] + 1) 여기서 j는 구하고자 하는 가치이다. 우선 우리는 dp를 inf로 초기화하였고, 동전의 개수 제한이 없으므로, i번..
공부 : 밑바닥부터 시작하는 딥러닝 1 chapter 3,4 신경망 학습 절차 1. 미니 배치 훈련 데이터 중 일부를 랜덤하게 가져온다. 이 데이터를 미니 배치라 한다. 미니 배치의 손실 함수값을 줄이는 것이 목표 2. 기울기 산출 미니 배치의 손실 함수값을 줄이기 위해 가중치 매개변수의 기울기를 구한다. 기울기는 손실함수 값을 가장 작게 하는 방향을 제시한다. 3. 매개변수 갱신 가중치 매개변수를 기울기 방향으로 아주 조금 갱신한다. 4. 반복 1~3을 반복한다. 1. 배치 배치 : 하나로 묶은 입력 데이터 ex) MNIST에는 0~9의 글씨가 60,000개 있다. 이 중 10,000개의 테스트 데이터를 불러온다. 이 10,000개를 100개씩 묶는다. mnist파일과 load_mnist, sample..
www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 백트래킹 문제이지만 백트래킹으로 안 풀고 브루트포스로 풀었다. (너무 잠이 와서 생각을 멈췄다.) n개의 수가 입력 받으면 그 수의 부분 수열의 합이 주어진 s와 같은게 몇 개나 있는지 구하는 문제이다. 문제 자체는 어렵지 않지만, 백트래킹이 더 코드도 깔끔하고 시간도 줄어서 내일 풀어보려 한다. 브루트포스는 다음과 같이 하면 된다. n=10이라 예를 들면 10으로 만들 수 ..
django 내용은 아니지만 지금 나를 도와주고 있는 친구가 페북 틀만 CSS로 따라서 만들어 보라 그래서 우선 로그인 화면만 만들어보았다. (동형암호 보고서 내느라 정신이 없어 1주일만에 코딩을 했다.) 부트스트랩 안 쓰고 CSS 복습 용으로 CSS로만 만들어서 조금 어색할 순 있다. (박스 크기나 색깔은 그냥 대충 비슷해보이는 걸로 함) 완전한 모습을 원하시는 분이면 보지 않기를 추천한다. 그리고 정말 기초적인 내용으로 만든거라 따로 설명도 하지 않겠다. (다음에는 프로필 부분을 따라 만들 것이다.) Facebook Facebook에서 전세계에 있는 친구, 가족, 지인들과 함께 이야기를 나눠보세요. Login 비밀번호를 잊어버리셨나요? 회원가입 body{ background-color:rgb(245,..