일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- keras
- BOJ 1931
- Machine Learning
- TensorFlow
- 프로그래머스 게임맵최단거리 파이썬
- 딥러닝
- LogisticRegression
- BFS
- 백준 1541 파이썬
- 프로그래머스 단어변환 bfs
- ML
- BOJ 1541
- 분류
- 로지스틱회귀
- classification
- 백준 잃어버린괄호 파이썬
- 코딩테스트
- 백준 1931 파이썬
- tensor
- BOJ 1931 파이썬
- 프로그래머스 BFS
- 머신러닝
- 프로그래머스 단어변환
- 코테
- 다중분류
- 프로그래머스 게임맵최단거리
- BOJ 1541 파이썬
- 프로그래머스 단어변환 파이썬
- 백준 잃어버린괄호
- 프로그래머스bfs
- Today
- Total
목록전체 글 (43)
그래도해야지어떡해
maps가 주어졌을 때 도착지점까지 가는 최단경로 길이 return 하는 문제 dfs로 풀면 timeout 발생함 bfs는 가까운 노드분석 탐색하므로 해당 문제에 적합 from collections import deque def solution(maps): len_x = len(maps) len_y = len(maps[0]) queue = deque([(0,0)]) directions=[(1,0),(-1,0),(0,1),(0,-1)] while queue: x,y = queue.popleft() #start or target point for i in range(4): xx=x+directions[i][0] yy=y+directions[i][1] if 0
N, M, V=input().split() N=int(N) M=int(M) graph=dict() for _ in range(M): key, child = input().split() if key not in graph: graph[key] = list() if child not in graph: graph[child] = list() graph[key].append(child) graph[child].append(key) print(graph) def dfs(graph, start): visited, need_visit=list(), list() need_visit.append(start) while need_visit: node = need_visit.pop() if node not in visite..
chr(정수) : 정수 -> 유니코드문자 ord(문자) : 문자 -> 정수값 print('%x'a) : int a를 16진수 소문자로 변환 print('%X'a) : int a를 16진수 대문자로 변환 print('%o'%a) : int a를 8진수로 소문자로 변환 print('%O'%a) : int a를 8진수로 대문자로 변환

https://www.acmicpc.net/problem/23288 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 가장 왼쪽 위에 있는 칸의 좌표는 (1, 1)이고, 가장 오른쪽 아래에 있는 칸의 좌표는 (N, M)이다. 이 지도의 위에 주사위가 하나 놓여져 있으며, 주사위의 각 면에는 1보다 크거나 같고, 6보다 작거나 같은 정수가 하나씩 있다. 주사위 한 면의 크기와 지도 한 칸의 크기는 같고, 주사위의 전개도는 아래와 같다. 2 4 1 3 5 6 주사위는 지도 위에 윗 면이 1이고, 동쪽을 바라보는 방향이 3인 상태로 놓여져 있으며, 놓여져 있는 곳의 좌..

앞서 실습했던 fully connected network와 convolution network의 차이점은 뭘까요? - fully connected network : 입력 이미지를 밀집층에 연결하기 위해 일렬로 펼침 - reshape()/Flatten class 사용 - convolution network : 2차원 이미지를 그대로 사용함 -> 일렬로 펼쳐지지 않음 ** Conv2D layer를 사용하기 위해서는 3차원의 input이 필요함 -> 흑백이미지의 경우 2차원이기 때문에 마지막에 1로 해당 차원을 채워줘야 함 # fashion_mnist 데이터 불러오기 from tensorflow import keras from sklearn.model_selection import train_test_spli..
컬러이미지는 R,G,B(빨강, 초록, 파랑) 채널로 구성되어 있기 때문에 컴퓨터는 이를 3차원 배열로 표시한다. 하나의 컬러 이미지는 너비와 높이 차원 외에도 깊이 차원이 있다. 깊이가 있는 입력에서 convolution 연산을 수행하기 위해서는 필터도 커널 크기가 3차원이여야 한다. -> 커널 배열의 깊이는 항상 입력의 깊이와 같다. 만약 필터가 (3,3,3) 크기라면, 27개의 원소에 27개의 가중치를 곱하고 절편을 더해야한다. - 입력이나 필터의 차원이 몇개인지 상관없이 항상 출력은 하나이다. keras의 convolution layer는 항상 3차원 입력을 기대한다. -> 흑백이미지일 경우 깊이를 1로 해서 3차원 배열로 변환하여 전달한다. ex) ( 28, 28 )->( 28, 28, 1 ) c..
padding(패딩) : convolution(합성곱)을 수행할 때, 입력 배열의 주위를 가상의 원소(0)로 채우는 것 - 패딩의 역할? : 순전히 커널이 입력 배열 위를 거쳐가는 횟수를 늘려주는 것 밖에 없다. -> 실제값은 0으로 채워져 있기 때문에 계산에 영향을 미치지는 않음 - same padding : 입력과 feature map의 크기를 동일하게 만들기 위해 입력 주위에 0으로 패딩하는 것 - valid padding : 패딩없이 순순한 입력 배열에서만 합성곱을 하여 feature map을 만드는 것 * convolution을 할 때 패딩을 왜 자주 사용할까? : 패딩이 없다면 모서리 부분에 있는 입력 원소는 적게 지나가기 때문에 모서리에 있는 중요한 정보가 feature map으로 잘 전달되..

Convolution은 다른말로는 합성곱이라고 부른다. convolution(합성곱)은 입력데이터의 유용한 특성만을 드러나게 하는 역할을 합니다. 입력데이터 일부에만 가중치를 적용한다. ** 인공신경망은 밀집층에서는 각 특성마다 weight를 곱하고(=입력데이터 전체에 가중치를 적용) 마지막에 절편(b)를 더하는 방식으로 epoch를 반복하면서 경사 하강법 알고리즘을 사용하여 loss가 낮아지도록 최적의 가중치와 절편을 찾아간다. => 모델 학습(모델 훈련) 합성곱은 가중치가 여러개의 입력 데이터와 곱해진다. 예를 들어, 3개씩 곱해진다고 하면, 가중치(w) 1,2,3이 입력의 처음 3개의 특성(x) 1,2,3과 곱해져 한개의 출력을 만든다. 이 후 동일한 가중치를 사용하여 2번째~4번째 특성과 함께 곱..