일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Machine Learning
- Go
- For
- nginx
- php
- Redis
- nodejs
- laravel
- React
- 기초 수학
- AWS
- NCP
- Redux
- deep learning
- javascript
- CentOS
- rabbitmq
- 블레이드 템플릿
- Node
- phpredis
- python
- fastapi
- Backbone.js
- Babel
- linux
- mariadb
- Switch
- webpack
- docker
- SQL
- Today
- Total
목록AI/Deep Learning - Machine Learning (6)
개발일기
데이터를 모델에 주입하기 전에 데이터를 가공하는 데이터 전처리 단계를 거쳐야 한다. 전처리를 통해 입력 데이터를 효율적으로 처리할 수 있게 할 수 있다. 데이터 전처리가 이뤄지지 않으면 학습 성능이 저하되거나 학습 도중에 문제가 발생할 수 있다. tensorflow에서는 map, shuffle, batch, cache, prefetch와 같은 데이터 전처리에 필요한 함수를 제공한다. 또한 연산이 효율적으로 처리될 수 있게 최적화 기능을 지원한다. 1. 전처리 함수map(): 데이터셋의 각 요소에 사용자 정의 함수를 적용하는데 사용된다. 예를 들어 입력 데이터를 정규화하는 사용자 함수를 정의하여 map() 메서드에서 사용할 수 있다.num_parallel_calls: 이 옵션에 AUTOTUNE을 적용하여 ..
모델의 과대적합을 방지하기 위해 사용하는 기법이다. 모델의 층이 넓고 깊어지면 훈련용 데이터를 과도하게 적합하여 학습하는 경향이 있다. 이를 바탕으로 학습된 모델은 훈련할 때 만나지 못한 새로운 데이터를 만났을 때 낮은 예측력을 보이게 된다. 이를 바탕으로 훈련 데이터에 너무 익숙하지 않도록 몇몇 노드는 학습에서 제외시키는게 드롭아웃이다. 지정한 확률을 바탕으로 일부 노드의 연결을 끊어 모델이 학습하는 가중치 파라미터의 개수를 줄어들게 하여 과대적합을 방지한다. 이를 토대로 훈련 과정에서는 몇몇 노드만 학습시키지만 검증 시점에서는 모든 노드를 활용하여 검증을 진행한다. 드롭아웃을 적용하지 않은 뉴런은 왼쪽과 같이 모든 노드가 연결되어 있다. 하지만 드롭 아웃을 적용하면 몇몇 노드의 연결이 끊어져 연결되어..
이전 게시글을 통해 정규화시킨 mnist데이터셋 코드를 활용하여 간단한 합성곱 신경망 모델을 이미지를 분류할 수 있다.1. 모델 생성model = tf.keras.Sequential([ tf.keras.layers.Conv2D(32, (3, 3), activation = 'relu', input_shape=(28, 28, 1), name='conv'), # convolution 적용, 32개의 필터 3 x 3 형태 tf.keras.layers.MaxPooling2D((2, 2), name='pool'), # MaxPooling 적용 tf.keras.layers.Flatten(), # 1차원으로 변환 tf.keras.layers.Dense(10, activation='softmax')..
합성곱 신경망(Convolution Neural Network)합성곱 신경망은 데이터가 가진 특징들의 패턴을 학습하는 알고리즘으로 이미지나 영상 데이터를 처리하는데 주로 사용된다. 이를 사용하는 예시로는 이미지 분류(Image Classification)과 객체 탐지(Object Detection) 등이 있다. 이미지 분류는 이미지의 특징을 추출하여 고양이와 강아지 사진 중에서 어떤 사진이 고양이인지 강아지인지 분류해낸다 . 객체 탐지는 이미지에서 특정한 객체를 인식하고 위치를 파악하여 경계 박스로 객체를 탐지해낸다. 이미지 구성# Tensorflow import tensorflow as tfmnist = tf.keras.datasets.mnist # mnist 이미지 데이터 가져오기(x_train, y..
Sklearn에서 제공하는 캘리포니아 집값 예측 데이터셋을 선형 회귀 모델로 학습시키면 각 특성과 주택 가격 간의 연관성을 파악할 수 있다. 선형 회귀 모델은 훈련 데이터에 대한 손실 함수를 최소화하여 가중치와 절편을 찾는 과정을 통해 학습한다. 주로 사용하는 손실 함수는 평균 제곱 오차(MSE)이며 훈련 데이터에 존재하는 특성에 대한 가중치를 구해 집값에 영향을 미치는 정도를 확인할 수 있다. 데이터셋 확인# Pytorch California Housingfrom sklearn.datasets import fetch_california_housing# Load the California housing datasethousing = fetch_california_housing(as_frame=True)#..
이상치 제거란?이상치 제거란 데이터셋의 데이터를 분석하는 과정에서 데이터셋 내에 존재하는 이상치(Outliers)를 제거하는 과정을 의미한다. 여기서 이상치란 데이터셋의 데이터가 일정 패턴으로 분포되어 있을 때, 이 분포에 속해있지 않고 왼쪽, 오른쪽 한쪽으로 극단적으로 치우쳐 있는 데이터를 의미한다. 이상치로 인해 데이터의 평균과 분산에 큰 영향을 끼치며 분석 결과가 왜곡된 형태로 나타날 수 있다. 데이터가 왜곡되면 모델의 예측 성능이 저하되며 비정상적인 통계 결과가 나오게 된다. Histogram히스토그램을 통해 이상치가 존재하는지 파악한 후, Boxplot을 통해 이상치의 규모를 시각화 한 후, 이상치 제거를 진행한다. 먼저 California Housing 데이터셋을 예제로 활용하여 각 특성을 히..