본문 바로가기
728x90
반응형
SMALL
[파이썬, Python] 딥러닝(DeepLearning) - 퍼셉트론과 역전파 1. 퍼셉트론(Perceptron) 1-1. 생물학적 뉴런 인간의 뇌는 수십억 개의 뉴런을 가지고 있음 뉴런은 화학적, 전기적 신호를 처리하고 전달하는 연결된 뇌신경 세포 1-2. 인공 뉴런(Perceptron) 1943년에 워렌 맥컬록, 월터 피츠 단순화된 뇌세포 개념을 발표 신경 세포를 이진 출력을 가진 단순한 논리 게이트라고 설명 생물학적 뉴런의 모델에 기초한 수학적 기능으로, 각 뉴런이 입력을 받아 개별적으로 가중치를 곱하여 나온 합계를 비선형 함수를 전달하여 출력을 생성 1-3. 논리 회귀(단층 퍼셉트론)로 OR 문제 풀기 import torch import torch.nn as nn import torch.optim as optim X = torch.FloatTensor([[0, 0], [0,.. 2023. 6. 29.
[파이썬, Python] 데이터로더(DataLoader) - 배치 단위로 학습시키기! 📄사용할 예제 - sklearn의 손글시 데이터셋 [데이터셋 정보] https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_digits.html sklearn.datasets.load_digits Examples using sklearn.datasets.load_digits: Recognizing hand-written digits Recognizing hand-written digits A demo of K-Means clustering on the handwritten digits data A demo of K-Means clustering... scikit-learn.org 1. 손글씨 인식 모델 만들기 import torch.. 2023. 6. 29.
[파이썬, Python] 서브워드분리(subword segmentation) - WordPiece Tokenizer 1. WordPiece Tokenizer 구글이 2016년 Google's Neural Machine Translation System Bridging the Gap between Human and Machine Translation논문에 처음 공개한 BPE의 변형 알고리즘 병합할 두 문자가 있을 때, 각각의 문자가 따로 있을때를 더 중요시 여기는지, 병합되었을 때를 더 중요시 여기는지 차이점을 둠 코퍼스의 우도(Likelihood)를 가장 높이는 쌍을 병합 GPT 모델과 같은 생성모델(자연어를 만들어냄)의 경우에는 BPE 알고리즘을 사용 BERT, ELECTRA와 같은 자연어 이해 모델에서는 WordPiece Tokenizer를 주로 사용 📍 수행하기 이전의 문장: Jet makers feud over.. 2023. 6. 29.
[파이썬, Python] 서브워드분리(subword segmentation) - BPE 알고리즘 1. 서브워드 분리(Subword segmenation) 작업 하나의 단어를 여러 서브워드로 분리해서 단어를 인코딩 및 임베딩하겠다는 의도를 가진 전처리 작업 OOV나 희귀 단어, 신조어와 같은 문제를 완화 서브워드 분리 알고리즘인 BPE(Byte Pair Encoding) 알고리즘 2. BPE 인코딩(Byte Pair Encoding) 2016년 Neural Machine Translation of Rare Words with Subword Units 논문에서 제안 코퍼스 내 단어의 등장 빈도에 따라 서브워드를 구축하는데 사용 글자(charcter) 단위에서 점차적으로 단어 집합(vocabulary)을 만들어 내는 Bottom up 방식의 접근을 사용 기계는 모르는 단어가 등장하면 그 단어를 단어 집합.. 2023. 6. 27.
[파이썬, Python] 파이토치(Pytorch)로 논리 회귀(Logistic Regression)구현하기! 1. 단항 논리 회귀 실습 논리 회귀(Logistic Regression) 분류를 할 때 사용하며 선형 회귀 공식으로부터 나왔기 때문에 논리 회귀라는 이름이 붙여짐 1-1. 시그모이드 함수 예측값이 0에서 1사이 값이 되도록 만듦 0에서 1사이의 연속된 값을 출력으로 하기 때문에 보통 0.5를 기준으로 구분 import torch import torch.nn as nn import torch.optim as optim import matplotlib.pyplot as plt # 동일한 코드를 실행할 때마다 동일한 난수 시퀀스를 얻을 수 있도록 함 # 모델 초기화나 데이터 분할 등에서 난수를 사용하는 경우에 일관된 결과를 얻을 수 있음 torch.manual_seed(10) x_train = torch.F.. 2023. 6. 26.
[파이썬, Python] 파이토치(Pytorch)로 선형회귀(Linear Regression) 구현하기! 1. 단항(단일) 선형 회귀 한 개의 입력이 들어가서 한 개의 출력이 나오는 구조 # 패키지 불러오기 import torch import torch.nn as nn import torch.optim as optim import matplotlib.pyplot as plt # 파이썬 코드를 재실행해도 같은 결과가 나올 수 있도록 random 시드를 설정 torch.manual_seed(10) # 학습 데이터 설정 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) >>> tens.. 2023. 6. 23.
[파이썬, Python] 파이토치(Pytorch)란❓ & 파이토치의 특징 알아보기!🧐 1. 파이토치(PyTorch) 딥 러닝과 기계 학습을 위한 오픈 소스 프레임워크 Python 기반의 과학 계산 패키지인 토치(Torch)를 기반으로 개발 텐서 연산과 자동 미분을 위한 기능을 제공하여 신경망 모델의 구성, 학습, 추론을 쉽게 구현 2. 파이토치의 특징 2-1. 장점 설치가 간편 이해와 디버깅이 쉬운 직관적이고 간결한 코드로 구성 Define by Run 방식을 기반으로 한 실시간 결과값을 시각화 파이썬 라이브러리(Numpy, Scipy, Cython)와 높은 호환성 Winograd Convolution Algorithm 기본 적용을 통한 빠른 모델 훈련이 가능 모델 그래프를 만들 때 고정상태가 아니기 때문에 언제든지 데이터에 따라 조절이 가능 Numpy스러운 Tensor연산이 GPU로도 .. 2023. 6. 23.
[파이썬, Python] 평가지표 - MSE, MAE, RMSE 1. MSE(Mean Squared Error, 평균 제곱근 오차) 예측값과 실제값의 차이에 대한 제곱에 대하여 평균을 낸 값 p = np.array([3,4,5]) # 예측값 act = np.array([1,2,3]) # 실제값 (오차가 있는것!) def my_mse(pred, actual): return ((pred-actual) ** 2).mean() my_mse(p, act) # 수가 크던 작던 상관x, 다른 값과 비교대상으로 사용하기 위함(상대적으로 적은 값이 더 실제값과 가깝다라고 평가) >>> 4.0 2. MAE(Mean Absolute Error, 평균 절대값 오차) 예측값과 실제값의 차이에 대한 절대값에 대하여 평균을 낸 값 절대값은 미분하기 어렵기때문에 MAE 평가지표를 머신러닝, 딥러.. 2023. 6. 23.
[파이썬, Python] 머신러닝 - 7️⃣ KMeans 1. 클러스터(Clusters) 비슷한 특성을 가지고 있는 항목들을 함께 그룹화 클러스터링은 주어진 데이터를 특정 기준에 따라 여러 그룹으로 분류하는 작업 비슷한 특성을 가진 데이터끼리 클러스터를 형성하고, 서로 다른 클러스터들 간에는 구분되는 특성을 가짐 import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn.datasets import make_blobs # 가상의 클러스터를 생성하여 분류나 군집 문제를 위한 가상 데이터셋을 생성 ✅ 가상의 데이터셋을 생성하여 클러스터 예제를 실습하여보자. # X: 독립변수 # y: 종속변수 # n_samples=100: 100개의 행.. 2023. 6. 19.
[파이썬, Python] 머신러닝 - 6️⃣ LightGBM 📄 예제에 사용한 파일 1. credit 데이터셋 알아보기 import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt credit_df = pd.read_csv('/content/drive/MyDrive/KDT/Python/4.머신러닝 딥러닝/credit.csv') credit_df ✅ 컬럼 수를 최대 30개로 보기 pd.set_option('display.max_columns', 30) credit_df ✅ credit_df 정보 보기 credit_df.info() ✅ 개인정보와 같이 모델학습에 필요없는 피쳐를 삭제 credit_df.drop(['ID','Customer_ID'.. 2023. 6. 18.
[파이썬, Python] 머신러닝 - 5️⃣ 랜덤 포레스트(Random Forest) 📄예제에 사용한 파일 1. hotel 데이터셋 살펴보기 import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt hotel_df = pd.read_csv('/content/drive/MyDrive/KDT/Python/4.머신러닝 딥러닝/hotel.csv') hotel_df.head() ✅ hotel_df의 정보 보기 hotel_df.info() ✅ 모델 학습에 필요 없는 피쳐 삭제하기 hotel_df.drop(['credit_card', 'name', 'email', 'phone-number', 'reservation_status_date'], axis=1, inplace=Tr.. 2023. 6. 18.
[파이썬, Python] 머신러닝 - 4️⃣ 서포트 벡터 머신(Support Vector Machine) 📄사용할 예제 - sklearn의 손글시 데이터셋 [데이터셋 정보] https://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_digits.html sklearn.datasets.load_digits Examples using sklearn.datasets.load_digits: Recognizing hand-written digits Recognizing hand-written digits A demo of K-Means clustering on the handwritten digits data A demo of K-Means clustering... scikit-learn.org 1. 손글씨 데이터셋 살펴보기 from sklearn.. 2023. 6. 18.
728x90
반응형
LIST