일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 1541 파이썬
- 프로그래머스 단어변환 파이썬
- LogisticRegression
- 로지스틱회귀
- 다중분류
- 백준 잃어버린괄호
- 코딩테스트
- 머신러닝
- TensorFlow
- BOJ 1931 파이썬
- 프로그래머스 단어변환 bfs
- 프로그래머스 게임맵최단거리
- ML
- 프로그래머스 단어변환
- BOJ 1931
- Machine Learning
- classification
- 프로그래머스 BFS
- tensor
- BOJ 1541
- 코테
- 프로그래머스bfs
- 프로그래머스 게임맵최단거리 파이썬
- 딥러닝
- 분류
- keras
- BOJ 1541 파이썬
- 백준 1931 파이썬
- BFS
- 백준 잃어버린괄호 파이썬
- Today
- Total
목록ML (19)
그래도해야지어떡해

앞서 실습했던 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번째 특성과 함께 곱..

데이터 로드 from tensorflow import keras from sklearn. model_selection import train_test_split (train_input, train_target), (test_input, test_target) = \ keras. datasets.fashion_mnist.load_data() train_scaled = train_input/255.0 train_scaled, val_scaled, train_target, val_target = train_test_split(train_scaled, train_target, test_size=0.2, random_state=42) 모델을 만드는 함수 정의 # 모델을 만드는 함수 def model_fn(a_la..
from tensorflow import keras (train_input, train_target), (test_input, test_target) = \ keras.datasets.fashion_mnist.load_data() train_input.shape : (60000, 28, 28) train_target : (60000, ) test_input.shape : (10000, 28, 28) test_target : (10000, ) train_scaled = train_input/255.0 train_scaled = train_scaled.reshape(-1, 28*28) 각 픽셀은 0~255사이의 정수값을 가지고 있기 때문에, 255로 나누어 0~1사이의 값으로 정규화 한다. reshape 함..

본 포스팅에서는 이전 포스팅인 '딥러닝 실습'의 인공신경망 모델을 기반으로 더 많은 층을 추가 해보겠습니다. 이전의 인공 신경망 모델을 보면, 다음과 같습니다. 해당 모델에 층을 2개 더 추가해 보겠습니다. input layer와 output layer 사이에 hidden layer를 추가함 은닉층(hidden layer) : input layer와 output layer 사이에 있는 모든 층 *** 모든 신경망의 은닉층에는 항상 activation function이 있다. 출력층에 적용하는 활성화 함수는 종류가 제한되어 있다. binary classification일 경우 sigmoid함수를, multi-class classification일 경우 softmax 함수를 activation functio..

딥러닝에서는 cross validation 대신에 validation set을 별도로 떼어내서 검증을 진행한다. 1) 딥러닝 분야는 데이터셋이 충분히 크기 때문에 검증 점수가 안정적이기 때문에 2) 교차 검증을 수행하기에는 훈련시간이 너무 오래걸림 fully connected layer(FC layer) : 양쪽의 뉴런이 모두 연결하고 있는 layer -> 밀집층(dense layer)으로도 불림(Keras의 dense 클래스를 사용하여 밀집층 만들 수 있음) # Dense's parameters : 뉴런의 개수(클래스 개수), 뉴런의 출력에 적용할 함수(;다중분류), # input의 크기(10개의 뉴런이 각각 몇개의 입력을 받는지 : 784개의 픽셀) dense = keras.layers.Dense(1..