본문 바로가기

CODING/AI & ML & DL18

[기계학습] Bias - Variance Decomposition 🔎 Bias [편향] - 학습 알고리즘에서 잘못된 가정을 했을 때 발생하는 오차 - 모델의 치우침 정도 - 높은 bias는 underfitting 문제 발생 🔎 variance [분산] - 예측값이 평균과 얼마나 차이가 나는가 - 높은 variance는 큰 노이즈까지 모델링에 포함시키는 overfitting 문제 발생 일반적으로 bias ⬆️ 이면 variance ⬇️ 가 아니면 bias ⬇️ 일때 variance ⬆️ 📢 정규화란 - variance를 감소시켜서 일반화 성능 ⬆️ - 회귀계수가 가질수 있는 값에 제약조건을 부여하여 미래데이터에 대한 오차를 해결할 수 있을거라고 하는 것 ✔️ 왼쪽은 미래의 데이터가 조금만 바뀌어도 예측값이 들쭉 날쭉 ✔️오른쪽은 미래데이터 변화에 상대적으로 안정적인 결과.. 2020. 9. 29.
[기계학습] 다중선형회귀 & 경사하강법 | Multiple Linear Regression & Gradient Descent 📌 다중선형회귀(Multiple Linear Regression) - 수치형 설명변수 X + 연속형 숫자로 이루어진 종속변수 Y의 관계를 선형으로 가정하고 이를 가장 잘 표현할 수 있는 회귀계수(β)를 추정 - 쉽게 말하면 X에 따라 Y값이 어떻게 달라질지 예측하는 것 ex) 주택 임대료 예측할 때 X : 얼마나 오래 되었는지(X1) , 지하철역과의 거리(X2), 주변 편의시설의 개수(X3) ••• (Xn) Y : 주택 임대료 가격 (X1 * β1) + (X2 * β2) + (X3 * β3) ••• + ( Xn * βn ) = Y (β1, β2, β3•••, βn) : 회귀계수 📍 회귀 계수(β1, β2, β3•••, βn) 구하는 법 ( 실제값(Y) - 예측값(Y') ) ^ 2 = Error = Los.. 2020. 9. 28.
[기계학습] KNN | K - 최근접 이웃 알고리즘 📍KNN 이란? - 주변 K개의 자료 클래스 중 가장 많은 클래스로 특정 자료를 분류하는 방식 - 새로운 자료 🔺를 가까운 자료 5개의 자료 ( K = 5 ) 를 이용하여 가장 많은 클래스가 있는 것으로 할당 아래의 그림으로 치면 새로운 자료 🟢 이 속하는 클래스를 찾으려고 K를 5로하면 점선에 속해 🟦 클래스가 되고, K를 3으로 하면 실선에 속해 🔺클래스에 속하게 된다. ✔️ KNN 분류에서는 최근접 이웃사이에서 과반수 의결에 의해 분류 ✔️ KNN 회귀에서는 K개의 최근접 이웃이 가진 값의 평균이다. - 데이터 분포를 표현하기 위한 파라미터를 추정하지 않음 ➡️ 선형회귀/분류 에서 Wx + b에서 [W,b]를 구하지만 KNN은 이러한 파라미터를 구하지 않음 - 게으른 학습 ( Lazy learner.. 2020. 9. 21.
[기계학습/데이터 전처리] 2 . 데이터 정제 & 통합 & 불균형 해결 [ 지난 글 ] 에서 데이터 실수화와 변환에 대해서 다뤄봤는데 이번에는 1️⃣ 데이터 정제 2️⃣ 데이터 통합 3️⃣ 데이터 불균형 해결에 대해서 정리한다 🟣 데이터 정제 ( Data Cleaning ) - 결측 데이터 채우기 ex) np.nan, npNAN, none ➡️ 결측 데이터를 1️⃣ 평균 ( mean ) , 2️⃣ 중위수 ( median ) , 3️⃣ 최빈수 ( most frequent value ) 로 채움 from sklearn.impute import SimpleImputer 위의 코드를 사용해서 쓸 수 있다 빨간 상자 부분을 바꿔서 평균, 중위수, 최빈수로 바꿀 수 있는데 각각 mean, median, most_frequent로 바꿀 수 있다 im.fit(x_miss) a = im.t.. 2020. 9. 14.
[기계학습/데이터 전처리] 1. 데이터 실수화 & 데이터 변환 ( 표준화 / 정규화 ) 데이터 전처리란? 데이터의 품질을 올리는 과정 하는 이유는 ? 컴퓨터가 이해할 수 있는 값으로 변환해 주기 위해서 ex) 남성 ➡️ 0 , 여성 ➡️ 1 불완전한 데이터 제거 ex) NULL , NA , NAN 제거 잡음 섞인 데이터 제거 가격 데이터에 ➖ 값 제거 연령 데이터에 있는 큰 값 제거 ex) 200 , 300 ••• 모순된 데이터 해결 ex) 남성인데 주민번호 뒷자리 시작이 2인 경우 불균형 데이터 해결 클래스의 값이 너무 차이가 많이 나는 것을 해결 ex ) 🅰️ - 10000개 🅱️ - 100개 ➡️ 이런 상황을 해결하기 위해 데이터 전처리 기법 🟢 데이터 실수화 ( Data vectorization ) - 범주형, 텍스트, 이미지 자료를 실수 형태로 전환하는 것 자료의 유형 연속형 - .. 2020. 9. 12.
[인공지능] Digit Recognizer | kaggle (ver.DNN) MNIST 한번 풀어보려고 오랜만에 Kaggle에 들어가서 [ Digit Recognizer ] Digit Recognizer Learn computer vision fundamentals with the famous MNIST data www.kaggle.com 이걸 풀어보려고 했는데 CNN으로 풀려고 했는데 데이터를 1D로 받아서 2D로 만드는 과정이 안돼서 일단 DNN으로 풀었다. DNN (Deep Neural Network) 입력층과 출력층 사이에 은닉층이 2개 이상 지닌 학습방법을 뜻한다. DNN은 MLP ( multilayer perceptron) 다층 퍼셉트론 레이어라고도 볼 수 있다. 입력층 사이에 너무 많은 레이어가 들어가도 좋지 않고 적당한 레이어를 넣어야 한다. 간단하게 DNN을 설명.. 2020. 7. 25.