AI 부트캠프
-
[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..
-
[n341] Project - TroubleshootingAI 부트캠프 2021. 12. 8. 11:00
DBeaver에서 DROP COLUMN ERROR DBeaver에서 연결한 mySQL DB의 컬럼을 삭제할 때 다음과 같은 에러가 난다. sql error [1091][42000]:Can't DROP 삭제하고자 하는 컬럼을 add column 한 뒤 다시 drop 하면 삭제 된다. (이미 있는 컬럼인데 왜 또 add 해야하는지는 의문). ALTER TABLE movie_prac ADD COLUMN Metascore; ALTER TABLE movie_prac DROP COLUMN Metascore; COMMIT;
-
-
[회고] 지금의 간절함으로 이루고자 하는 것들.AI 부트캠프 2021. 11. 21. 19:04
부트캠프를 왜 시작 했나. 처음 부트캠프를 시작할 때만 해도 7개월의 과정은 너무 길다는 생각과 7개월 동안 인공지능을 배운들 얼마나 깊이가 있겠는가 하는 양가감정이 동시에 들었다. 차라리 그동안 공부하고 일 했던 웹 개발 분야에서 일을 빨리 구하는게 취준 시기를 끝내는 가장 현실적인 해답이 아닐까 싶었다. 그동안 만들어둔 포트폴리오도 꽤 되었고, 맨땅에 헤딩 하는 인공지능 분야 보다는 좀 더 답이 보일 것 같았다. 그럼에도 도전하고 싶었다. 웹 개발 또한 재미는 있었지만 왜 이리도 미련이 남는지,. 데이터 글자만 봐도 아쉬웠다. 대학원 시절 부터 데이터 분석이 좋았고, 가치없는 더미 속에서 유의미한 가치를 찾아내는 일이 매력적 이였다. 21세기의 석유는 데이터라는데 지금이라도 내가 이 분야에 뛰어들어 ..
-
[n214] Logistic RegressionAI 부트캠프 2021. 10. 21. 15:46
로지스틱 회귀는 이름은 회귀 이지만 분류문제를 해결한다. 훈련/검증/테스트 세트로 나누는 것은 머신러닝 모델 학습에서 매우 중요. 훈련데이터는 모델을 학습 하는데 사용한다. (즉, fit) 검증데이터는 모델 학습이 잘 되었는지 판단하기 위해서 사용한다. 이 때 검증 데이터 대신에 테스트 데이터를 사용하면 안된다. 마지막에 최종 모델을 평가 하기 위해서 테스트 데이터를 사용한다. 테스트 데이터는 단 한번만 사용하는 것을 주의해야 한다. 데이터가 많을 경우, 전체 데이터를 훈련/검증/테스트 세트로 나누면 되지만, 데이터 수가 적은 경우에는 보완하기 위해 K-fold 교차 검증을 사용한다. 모델 검증 분류 문제 (Classification) 회귀문제에서는 보통 타겟의 평균값(Mean)을 기준모델로 사용한다. ..
-
[n213] Ridge RegressionAI 부트캠프 2021. 10. 20. 15:22
One-hot Encoding 피처 값의 유형에 따라 새로운 피처를 추가해 고유 값에 해당하는 칼z럼에만 1을 표시하고 나머지 칼럼에는 0을 표시하는 방식. - 순서가 없는 범주형 자료 : 명목형 (Nominal) - 순서가 있는 범주형 자료 : 순서형 (Ordinal) 순서가 의미 없는 범주들은 one-hot 인코딩 하는 것이 좋다. 각 카테고리에 해당하는 변수들이 모두 차원에 더해지므로 카테고리가 너무 많은 경우 (high cardinality)에는 사용하기 적합하지 않다. 세 개의 컬럼이지만 2개가 정해지면 나머지 하나는 자동으로 결정되므로 (셋 중 하나의 값이 1이므로), 두개만 넣는다 -> 다중공산성 문제 방지. Regularization 이상치를 조절. weight를 조정하기 위해 규제를 한다..