AI/Machine Learning&Deep Learning

Deep Learning_딥러닝을 활용한 회귀 분석
MLP 모델 아키텍처 정의 완전 연결 레이어만 사용하여 5개 레이어를 갖는 다층 신경망(MLP)를 만든다. 레이어를 추가할 때는 add 함수를 사용한다. 목표 레이블이 한 개인 회귀 문제이기 때문에 마지막 출력 레잉는 1개의 유닛을 갖고 선형 함수를 활성화 함수로 설정한다. 은닉 레이어의 활성화 함수로는 ReLu 함수를 많이 사용한다. 미니 배치 학습 모델을 훈련시킬 때 샘플 데이터를 한 개씩 입력해서 가중치를 갱신하려면 학습 시간이 오래 걸리는 문제가 있다. 미니 배치 학습은 전체 데이터를 여러 개의 작은 배치 단위로 나누고 배치에 들어 있는 샘플 데이터를 묶어서 모델에 입력한다. 경사하강법을 적용하고 손실 함수로 최소화하는 방향으로 가중치를 update한다. 학습 데이터 일부를 검증 데이터를 사용하여..

Deep Learning_인공 신경망의 구조&활성화 함수
인공신경망의 구조 인공 신경망은 뇌 신경계의 정보 처리 구조를 모방하여 만든 컴퓨터 계산 알고리즘이다. 뇌 신경은 수많은 신경세포(뉴런)들이 연결되어 정보를 처리하고 전달한다. 신경세포는 신호를 입력받아 다음 신경세포에 출력형태로 연결한다는 점에서 입력과 출력을 갖는 함수와 비슷하다. W는 함수식의 가중치를 말하고, 딥러닝은 입력(X)과 출력(Y)의 관계를 설명할 수 있는 함수식의 가중치를 찾는 과정을 말한다. 활성화 함수 인공 신경망은 입력값을 가중치와 곱하고 그 결과를 전부 더한다. 이와 같이 가중 합산한 값을 활성화 함수에 입력하여 최종 출력한다. 즉, 입력값들의 수학적 선형 결합을 다양한 형태의 비선형 결합으로 변환한다. 이진분류에 사용되었던 시그모이드 함수를 보면 로지스틱회귀 모델의 활성화 함수..

Machine Learning_피처 엔지니어링
barplot함수를 사용해 등급별 객실 요금의 중간값 분포를 알아보았다. 생존자 비율이 높은 1등석, 2등석을 보면 생존자들이 지불한 객실 요금이 높은 패턴을 보인다. 남녀 성별에 따른 생존율 분포이다. 시본 histplot함수의 옵션을 조정한다. multiple 속성에 stack 옵션을 설정하여 막대 그래프를 누적하여 나타낸다. 남성의 생존율이 낮고 여성의 생존율이 상대적으로 높다. Name 열을 선택하고 str 속성을 적용하면 문자열을 직접 추출할 수 있다. split 메소드를 적용하면 이름을 나타내는 문자열을 쉼표를 기준으로 분할한다. 또한 성을 나타내는 Family Name 부분[1]을 나눌 수 있고, 타이틀 추출이 가능하다. violinplot 함수를 통해 타이틀별 생존 여부에 따른 승객 나이 ..

Machine Learning_타이타닉 생존자 예측
matrix 함수를 통해 데이터프레임의 어느 위치에 결측값이 있는지 확인할 수 있다. 목표 변수인 Survived 열과 상관 계수가 높은 피처는 Pclass와 Fare이다. 객실 등급과 객실 요금을 뜻하는 두 피처의 상관 계수는 -0.55로 매우 강한 음의 상관 관계가 있다. 따라서 객실 등급에 따라 객실 요금이 달라지는 것을 알 수 있다. 숫자형 데이터를 가진 열을 추출하고, data_num에 저장한다. fillna 메소드를 사용하여 'Age'열의 결측값을 평균값으로, 'Fare'열의 결측값은 가장 빈도수가 많은 값으로 대체한다. 정밀도(Precision)가 높다는 것은 실제 False를 True로 잘못 예측하는 오류가 작다는 뜻이다. 재현율(Recall)이 높다는 것은 실제 True를 False로 잘..

Machine Learning_확률적 경사 하강법
훈련세트를 사용해 모델을 훈련하기 때문에 경사 하강법도 당연히 훈련 세트를 사용하여 가장 가파른 길을 찾을 것이다. 그런데 전체 샘플을 사용하지 않고 딱 하나의 샘플을 훈련 세트에서 랜덤하게 골라 가장 가파른 길을 찾는다. 이처럼 훈련 세트에서 랜덤하게 하나의 샘플을 고르는 것이 확률적 경사 하강법이다. 즉, 훈련세트에서 랜덤하게 하나의 샘플을 선택하여 가파를 경사를 조금 내려가고, 그 다음 훈련 세트에서 랜덤하게 또 다른 샘플을 하나 선택하여 경사를 조금 내려간다. 이런 시긍로 전체 샘플을 모두 사용할 때까지 계속하면 된다. 만약 다 사용했는데도 못 내려온다면, 다시 훈련 세트에 모든 샘플을 다시 채워넣고 처음부터 시작한다. 확률적 경사 하강법에서 훈련 세트를 한 번 모두 사용하는 과정을 에포크라고 부..

Machine Learning_선형 회귀
길이가 50cm이고, 무게가 1033g인 농어는 삼각형으로 표시되고 주변 샘플은 다이아몬드로 표시된다. 산점도를 부면 길이가 커질수록 농어의 무게가 증가하는데 최근접 이웃알고리즘에 해당되는 샘플들의 무게 평균은 1033으로 더 작은 값들이다. 따라서 100cm 인 농어도 여전히 1033g으로 예측할 것이다. 선형 회귀는 회귀알고리즘 중 직선을 학습하는 알고리즘이다. 선형 회귀가 만든 직선이 왼쪽 아래로 쭉 뻗어 있다. 농어의 길이와 무게에 대한 산점도를 자세히 보면 일직선이라기보다 왼쪽 위로 조금 구부러진 곡선에 가깝다. 2차 방정식의 그래프를 그리려면 길이를 제곱한 항이 훈련 세트에 추가되어야한다. lr.coef_값과 lr.intercept_값을 구해서 2차 방정식 그래프를 그려야한다. 출처: www...