본문 바로가기

반응형

딥러닝 학습

(27)
4장 분류하는 뉴런 만들기-이진분류 (3) 4-6 로지스틱 회귀 뉴런으로 단일층 신경망 만들기 - 일반적인 신경망 입력층(input layer), 은닉층(hidder layer), 출력층(output layer) - 단일층 신경망 - 확률적 경사 하강법, 배치 경사 하강법 - 단일층 신경망 클래스 class SingleLayer: def __init__(self): self.w = None self.b = None self.losses = [] def forpass(self, x): z = np.sum(x * self.w) + self.b # 직선 방정식 계산 return z def backprop(self, x ,err): w_grad = x *err # 가중치에 대한 그레이디언트 계산 b_grad = 1 *err # 절편에 대한 그레이디언트 ..
4장 분류하는 뉴런 만들기-이진 분류 (2) 4-4 분류용 데이터 세트 준비 - 유방암 데이터 세트 준비하기 1. load_breast_cancer() 함수 호출하기 from sklearn.datasets import load_breast_cancer cancer = load_breast_cancer() 2. 입력 데이터 확인하기 print(cancer.data.shape, cancer.target.shape) ##출력: (569, 30) (569,) 3. 박스 플롯으로 특성의 사분위 관찰하기 cancer.data[:3] ##출력 array([[1.799e+01, 1.038e+01, 1.228e+02, 1.001e+03, 1.184e-01, 2.776e-01, 3.001e-01, 1.471e-01, 2.419e-01, 7.871e-02, 1.095..
4장 분류하는 뉴런 만들기-이진 분류 (1) 4-1 초기 인공지능 알고리즘과 로지스틱 회귀 - 퍼셉트론 마지막 단계에서 샘풀을 이진 분류하기 위하여 계단함수를 사용 - 아달린 적응형 선형 뉴런 -로지스틱 회귀 마지막 단계에서 임계 함수를 사용하여 예측을 수행 4-2 시그모이드 함수로 확률 만들기 - 시그모이드 함수 출력값z를 0~1 사이의 확률값으로 변화시켜주는 역할로, 시그모이드를 통과한 값 a가 0.5 이상이면 양성 클래스, 이하면 음성 클래스 - 오즈 비(odds ratio) 성공 확률과 실패 확률의 비율을 나타내는 통계 - 로짓 함수(logit function) 오즈 비에 로그 함수를 취하여 만든 함수 - 로지스틱 함수 시그모이드 함수 - 로지스틱 회귀 정리 4-3 로지스틱 손실 함수 경사 하강법에 적용 로지스틱 회귀와 같은 분류의 목표는 ..
3장 머신러닝 기초 다지기-수치 예측 (2) 3-3 손실 함수와 경사 하강법의 관계 - 가중치에 대하여 제곱 오차 미분하기 y_hat = x_i * w + b err = y_i - y_hat w_rate = x_i w = w +w_rate *err - 절편에 대하여 제곱 오차 미분하기 err = y_i - y_hat b = b+1 *err 3-4 선형 회귀를 위한 뉴런 - Neuron 클래스 만들기 1. init()메서드 작성하기 def __init__(self): self.w = 1.0 self.b =1.0 2. 정방향 계산 만들기 def forpass(self, x): y_hat = x * self.w + self.b return y_hat 3. 역방향 계산 만들기 def backprop(self, x, err): w_grad = x * err..
3장 머신러닝 기초 다지기-수치 예측 (1) 3-1 선형 회귀 - 문제 해결을 위해 당뇨병 환자의 데이터 준비하기 1. load_diabetes() 함수로 당뇨병 데이터 준비하기 from sklearn.datasets import load_diabetes diabetes = load_diabetes() 2. 입력과 타깃 데이터의 크기 확인하기 print(diabetes.data.shape, diabetes.target.shape) ##출력: (442, 10) (442,) 3. 입력 데이터 자세히 보기 diabetes.data[0:3] ##출력: array([[ 0.03807591, 0.05068012, 0.06169621, 0.02187235, -0.0442235 , -0.03482076, -0.04340085, -0.00259226, 0.0199..
2장 최소한의 도구로 딥러닝 시작 2-1 구글 코랩 - 구글이 제공하는 주피터 노트북 - 구글 클라우드의 가상 서버를 활용 (https://colab.research.google.com/) 2-2 딥러닝을 위한 도구들 알아보기 - 파이썬 리스트 my_list = [10, 'hello list', 20] print(my_list[1]) ##결과 : hello list my_list_2 = [[10, 20, 30], [40, 50, 60]] print(my_list_2[1][1]) ##결과:50 - 넘파이 준비하기 import numpy as np print(np.__version__) - 넘파이로 배열 만들기 1) array() 함수로 2차원 배열만들기 my_arr =np.array([[10, 20, 30], [40, 50, 60]]) p..
1장 딥러닝 소개 1-1 인공지능 소개 - 인공지능(Artificial Intellignce)은 '사람의 지능을 만들기 위한 시스템이나 프로그램' 1-2 머신러닝 소개 -머신러닝, 딥러닝, 인공지능 - 규칙/훈련 - 지도 학습 (입력과 타깃으로 모델을 훈련) - 비지도 학습 (타깃이 없는 훈련 데이터를 사용) ex) 군집(clustering) - 강화 학습 주어진 환경으로부터 피드백을 받아 훈련 대표적인 알고리즘: Q-러닝, SARSA, DQN(Deep Q Network) ex) 알파고 - 규칙 가중치와 절편 - 모델 머신러닝의 수학적 표현 가중치 + 절편 = 모델 파라미터 1-3 딥러닝 소개 - 복잡한 문제를 해결하기 위해 인공신경망을 다양하게 쌓은 것 - 인공신경망 - 딥러닝은 머신러닝이 처리하기 어려운 데이터를 더 ..

반응형