본문 바로가기

전체 글

Part 2: 컴퓨터 비전 소개 2.1 패션 MNIST 데이터셋원래의 MNIST 데이터셋은 0 ~ 9까지의 손으로 쓴 숫자 이미지로 이루어진 데이터셋임패션 MNIST는 MNIST와 샘플 개수, 이미지 크기, 클래스 개수가 동일함이미지는 흑백이므로 0 ~ 255 사이의 픽셀 값으로 구성되며 그리드의 크기는 28 X 28이다.2.2 컴퓨터 비전을 위한 뉴런각 이미지는 0~255 사이의 값이 784개 값으로 구성됨 -> 이 값이 X데이터셋 이미지 종류는 10가지 -> 이 범주가 y하지만 이전처럼 선형적인 y를 x의 함수로 나타내기엔 힘듬그림에서 위에 있는 상자를 픽셀 하나로 생각할 수 있는데, 이 값을 뉴런의 층으로 로드한다그림에는 첫 번째 뉴런에 로드된 것을 보여줌각 뉴런은 랜덤하게 초기화된 가중치와 절편을 가지며 각 뉴런의 출력값을 더해.. 더보기
알고리즘 기초 1/2 301-수학(연습): 8진수 2진수 8진수 2진수(python 1212)이전에 푼 문제와 동일하다8진수를 10진수로 바꿔주고 이를 2진수로 변환해준다n = int(input(), 8)print(bin(n)[2:]) 더보기
알고리즘 기초 301-수학(연습): 2진수 8진수 2진수 8진수(python 1373)진법 표현방법만 알면 쉽게 해결가능한 문제임2진수를 10진수로 바꾸고 그걸 다시 8진수로 바꿔준다t = int(input(), 2)print(oct(t)[2:]) 더보기
알고리즘 기초 1/2 301-수학(연습): 숨바꼭질 6 숨바꼭질 6(python 17087)사실 문제 이해가 잘 되지는 않는다각 동생들의 위치를 지나치지 않기 위해서 어느 간격으로 움직일지..?로 대충 이해함그래서 최대 공약수를 구하는 문제import mathN, S = map(int, input().split())A = list(map(int, input().split()))for i in range(len(A)): A[i] = abs(S - A[i])result = A[0]for i in range(1, N): result = math.gcd(result, A[i])print(result) 더보기
알고리즘 기초 1/2 301-수학(연습): GCD 합 GCD 합(python 9613)import math를 해서 math.gcd()를 활용하면 굉장히 쉽게 해결가능하다import sysimport matht = int(sys.stdin.readline())for i in range(t): n = list(map(int, sys.stdin.readline().split())) sum = 0 for j in range(1, len(n)): for k in range(j + 1, len(n)): sum = sum + math.gcd(n[j], n[k]) print(sum)for문에서 1부터 n까지면 마지막은 포함안된다는걸 자꾸 생각못한다 더보기
Part 1: 텐서플로 소개 1.1 머신러닝이란전통적인 프로그래밍은 프로그래밍 언어로 표현된 규칙을 작성하고 데이터에 이 규칙을 적용해 정답을 제공위의 그림과 같이 규칙은 프로그래밍 언어로 표현되며, 이런 규칙은 데이터에 적용되고 결과를 반환1.2 전통적인 프로그래밍의 한계하지만 규칙을 유도할 수 없는 문제상황에서는 개발이 어려움걷기나 달리기, 자전거타기는 속도 데이터를 이용하여 어찌저찌 규칙을 만들어낼 수 있음그러나 골프를 하는 행위는 속도 데이터만으로는 불가능1.3 프로그래밍에서 학습으로머신러닝은 전통적인 프로그래밍을 뒤집음그림과 같이 이제 규칙을 찾지 않고 상황에 맞는 데이터를 준비하고 이 데이터에 레이블을 부여한다그럼 컴퓨터가 레이블에 일치하도록 하는 규칙을 찾아냄1.4 텐서플로란머신러닝 모델을 만드는 과정을 훈련이라고 한다.. 더보기
알고리즘 기초 1/2 300-수학: 조합 0의 개수 조합 0의 개수(python 2004)역시나의 시간초과 풀이n, m = map(int, input().split())a = 1b = 1for i in range(n - m): a = a * (i + m + 1) b = b * (i + 1)c = a//bcnt = 0while c % 10 == 0: cnt = cnt + 1print(cnt)이 문제를 직접 조합을 계산하려하면 시간초과가 발생한다-> 따라서 2X5의 개수를 세어주자from sys import stdinn, m = map(int, stdin.readline().split())def count_k(n, k): result = 0 temp = k while temp 여기서 nCm은 n! / m!(n-m)!이므로 이를.. 더보기
알고리즘 기초 1/2 300-수학: 팩토리얼 0의 개수 팩토리얼 0의 개수(python 1676)실버치곤 쉬웟다근데 이상한짓해서 헤멤N = int(input())pac = 1if pac != 0: for i in range(1, N+1): pac = pac * ipactorial = str(pac)[::-1]cnt = 0for i in pactorial: if i == '0': cnt = cnt + 1 else: breakprint(cnt) 더보기