[DL Basic] 가중치 초기화
가중치 초기화
모델의 최적해에 빠르게 다가가기 위해서는 최적해 근처에서 출발하면 된다. 하지만 우리는 모델의 최적화가 어디에 있는지 알 수 없다. 그렇다면 어느 부분에서 시작을 해야 할까?
신경망 학습을 시작할 때, 손실 함수에서 시작 위치를 정하는 것이 가중치 초기화이다. 가중치는 모델 파라미터에서 가장 큰 비중을 차지하기에 초기화 방법에 따라 성능이 크게 달라질 수 있다.
초기화 방법
상수 초기화(0으로 초기화)
가장 단순하게 생각해 볼 수 있는 것은 상수로 가중치를 초기화하는 것이다.
만약 모든 가중치를 0으로 초기화하면, 모든 뉴런의 weighted sum...
[백준] 색종이 만들기
문제
import sys
input = sys.stdin.readline
def chk(x, y, n, count):
color = paper[x][y]
for i in range(x, x+n):
for j in range(y, y+n):
if paper[i][j] != color:
m = n // 2
chk(x, y, m, count)
chk(x, y + m, m, count)
chk(x + m, y, m, count)
...
[백준] 트리 순회
문제
import sys
input = sys.stdin.readline
class Node():
def __init__(self, data, left=None, right=None, up = None):
self.data = data
self.left = left
self.right = right
self.up = up
def preorder(node):
print(node.data, end = '')
if node.left:
preorder(node.left)
if node.right:
preo...
[자료구조] 연결 리스트(Linked List)
연결 리스트
정의
포인터를 이용하여 리스트를 구현한 자료 구조로 각 요소가 다음 요소의 위치를 포인터로 가리킨다. → 즉, 메모리 상에서 연속되지 않지만 순서를 유지할 수 있다.
배열과 차이점: 크기 제한이 없다 → 유동적으로 조절 가능
집합과의 차이점: 연결 리스트는 요소의 순서를 유지하며, 중복된 값도 허용한다.
그래프와의 차이점: 갈림길 없이 일렬로 나열되어 처음과 끝이 각각 하나씩 존재한다.
즉, 동적 메모리에 할당된, 링크에 의해 연결된 유한 개수의 데이터 원소 노드들이다.
연결 리스트의 장단점
장점
데이터의 추가와 삭제가 용이하다.(원소의 이동이 ...
[백준] 별 찍기-10
문제
def star(x, y):
while x > 0 and y > 0:
if x % 3 == 1 and y % 3 == 1:
return False # 정가운데일 경우만 별을 찍지 않음
x //= 3
y //= 3
return True
n = int(input())
for i in range(n):
for j in range(n):
print('*' if star(i, j) else ' ', end='')
print()
99 post articles, 20 pages.