코랩(19)
-
Python(Colab) 파이토치(Pytorch) + 활성화 함수
✔️활성화 함수 (Activation Function) - 신경망의 성능을 향상 시키기 위해 사용한다 - 직선 layer를 여러개 써봐야 1개의 직선이 최선이다. - 선형함수: 입력값과 가중치를 곱한 결과를 그대로 출력 - 신경망에서 여러개의 선형 활성화 함수를 사용한다면, 최중 출력값은 입력값과 가중치의 선형 조합으로 표현 - 이는 입력데이터의 비선형 관계를 표현할수 없다. - 신경망의 입력 데이터의 비선형 관계를 잘 학습할 수 있도록 하기 위해 비선형 활성화 함수를 사용한다. 1. Sigmoid() 주로 은닉층에서 사용하지 않고, 출력층(output layout)에서만 사용 import numpy as np import matplotlib.pyplot as plt def sigmoid(x): retu..
2023.06.21 -
Python(Colab) 파이토치(Pytorch) + 딥러닝 해보기
✔️ 퍼셉트론(Perceptron) 생물학적 뉴런 : 화학적,전기적 신호를 처리하고 서로 전달하는 연결된 뇌신경 세포 인공 뉴런 : 퍼셉트론이라 불림 -1943년 웨렌 맥컬론, 월터 피츠가 단순화된 뇌세포 개념을 발표 논리회귀(단층 퍼셉트론)으로 or문제 풀기 문제: 0,1중 1개라도 1이 있으면 정답은 1 import torch import torch.nn as nn import torch.optim as optim X = torch.FloatTensor([[0,0],[0,1],[1,0],[1,1]]) y= torch.FloatTensor ([[0],[1],[1],[1]]) model = nn.Sequential( nn.Linear(2,1), nn.Sigmoid() ) optimizer = optim...
2023.06.20 -
Python(Colab) 파이토치(Pytorch) + 데이터 로더
데✔️ 데이터로더 데이터 양이 많을 때, 배치 단위로 학습하는 방법을 의미한다. 데이터 로더를 적용하여 손글씨 인식하기 1. 데이터 셋 셋팅 및 기초 셋팅 import torch import torch.nn as nn import torch.optim as optim import torchvision.datasets as datasets import torchvision.transforms as transforms import matplotlib.pyplot as plt from sklearn.datasets import load_digits # GPU device = 'cuda' if torch.cuda.is_available() else 'cpu' print(device) 2. 학습데이터 뽑아오기 d..
2023.06.20 -
Python(Colab) 파이토치(Pytorch) + 논리 회귀 (와인품종 예측)
목표: 13개 성분을 분석하여 어떤 품종에 와인인지 예측하자 1. 데이터셋 : sklearn.datasets.load_wine (학습데이터 80%, 테스트 데이터 20%) from sklearn.datasets import load_wine import pandas as pd from sklearn.preprocessing import MinMaxScaler from sklearn.model_selection import train_test_split x_data,y_data = load_wine(return_X_y=True,as_frame=True) #한번에 데이터 프레임 x_data= torch.FloatTensor(x_data.values) y_data= torch.LongTensor(y_data...
2023.06.20 -
Python(Colab) 파이토치(Pytorch) + 논리 회귀 (다항)
1. 데이터 셋 설정 x_train = [[1,2,1,1], [2,1,3,2], [3,1,3,4], [4,1,5,5], [5,7,5,5], [6,2,5,6], [7,6,6,6], [8,7,7,7] ] y_train = [0,0,0,1,1,1,2,2] #결과도 3개 x_train = torch.FloatTensor(x_train) y_train = torch.LongTensor(y_train) x_train.shape , y_train.shape 2. 모델 설정 model = nn.Sequential( nn.Linear(4,3) ) # 4개 input 3개 output print(model) 3. 학습하기 y_pred = model(x_train) y_pred 4. 손실율 확인후 반복 학습 #🔴 다항 논리..
2023.06.20 -
Python(Colab) 파이토치(Pytorch) + 논리 회귀
✔️논리 회귀 - 주로 분류할 때 사용한다. - 선형 회귀 공식으로부터 나와서 논리회귀라는 이름을 사용한다. ✔️ 1번 그림을 보게 되면 직선으로 한 선형 회귀이다. ✔️ 2번 그림은 곡선으로 회귀를 진행한다. >> Sigmoid함수를 사용하여 곡선화시켜 정확도를 높인다. ✔️ Sigmoid함수란? - 예측값이 0 ~ 1사이의 값이 되도록 만들어준다. - 0 ~ 1 사이의 연속된 값을 출력함으로 보통 0.5로 구분한다. - 계단함수(퍼셉트론)은 무조건 0 or 1을 반환하지만 시그모이드는 0~1이기떄문에 >> 퍼셉트론: A는 1이고, B는 0이야 이렇게 확답을한다면, 시그모이드는 A가 아마도 1일거야 라는 느낌 단점) vanishing gradient: 입력값이 아무리 커도, 미분 값의 범위로 제한되어 ..
2023.06.20