ML 26

13-1장) 과적합 피하기

1. 데이터의 확인과 실행 import pandas as pd # 데이터 입력 df = pd.read_csv('C:/users/kang mingu/dataset/sonar.csv', header=None) # 데이터 개괄 보기 print(df.info()) 총 샘플의 수는 208개 컬럼 수가 61개 60개의 속성 1개의 클래스 from keras.models import Sequential from keras.layers.core import Dense from sklearn.preprocessing import LabelEncoder import pandas as pd import numpy import tensorflow as tf # seed 값 설정 numpy.random.seed(3) tf.ra..

12장) 다중 분류 문제 해결하기

1. 다중 분류 문제 다중 분류 여러 개의 답 중 하나를 고르는 분류 이항 분류와는 접근이 다름 Q. 꽃잎의 모양과 길이에 따라 다른 아이리스의 품종을 구별 샘플 수: 150 속성 수: 4 정보 1: 꽃받침 길이(sepal length, 단위: cm) 정보 2: 꽃받침 너비(sepal width, 단위: cm) 정보 3: 꽃잎 길이(petal length, 단위: cm) 정보 4: 꽃잎 너비(petal width, 단위: cm) 클래스: Iris-setosa, Iris-versicolor, Iris-virginica 2. 상관도 그래프 import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 실행할 때마다 같은 결과를 출력하기..

11장) 데이터 다루기

1. 피마 인디언 데이터 분석하기 샘플 수: 768 속성: 8 정보 1(pregnant): 과거 임신 횟수 정보 2(plasma): 포도당 부하 검사 2시간 후 공복 혈당 농도(mm Hg) 정보 3(pressure): 확장기 혈압(mm Hg) 정보 4(thickness): 삼두근 피부 주름 두께(mm) 정보 5(insulin): 혈청 인슐린(2-hour, mu U/ml) 정보 6(BMI): 체질량 지수(BMI, weight in kg/(height in m)2) 정보 7(pedigree): 당뇨병 가족력 정보 8(age): 나이 클래스: 2 0: 당뇨 아님 1: 당뇨 2. pandas를 활용한 데이터 조사 데이터를 다룰 때에는 라이브러리를 사용하는 것이 좋음 import pandas as pd # 피마 ..

10장) 모델 설계하기

1. 모델의 정의 ex) 폐암 수술 환자의 생존율 예측하기 Code) # 딥러닝을 구동하는 데 필요한 케라스 함수를 불러옵니다. from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense # 필요한 라이브러리를 불러옵니다. import numpy as np import tensorflow as tf # 실행할 때마다 같은 결과를 출력하기 위해 설정하는 부분입니다. np.random.seed(3) tf.random.set_seed(3) # 준비된 수술 환자 데이터를 불러들입니다. Data_set = np.loadtxt("../dataset/ThoraricSurgery.csv", delimiter=",") #..

9장) 신경망에서 딥러닝으로

1. 기울기 소실 문제와 활성화 함수 오차 역전파는 출력층으로부터 하나씩 앞으로 되돌아가며 각 층의 가중치를 수정하는 방법 층이 늘어나면 역전파를 통해 전달되는 기울기의 값이 점점 작아져 맨 처음 층까지 전달되지 않는 기울기 소실(vanishing gradient)문제 발생 이는 활성화 함수로 사용된 시그모이드 함수의 특성 때문 시그모이드 함수의 미분값 최대치는 0.3인데 1보다 작으므로 계속 곱하면 0에 수렴 따라서 여러 층을 거칠수록 기울기가 사라져 가중치를 수정하기 어려워짐 ※시그모이드 대체 함수 하이퍼볼릭 탄젠트 함수(tanh) 시그모이드 함수의 범위를 -1에서 1까지로 확장한 개념 미분한 값의 범위가 함께 확장됨 여전히 1보다 작은 값이 존재하므로 기울기 소실 문제 해결 X 렐루 함수(ReLU)..

8장) 오차 역전파

1. 오차 역전파(back propagation) 다층 퍼셉트론에서의 최적화 과정 결과값의 오차를 구해 하나 앞선 가중치를 차례로 거슬러 올라가며 조정 → 최적화의 계산 방향이 출력층에서 시작하여 앞으로 진행 가중치에서 기울기를 빼도 값의 변화가 없을 때까지 계속해서 가중치 수정 작업을 반복 동작 임의의 초기 가중치 W를 준 뒤 결과를 계산 계산 결과와 우리가 원하는 값 사이의 오차를 계산 경사 하강법을 이용해 바로 앞 가중치를 오차가 작아지는 방향으로 업데이트 미분 값이 0에 가까워지는 방향으로 나아간다는 의미 위 고정을 더이상 오차가 줄어들지 않을 때까지 반복 2. XOR 문제를 오차 역전파 방식으로 해결하기 환경 변수 지정 환경 변수에는 입력 값과 타깃 결과값이 포함된 데이터셋, 학습률 등이 포함 ..

7장) 다층 퍼셉트론

성냥 6개로 정삼각형 4개를 만들 수 있는가 2차원 평면에서만 해결하려는 고정 관념을 깨고 차원을 달리 생각해야 한다. 6장에서 보았던 문제 역시 고정 관념을 깨야 한다. 이런 문제를 해결하기 위해 두 개의 퍼셉트론을 한 번에 계산할 수 있어야하고, 은닉층(hidden layer)을 구현하여 해결 1) 다층 퍼셉트론의 설계 가운데 점선으로 표시된 부분이 은닉층 1. 입력 값에 각각 가중치를 곱하고 바이어스를 더하여 은닉층에 전송 은닉층의 중간 정거장을 노드(node)라고 하며, n1과 n2로 표시 만약 활성화 함수로 시그모이드 함수를 사용한다면 n1과 n2의 값은 아래와 같다. 2. 은닉층에 취합된 값들은 활성화 함수를 통해 출력층으로 보내짐 출력층 역시 시그모이드 함수를 통해 결정 3. 가중치와 바이어..

ML 용어

인공지능, 머신러닝, 딥러닝 위 그림처럼 딥러닝은 머신러닝의 한 종류이며, 머신러닝은 인공지능의 한 종류 모델 머신러닝은 간단히 ‘데이터를 이용한 모델링 기법’이라고 표현 다시 말하면, 데이터들 중에서 ‘모델’을 뽑아내는 기법 모델은 머신러닝을 통해 얻을 수 있는 최종 결과물을 의미 모델은 ‘가설(Hypothesis)’이라고도 함 과적합(Overfitting) Overfitting은 학습 데이터에 너무 최적화를 하다보니, 실제 데이터와 차이가 많이 발생하는 모델을 만들게 되는 현상 학습 데이터에도 Noise 등이 섞인 데이터들이 섞여 있을 수 있기 때문에 Overfitting을 방지하는 기법들을 적용해야 더 좋은 결과물이 나올 수 있음 반대되는 경우는 Underfitting 위 그림과 같이 Underfi..

ML/ML 기타 2023.07.10

6장) 퍼셉트론

1. 신경망 뉴런과 뉴런 사이에는 시냅스라는 연결 부위가 존재 신경 말단에서 자극을 받으면 시냅스에서 화학 물질이 나와 전위 변화를 일으킴 전위가 임계 값을 넘으면 다음 뉴런에 신호를 보내고, 넘지 않으면 아무 동작도 하지 않음 → 로지스틱 회귀의 원리와 유사 뉴런과 비슷한 메커니즘을 사용하여 인공적으로 생각하는 무언가를 만드는 것, '인공 신경망(Artificial Neural Network)' 2. 퍼셉트론(perceptron) 신경망을 이루는 가장 중요한 기본 단위 입력 값과 활성화 함수를 사용해 출력 값을 다음으로 넘기는 가장 작은 신경망 단위 1) 가중치, 가중합, 바이어스, 활성화 함수 딥러닝 용어로 표현해보면 y=ax+b → y=wx+b 기울기 a → 가중치 w(weight) y절편 b → ..

5장) 참 거짓 판단 장치 : 로지스틱 회귀

1. 로지스틱 회귀(logistic regression) 참과 거짓 중 하나를 내놓는 과정 참과 거짓 사이를 구분하는 s자 형태의 선을 그려가는 작업 ex) 공부한 시간 2 4 6 8 10 12 14 합격 여부 불합격 불합격 불합격 합격 합격 합격 합격 2. 시그모이드 함수(sigmoid function) S자 형태로 그래프가 그려지는 함수로, 로지스틱 회귀를 풀 때 사용 구해야 하는 값은 ax+b a는 그래프의 경사도를 의미 b는 그래프의 좌우 이동을 의미 따라서 a와 b에 따라 오차가 변함 a값이 작아지면 오차는 무한대로 커짐 그러나 a값이 커진다고 해서 오차가 무한대로 커지지 않음 b와 오차의 관계는 이차 함수 그래프와 유사한 형태로 나타남 3. 오차 공식 경사 하강법을 이용하여 a와 b를 구함 경..