본문 바로가기

전체 글137

18. 비선형 활성화 함수 1. 비선형 활성화 함수(Activation Functions)신경망의 성능을 향상시키기 위해 사용선형 함수는 입력값과 가중치를 곱한 결과를 그대로 출력하기 때문에 신경망에서 여러 개의 활성화 함수를 사용한다면 최종 출력값은 입력값과 가중치의 선형 조합으로 표현되므로 입력 데이터의 비선형 관계를 표현할 수 없음신경망이 입력 데이터의 비선형 관계를 잘 학습할 수 있도록 하기 위해 비선형 활성화 함수가 필요1-1. 시그모이드import numpy as npimport matplotlib.pyplot as pltdef sigmoid(x): return 1 / (1 + np.exp(-x))x = np.arange(-5.0,5.0,0.1)y = sigmoid(x)plt.plot(x,y)# 가운데 점선 추가#.. 2024. 6. 13.
17. 딥러닝 1. 뉴런(neuron)1-1. 생물학적 뉴런인간의 뇌는 수십억 개의 뉴런을 가지고 있음뉴런은 화학적, 전기적 신호를 처리하고 전달하는 연결된 뇌신경 세포 1-2.인공 뉴런1943년에 워렌 맥컬록, 월터 피츠가 단순화된 뇌세포 개념을 발표신경 세포를 이진 출력을 가진 단순한 논리 게이트라고 설명생물학적 뉴런의 모델에 기초한 수학적 기능으로, 각 뉴런이 입력을 받아 개별적으로 가중치를 곱하여 나온 합계를 비선형 함수를 전달하여 출력을 생성 2. 퍼셉트론(Perceptron)인공 신경망의 가장 기본적인 형태로 1957년에 처음 소개됨입력과 출력을 가진 단일 뉴런 모델을 기반초기의 기꼐 학습 알고리즘 중 하나로 이진 분류 문제를 해결하기 위해 설계2-1. 논리 회귀(단층 퍼셉트론)로 AND 문제 풀기impor.. 2024. 6. 13.
16. 데이터 로더 1. 데이터 로더(DataLoader)데이터 양이 많을 때 배치 단위로 학습하는 방법 2. 손글씨 인식 모델 만들기import torchimport torch.nn as nnimport torch.optim as optimimport matplotlib.pyplot as pltfrom sklearn.datasets import load_digitsfrom sklearn.model_selection import train_test_split# 코랩에서 GPU 환경으로 변경device = 'cuda' if torch.cuda.is_available() else 'cpu'print(device)digits = load_digits()x_data = digits['data']y_data = digits['tar.. 2024. 6. 13.
15. 파이토치로 구현한 논리회귀 1. 단항 논리회귀(Logistic Regression)분류를 할 때 사용하며, 선형 회귀 공식으로부터 나왔기 때문에 논리회귀라는 이름이 붙여짐직선 하나(선형 회귀)를 사용해서 분류를 예측한다면 제대로 예측하지 못할 경우가 많음 2. 시그모이드(Sigmoid) 함수예측값을 0에서 1사이의 값이 되도록 만듦0에서 1사이의 연속된 값을 출력으로 하기 때문에 보통 0.5(임계값)를 기준으로 구분import torchimport torch.nn as nnimport torch.optim as optimimport matplotlib.pyplot as plttorch.manual_seed(2024)x_train = torch.FloatTensor([[0], [1], [3], [5], [8], [11], [15],.. 2024. 6. 13.
14. 파이토치로 구현한 선형회귀 1. 단항 선형 회귀한 개의 입력이 들어가서 한 개의 출력이 나오는 구조import torchimport torch.nn as nnimport torch.optim as optimimport matplotlib.pyplot as plt# 파이썬 코드를 재실행해도 같은 결과가 나올 수 있도록 랜점시드를 설정torch.manual_seed(2024)x_train = torch.FloatTensor([[1], [2], [3]])y_train = torch.FloatTensor([[2], [4], [6]])print(x_train)print(x_train.shape)print(y_train)print(y_train.shape)plt.figure(figsize=(6, 4))plt.scatter(x_train, y.. 2024. 6. 13.
13. 파이토치(Pytorch) 1. Clusters(클러스터)Tensorflow와 함께 머신러닝, 딥러닝에서 가장 널리 사용되는 프레임워크초기에는 Torch라는 이름으로 Lua언어 기반으로 만들어졌으나, 파이썬 기반으로 변경한 것이 Pytorch뉴욕대학교와 페이스북(메타)이 공동으로 개발하였고, 현재 가장 대중적인 머신러닝, 딥러닝 프레임워크import torch파이토치를 이용하고자 할때는 위와같이 import를 해주면 됩니다import torchprint(torch.__version__) 1-1. 스칼라(Scalar)하나의 상수를 의미 (데이터가 하나만 들어가 있는 경우)var1 = torch.tensor([1])var1type(var1)var2 = torch.tensor([10.5])var2# 두 스칼라의 사칙 연산print(va.. 2024. 6. 13.