목록Ai (33)
UOMOP
미니배치 경사 하강법은 샘플의 일부만을 이용해서 선형식의 가중치와 절편을 업데이트하고, 샘플의 양은 설정이 가능. 미니배치 경사 하강법을 크게 2가지 방식이 있다. 학습 샘플을 특정 갯수만큼 랜덤하게 추출하거나, 학습 샘플을 특정 갯수만큼 가져오되, 모든 데이터를 사용할 수 있도록 하는 것이다. 실무에서는 2번째 방식을 더 많이 이용하여 데이터 편향을 방지하여 모든 데이터를 학습할 수 있도록 한다. 실제로 keras에서도 2번째 Mini-Batch Gradient Descent 방식을 자동으로 사용하고 있고, batch_size의 default값은 32이다. 1. 데이터 불러오기 import numpy as np import pandas as pd from sklearn.datasets import lo..
Stochastic Gradient Descent(확률적 경사 하강법)은 학습 데이터 셋에서 하나의 샘플만을 이용해서 가중치와 절편을 update하게 된다. 하나의 샘플만을 이용해서 선형식을 업데이트하지만 Batch Gradient Descent와 비교해보았을 때 크게 차이나지 않는 것이 특징이다. 1. 데이터 불러오기 import numpy as np import pandas as pd from sklearn.datasets import load_boston boston = load_boston() boston_df = pd.DataFrame(boston.data, columns = boston["feature_names"]) boston_df["PRICE"] = boston.target 2. SGD ..
1. 데이터 불러와서 feature, target 분리하기 import pandas as pd import numpy as np from sklearn.preprocessing import MinMaxScaler from sklearn.datasets import load_boston from tensorflow.keras.layers import Dense from tensorflow.keras.models import Sequential from tensorflow.keras.optimizers import Adam boston = load_boston() boston_df = pd.DataFrame(boston.data, columns = boston["feature_names"]) feature_..
1. 데이터 불러오기 import numpy as np import pandas as pd from sklearn.datasets import load_boston boston = load_boston() boston_df = pd.DataFrame(boston.data, columns = boston["feature_names"]) boston_df["PRICE"] = boston.target boston_df.head() 2. 배치 경사 하강법, 함수로 정의 def gradient(feature, target, learning_rate, iter_epochs, verbose): bias = np.random.rand(1,) w1 = np.random.rand(1,) w2 = np.random.rand..
# 기본적인 케라스 모델을 만들어보도록 하자. from tensorflow import keras # 데이터 불러오기 (train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data() # input, target data의 크기 확인 print("train_input의 크기 : {}".format(train_input.shape)) print("train_target의 크기 : {}".format(train_target.shape)) print("*" * 40) print("test_input의 크기 : {}".format(test_input.shape)) print("test_target의 크기..
"확률적 경사 하강법"은 추출된 데이터 한 개에 대해서 그래디언트를 계산하고, 경사 하강 알고리즘을 적용하는 방법을 말한다. 이때 경사는 손실 함수의 경사를 뜻한다. 손실함수의 경사가 적을수록 좋은 모델일 것이고 손실함수의 최저점을 찾아서 해당하는 point에서의 가중치(weight), 절편(bias)를 업데이트하게 되는 것이다. 다양한 지표를 손실함수로 사용할 수 있지만 분류 알고리즘에서의 정확도는 사용될 수 없다. 정확도는 불연속적인 값을 지니게 때문에 미분이 불가능하기 때문이다. 예를 들어서 2진 분류라면 정확도는 [0 0.25 0.5 0.75 1]일 것이고, 5가지의 경우의 수만 존재할 것이다. 분류 알고리즘에서는 성능을 평가할 때는 정확도를 사용하지만 최적화(확률적 경사 하강법 등)을 할 때는 ..