분류 전체보기29 [핸즈온머신러닝 | 10강] 케라스 사용법 + 인공 신경망 소개 좋은 말들 한 층에 있는 모든 뉴런이 이전 층의 모든 뉴런과 연결되어 있을 때 이를 완전 연결 층 또는 밀집 층이라고 부름. 은닉층의 연결 가중치를 랜덤하게 초기화하는 것이 중요. 0으로 초기화 하면 다 똑같아짐 Keras 모델 맹글기 시퀀셜 API 사용해서 모델 뼈대 만들기 model = keras.models.Sequential() model.add(keras.layers.Flatten(input_shape = [28, 28]) model.add(keras.layers.Dense(300, activation="relu")) model.add(keras.layers.Dense(100, activation="relu")) model.add(keras.layers.Dense(10, activation="s.. 2023. 12. 11. [1922, 4386번 | 골드4, 3] 최소 신장 트리 2 1922번 네트워크 연결 문제는 이틀전에 풀었던 최소 스패닝 트리(1197번)과 똑같은 문제다. 복습 겸 풀어보았다. #B1922 최소 스패닝 트리 import sys def union_find(a, b): #루트(부모)를 찾아서 루트 번호가 더 작은 곳에 큰 루트번호를 붙임 ah = get_parent(a) bh = get_parent(b) if ah>bh: parent[ah] = bh else: parent[bh] = ah def get_parent(x): if parent[x]==x:#루트노드는 값이 루트의 번호 return x parent[x] = get_parent(parent[x]) return parent[x] def same_parent(a,b): return get_parent(a) ==.. 2023. 12. 10. [백준 1197번 | 골드4] 최소 스패닝 트리 2년전 알고리즘 수업에서 배웠던 최소 스패닝 트리.. 코드로 구현하기는 사실상 처음. 스패닝트리는 G(V, E)그래프가 주어졌을 때 사이클을 피해 V-1개의 간선을 가지고 트리를 만들면 된다. 최소 스패닝트리는 그저 간선 가중치들의 합이 최소가 되게 하면 된다. 대표적으로 프림, 크루스칼이 있는데 난 크루스칼 방식을 택했다. 크루스칼 방식은 사이클을 만들지 않는 범위에서 최소 비용의 '간선'을 하나씩 더해가는 방식이다. 개념 자체는 어렵지 않다고 생각한다. 1. 모든 간선을 가중치 크기 순으로 정렬 2. 사이클이 생성되지 않는 선에서 간선 추가 이 두가지를 수행하면 되는데 사이클이 생성되지 않게 하려면 집합을 이용해야 한다. 그런데 아무리 생각해도 집합 하나로는 힘들고, '여러개면 어떻게 관리하지?'라는.. 2023. 12. 8. [백준 30823번 | 실버4] Python 풀이 문제를 한 줄 요약하자면 실버4를 보고 들어가면 한 번은 틀릴 문제다. 부트캠프(AI프로젝트)가 끝나 약 4개월만에 백준 문제를 풀게 되었는데 상당히 당황스러웠다. 많이 까먹은 것도 크지만, 문제 또한 내가 알던 실버4급은 아니다. 문제 자체는 쉽다. 길이가 N인 문자열이 있으면 마지막 그림처럼 K개만큼 순서대로 뒤집어주면 된다. 그냥 2중 for문으로 한 단계 한 단계 바꿔주면 좋으나 제한시간이 1초라는 게 문제다. 처음에는 '실버 4 주제에 왜이리 까다로워;'라는 편협한 생각을 가지고 있어서 규칙을 찾으려 하지도 않았다. 하지만 이 문제에 1시간 이상(뭐지? 이러면서 2시간은 본듯) 투자하니 너무 짜치는 것 같아 규칙을 찾고자 했다. (더 좋은 풀이들이 있겠지만 검색해봐도 아직 작성한 글이 없어 공유.. 2023. 12. 7. 파이썬 역 슬라이싱 주의점 [3:-1:-1] -> -1이라 에러남 2023. 12. 6. 이전 1 2 3 4 5 다음