728x90

Machine Learning 17

[머신러닝] 오토인코더(Auto Encoder)

*오토인코더 : 입력층과 출력층 레이어 개수가 동일한 대칭형 다중 퍼셉트론 은닉층이 여러개일 경우, 입력층부터 가운데 은닉층까지 딥러닝 과정을 역으로 실행하여 입력값을 재구축함 ** 인코딩과 디코딩과정에서 데이터가 소실될 수 있어, 완벽하게 구축되기는 힘들다. 입력값을 재 구축하기 위하여 사용하는 툴은 아니며, 각각의 은닉층의 출력값 및 내부표현이 유의미하다.

Machine Learning 2021.11.25

[머신러닝] Artificial Neural Network(인공신경망, ANN) / 다중퍼셉트론, MLP

* ANN의 등장 배경 1. 생물학적 신경망에서 아이디어를 얻었다. (퍼셉트론 등장) : 생물학적 뉴런을 공학적으로 변형한 그림 - 입력층(input)과 출력층(output)을 가지고 있다. - 입력값에 가중치를 곱한 후 바이어스(b)를 더한 후 활성함수의 입력값으로 대입하여 출력값은 0또는 1이 된다. - 선형이중분류기(Linear Binary Classifier)이다. (퍼셉트론의 활성함수) - 계단함수이다.(0보다 크면 1, 작으면 0을 출력) **퍼셉트론의 한계 - 단순한 선형분류기에 불과하며 XOR 문제는 해결 할 수 없다.(선형분리만 가능하기 때문) 2. 퍼셉트론의 아이디어를 연구하여 다중퍼셉트론 개념 등장 = 인공신경망(ANN) - 퍼셉트론을 여러층 쌓아 올린 형태 - 선형 분리가 불가능한 ..

Machine Learning 2021.11.15

[머신러닝] 최적화 알고리즘 - 경사하강법(Gradient Descent)

*머신러닝의 3가지 프로세스 1. 가설을 수학적인 식으로 표현할것 2. 성능을 측정하는 손실함수를 정의 3. 손실함수를 최소화하는 최적화 알고리즘을 설계 세번째 최적화 알고리즘으로 가장 일반적으로 사용되는 것이 경사하강법 - 손실 함수의 미분값과 러닝 레이트의 곱만큼을 원래 파라미터에서 뺀 값으로 파라미터를 갱신 1. Batch Gradient Descent (BGD) - 파라미터를 갱신 할 때 전체 트레이닝 데이터를 하나의 Batch로 만들어서 사용 - 전체 트레이닝 데이터에 대해 미분값을 계산해야 하므로 많은 시간이 소요되는 단점이 있다. 2. Stochastic Gradient Descent (SGD) - 파라미터를 갱신할 때 1개의 트레이닝 데이터만 사용하는 기법 - 파라미터를 자주 업데이트 할 ..

Machine Learning 2021.10.20

[머신러닝] Integer Encoding & One-hot Encoding

*Integer Encoding 머신러닝에 데이터를 inpur하기 전에, 컬럼의 값을 모두 int 값으로 변경 해 주는 것이 좋다. 따라서, Row Data 상에 object 형태의 값(str 값)이 있는경우 int 값으로 대응할 수 있도록 mapping 하는것이 좋다. DataFrame의 .replace() 함수를 이용하여 컬럼의 값을 원하는 형태로 변경 가능하다 ex) 숫자형 값을 문자형으로, 숫자형 값을 다른 숫자로 #YES/No 값을 0,1로 변경 df['Column'].replace({'No' : 0, "YES" :1}, inplace=True) ex) 변경 하고싶은 값을 변경 :.replace()함수는 원하는 값을 일괄적으로 변경 할 때 편리하다 # 값을 변경하고 싶을 때 df.replace(..

Machine Learning 2021.10.02

[머신러닝] Random Forest(랜덤 포레스트)

* Random Forest :전체 데이터의 일부를 샘플링한 서브 데이터를 이용해서 학습시킨 여러개의 결정트리의 예측값들간에 보팅을 통해 최종 출력값을 만들어내는 기법 - 분류, 회귀 분석 등에 사용되는 앙상블 학습 방법의 일종 - 훈련 과정에서 구성한 다수의 결정트리로부터 분류 또는 평균 예측치(회귀 분석)를 출력함으로써 동작 Random Forest의 장, 단점 - 장점 : 일반적으로 안정적인 좋은성능을 발휘 병렬처리를 이용해서 여러개의 트리를 한번에 학습 가능 - 단점 : 학습 시간이 상대적으로 오래걸림. sklearn.ensemble.RandomForestClassifier #분류 문제에 사용 sklearn.ensemble.RandomForestRegressor#회귀 문제에 사용

Machine Learning 2021.10.02

[머신 러닝] Regression 알고리즘

*Linear Regression 알고리즘 : input data의 Feature X에 가중치 w를 곱해서 적절한 y값을 예측합니다. 학습을 통해 적절한 가중치 w를 찾아냄 // 하지만 training data에 과도하게 overfitting 될 수 있음 1. Ridge Regression : L2 Regularization 을 적용 - 가중치 w가 큰 값이 되지 않도록 장려하는 Regression 기법 2. Lasso Regression : L1 Regularization을 적용 - 가중치 w가 큰 값이 되지 않도록 장려하는 Regression 기법 3. ElasticNet Regression : L1+L2 Regularization을 적용 - 가중치 w가 큰 값이 되지 않도록 장려하는 Regressi..

Machine Learning 2021.09.02
728x90