본문 바로가기

Study/혼자 공부하는 머신러닝18

혼자 공부하는 머신러닝 + 딥러닝 - 심층 신경망 인공 신경망의 성능을 높이고자 심층 신경망을 사용한다. 인공 신경망 모델에 2개의 층을 추가해보자. from tensorflow import keras (train_input, train_target), (test_input, test_target) = keras.datasets.fashoin_mnist.load_data() from sklearn.model_selection import train_test_split train_scaled = train_input / 255.0 train_scaled = train_scaled.reshape(-1, 28*28) train_scaled, val_scaled, train_target, val_target = train_test_split(train_scal.. 2022. 4. 21.
혼자 공부하는 머신러닝 - 인공 신경망 머신러닝과 딥러닝을 배울 때 가장 많이 사용하는 데이터가 있다. 바로 MNIST 데이터 이다 MNIST 데이터는 손으로 쓴 0~9까지의 숫자로 이루어져 있다. MNIST 데이터와 크기, 개수가 동일하지만 숫자 대신 패션 아이템으로 이루어진 데이터가 있는데, 패션 MNIST이다. 패션 MNIST 데이터 알아보기 패션 MNIST 데이터는 딥러닝 라이브러리에서 가져올 수 있다. 이때 텐서플로(tensorflow) 를 사용해서 데이터를 불러올 수 있다. 텐서플로의 케라스 패키지를 임포트하여서 패션 MNIST 데이터를 다운로드 할 수 있다. from tensorflow import keras (train_input, train_target), (test_input, test_target) = keras.datas.. 2022. 4. 7.
혼자 공부하는 머신러닝 + 딥러닝 - 주성분 분석 주성분 분석을 하기 전에 차원 축소라는 것을 알아야한다. 군집이나 분류에 영향을 미치지 않으면서 업로드된 사진의 용량을 줄이는 것이 차원 축소이다. 그러면 차원은 무엇일까? 과일 사진에 10000개의 픽셀, 즉 특성이 있을 때 이런 특성을 차원이라고 부른다. 2차원 이상의 배열에서는 행과 열이 차원이 되지만, 1차원 배열에서는 원소의 갯수가 차원이 된다. 어쨌든, 비지도 학습을 하기 위해서는 차원 축소를 진행해야한다. 차원 축소는 데이터를 대표하는 일부 특성을 선택해서 데이터 크기를 줄이고 지도 학습 모델의 성능을 향상 시킬 수 있는 방법이다. 그 중 주성분 분석은 데이터에 있는 분산이 큰 방향을 찾는 것이다. 즉, 데이터의 분포를 가장 잘 표현하는 방법을 찾는 것이다. 이 데이터에서 분산이 가장 큰 방.. 2022. 3. 31.
혼자 공부하는 머신러닝 + 딥러닝 - K-Means 알고리즘 비지도 학습은 사진에 어떤 과일이 들어 있는지 모른다. 이럴 때 k-means 군집 알고리즘으로 평균값을 자동으로 찾는다. 평균값이 클러스터의 중심에 위치하기 때문에 클러스터 중심 또는 센트로이드 라고 부른다. 작동 순서는 다음과 같다. 1. 무작위로 k개의 클러스터 중심 정하기 2. 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정하기 3. 클러스터에 속한 샘플의 평균값으로 클러스터 중심을 변경 4. 클러스터 중심에 변화가 없을 때까지 2번으로 돌아가 반복. 이를 그림으로 나타내면 다음과 같다. 처음에는 랜덤하게 클러스터 중심을 선택하고 점차 가장 가까운 샘플의 중심으로 이동하는 간단한 알고리즘이다. 그렇다면, 이제 코드로 구현해보자 !wget https://bit.ly/fru.. 2022. 3. 29.