파이썬/머신러닝 및 딥러닝(28)
-
Python(Colab) 파이토치(Pytorch) + 딥러닝 + CNN기초(이미지)
✔️ CNN(Convolutional Neural Networks) - 합성곱 뉴런 신경망 - 형태: 전통적인 뉴럴 네트워크 + 컨볼루셔널 레이어 - 컨볼루셔널 레이어를 통해 입력받은 이미지의 특징을 추출 -> 추출한 특징을 기반으로 기존 뉴럴 네트워크 이용 - 이미지 분류 / 예측에 많이 사용 특징) * 특히 이미지를 분류할 때 DNN(Deep Neural Network)의 문제점을 가지고 있다. * 일반적인 DNN은 1차원 형태의 데이터를 사용 * 2차원 이상의 데이터가 입력되는 경우는 flatten 시켜서 한줄로 데이터를 변환 후 넣어야함. * 이미지의 공간적/지역적 정보가 손실된다. * 따라서 DNN의 문제점을 해결하기 위해 이미지를 그대로 (Raw Input) 받음으로 공간적 / 지역적 정보를 ..
2023.06.21 -
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