분류 전체보기
-
-
[n414] 하이퍼 파라미터 튜닝AI 부트캠프 2021. 12. 22. 10:02
교차 검증 (Cross Validation) x_train = pd.DataFrame(x_train) y_train = pd.DataFrame(y_train) for train_index, val_index in kf.split(np.zeros(x_train.shape[0])): training_data = x_train.iloc[train_index, :] training_data_label = y_train.iloc[train_index] validation_data = x_train.iloc[val_index, :] validation_data_label = y_train.iloc[val_index] model.compile(loss='mean_squared_error', optimizer='ada..
-
[n413] Learning rate, 가중치 초기화, 과적합 방지AI 부트캠프 2021. 12. 21. 10:29
더 나은 신경망 학습을 위한 방법들 학습률(Learning rate) 가중치 초기화(Weight Initialization) & Regularization 학습률 감소 및 계획법 (Learning rate decay / Scheduling) 학습률 (Learning rate) 학습률은 보폭을 결정한다. 즉, 얼만큼 이동할지를 조정하는 하이퍼 파라미터로, 경사 하강법에 어느 정도로 기울기 값을 적용할지 결정한다. 학습률이 크면 보폭이 크므로, 성큼 성큼 이동하고, 작으면 조금씩만 이동하는 개념이다. 학습률이 너무 작거나 클 때는 다음과 같다. 왼쪽 그림과 같이 학습률이 작으면, 최적점에 이르기까지 매우 오래 걸린다. 학습률이 너무 크면, 발산하면서 모델이 최적값을 찾을 수 없을 수 있다. 학습률 감소(Le..
-
[n412] 역전파, 경사하강법, 옵티마이저AI 부트캠프 2021. 12. 20. 10:22
신경망 학습 입력층에 데이터가 입력되면 신경망의 각 레이어 (층)에서 연산을 수행한다. 여기서 연산은 가중치, 활성화 함수 연산을 의미한다. 위의 과정을 모든 레이어에서 한 뒤 출력층에 결과를 출력한다. 출력층의 결과(예측값)와 실제값 의 차이를 손실 함수를 이용해서 계산한다. 그 차이(예측값과 실제값)를 줄이기 위해 가중치를 갱신한다. => 경사하강법과 역전파 이를 여러차례 반복한다. 순전파 (Forward Propagation) 순전파는 입력층에서 출력층까지 계산을 해서 값을 출력하는 과정을 뜻한다. 1. 입력층에서 데이터를 입력 받는다. 신호는 다음 은닉층으로 넘어 간다. 2. 입력된 데이터에 가중치-편향 연산을 수행한다. 3. 다음 층으로 가중합을 통해 구해진 값이 활성화 함수를 통한 뒤 전달된다..
-
[n411] Neural NetworksAI 부트캠프 2021. 12. 17. 10:26
퍼셉트론 (Perceptron) 퍼셉트론은 신경망을 이루는 가장 기본 단위이다. 여러개의 신호를 입력으로 받아 하나의 신호를 출력하는 구조이다. 다음은 퍼셉트론을 나타낸 이미지이다. 퍼셉트론은 크게 두 부분으로 나눌 수 있다. 가중치-편향 연산과 활성화 함수 부분이다. 가중치-편향 (Weight-bias) 연산 입력된 신호는 각각의 가중치와 곱해지고 그 결과를 합한다. (가중합 즉, weighted sum)이 퍼셉트론의 첫 단계이다. 입력이 1, 2, 3이고 가중치가 각 0.2, 0.3, -0.1일 때 가중합은 다음과 같다. import numpy as np input = np.array([1, 2, 3]) weight = np.array([0.2, 0.3, -0.1]) np.dot(input, weig..
-
[추천] Surprise Package머신러닝 & 딥러닝 2021. 12. 16. 19:23
Surprise 패키지 파이썬에서 추천을 쉽게 제공하는 대표적인 패키지가 surprise. 이용 이용해 추천 프로세스를 쉽게 적용할 수 있다. Surprise를 이용한 추천 수행 프로세스 필요한 라이브러리 데이터 로딩 행렬 분해를 수행할 알고리즘을 SVD 생성하고 학습용 데이터로 학습. 예측 및 평가 pip install surprise Collecting surprise Downloading surprise-0.1-py2.py3-none-any.whl (1.8 kB) Collecting scikit-surprise Downloading scikit-surprise-1.1.1.tar.gz (11.8 MB) [K |████████████████████████████████| 11.8 MB 8.1 MB/s..
-
[추천] Latent Collaborative Filtering머신러닝 & 딥러닝 2021. 12. 16. 18:22
잠재 요인 협업 필터링의 개요 사용자-아이템 평점 행렬 속에 숨어 있는 잠재 요인을 추출해 추천 예측을 할 수 있게 하는 기법. 대규모 다차원 행렬을 SVD와 같은 행렬 분해 (Matrix Factorization) 기법으로 분해하는 과정에서 잠재 요인을 추출하는데, 이 잠재 요인을 기반으로 사용자-아이템 평점 행렬을 재구성 하면서 추천을 구현. 잠재 요인 협업 필터링의 행렬 분해 목표는 희소 행렬 형태의 사용자-아이템 평점 행렬을 밀집(Dense) 행렬 형태의 사용자-잠재 요인 행렬과 잠재 요인-아이템 행렬로 분해한 뒤 이를 재결합 하여 밀집 행렬 형태의 사용자-아이템 평점 행렬을 생성하여 사용자에게 새로운 아이템을 추천하는 것. 사용자-아이템 평점 행렬 분해 이슈 SVD는 Missing value가 ..
-
[추천] Contents based filtering머신러닝 & 딥러닝 2021. 12. 14. 21:55
Contents based filtering 컨텐츠에 기반한 속성을 이용하여 추천 영화 구성 콘텐츠 텍스트 -> 피처 벡터화 (Count, TF-IDF) -> 코사인 유사도 -> 유사도 및 평점에 따른 영화 추천 콘텐츠 기반 필터링 구현 프로세스 콘텐츠에 대한 여러 텍스트 정보들을 피처 벡터화 코사인 유사도로 콘텐츠별 유사도 계산 콘텐츠 별로 가중 평점을 계산 유사도가 높은 콘텐츠 중에 평점이 좋은 콘텐츠 순으로 추천 TMDB 5000 Movie Dataset import pandas as pd import numpy as np import warnings; warnings.filterwarnings('ignore') movies =pd.read_csv('./tmdb_5000_movies.csv') pr..