본문 바로가기

AI65

[Keras] pad_sequences() Keras의 pad_sequences 함수는 시퀀스 데이터를 패딩하여 동일한 길이의 시퀀스로 만들어주는 유용한 도구입니다. 이 함수는 주로 텍스트, 시계열 데이터, 또는 다른 유형의 순차적 데이터를 처리할 때 사용됩니다. 패딩은 시퀀스 길이를 조정하여 모델의 입력 데이터 크기를 일정하게 만들 때 특히 유용합니다. pad_sequences 함수의 시그니처는 다음과 같습니다. keras.preprocessing.sequence.pad_sequences( sequences, # 패딩할 시퀀스 데이터 리스트 maxlen=None, # 패딩된 시퀀스의 최대 길이 (기본값: None) dtype='int32', # 반환된 패딩된 배열의 데이터 타입 (기본값: 'int32') padding='pre', # 패딩 위치.. 2023. 9. 12.
[Keras] 다중 클래스 분류 손실 함수 sparse_categorical_crossentropy와 categorical_crossentropy는 딥러닝 모델을 훈련시킬 때 주로 사용되는 손실 함수(loss function) 중 두 가지입니다. 이 두 손실 함수는 주로 다중 클래스 분류 문제를 해결할 때 쓰이며, 모델의 출력과 실제 레이블 간의 차이를 측정하여 모델을 훈련시키는 데 사용됩니다. 둘 다 크로스 엔트로피(cross-entropy)를 기반으로 합니다. categorical_crossentropy categorical_crossentropy는 주로 원-핫 인코딩(One-Hot Encoding) 형식의 레이블을 사용하는 다중 클래스 분류 문제에 적합합니다. 원-핫 인코딩은 각 클래스에 대해 하나의 레이블을 선택하고, 선택한 클래스의 인덱.. 2023. 9. 12.
DNN(Digital Neural Network) 용어 정리 DNN(Digital Neural Network)은 딥러닝의 한 유형으로, 인공신경망을 사용하여 복잡한 문제를 해결하는 데 사용됩니다. DNN은 여러 종류의 레이어로 구성되며, 여기에는 FFNN(Feedforward Neural Network), FC(Fully Connected), 그리고 Dense Layer가 포함됩니다. 이들에 대한 간단한 설명은 다음과 같습니다: FFNN(Feedforward Neural Network) FFNN은 가장 기본적인 딥러닝 아키텍처 중 하나이며, 정보가 한 방향으로만 흐르는 feedforward 구조를 갖습니다. 입력 레이어, 은닉 레이어, 출력 레이어로 구성됩니다. 각 레이어는 노드(뉴런)로 구성되며, 이러한 노드 간에는 가중치(weight)와 활성화 함수(activ.. 2023. 9. 11.
[Keras] 딥러닝 모델 개발 과정 케라스(Keras)는 딥러닝 모델을 쉽게 개발하고 훈련할 수 있는 고수준 딥러닝 API입니다. 케라스를 사용하여 딥러닝 모델을 개발하는 과정을 API 관점에서 정리해보겠습니다. 라이브러리 임포트 및 환경 설정 import tensorflow as tf from tensorflow import keras 데이터 준비 훈련 데이터와 테스트 데이터를 준비하고, 필요에 따라 데이터 전처리를 수행합니다. 모델 구성 시퀀셜 모델(Sequential Model) 또는 함수형 API(Functional API)를 사용하여 모델을 정의합니다. Sequential 모델의 경우, 레이어를 차례대로 쌓아 간단한 모델을 만들 수 있습니다. 함수형 API를 사용하면 더 복잡한 모델 구조를 정의할 수 있습니다. 예시 (Sequen.. 2023. 9. 11.
DNN과 퍼셉트론(Perceptron) 뉴럴 네트워크(Neural Network)와 퍼셉트론(Perceptron)은 기계 학습과 인공 지능 분야에서 중요한 개념입니다. 이 두 개념을 각각 소개해보겠습니다. 퍼셉트론(Perceptron) 퍼셉트론은 가장 간단한 형태의 인공 신경망 모델 중 하나로, 프랑크 로젠블라트(Frank Rosenblatt)가 1957년에 개발했습니다. 퍼셉트론은 입력값을 받아 이를 가중치(weight)와 결합한 후, 활성화 함수(activation function)를 통과시켜 하나의 출력값을 생성하는 모델입니다. 주로 이진 분류(binary classification) 문제를 해결하기 위해 사용됩니다. 퍼셉트론은 다음과 같이 표현됩니다: 입력값: x1, x2, ..., xn 가중치: w1, w2, ..., wn 활성화 함.. 2023. 9. 11.
[TensorFlow] 아이리스 분류 예제와 함수 설명 이 예제에서는 케라스 대신 텐서플로우의 저수준 API를 사용하며, 크로스 엔트로피 손실 함수를 사용합니다. 아래는 전체 코드입니다. 기본 예제 import tensorflow as tf from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.preprocessing import OneHotEncoder import numpy as np # 아이리스 데이터 로드 iris = datasets.load_iris() X = iris.data y = iris.target.reshape(-1, 1) # 원핫 인코딩 .. 2023. 9. 8.
텐서플로우(TensorFlow) 노드 텐서플로우(TensorFlow)는 기계 학습 및 딥러닝 모델을 구축하고 학습하기 위한 오픈 소스 라이브러리로, 그래프 기반의 계산을 수행합니다. 이 그래프는 노드(node)와 엣지(edge)로 구성되며, 노드는 수학적 연산을 나타내고 엣지는 데이터의 흐름을 나타냅니다. 아래에서 노드 정의와 연산 수행에 대해 더 자세히 설명하겠습니다. 텐서(Tensor) 텐서는 다차원 배열로 데이터의 기본 단위입니다. 스칼라(0차원 텐서), 벡터(1차원 텐서), 행렬(2차원 텐서) 등 다양한 차원을 가질 수 있습니다. 데이터를 저장하고 전달하는데 사용되며, 텐서플로우의 모든 연산은 텐서를 입력으로 받고 출력으로 생성합니다. 텐서는 다차원 배열로, 그래프 내에서 데이터의 기본 단위입니다. 노드 간에 전달되는 데이터는 텐서 .. 2023. 9. 8.
텐서플로우, 케라스, 파이토치 텐서플로우(TensorFlow) 텐서플로우(TensorFlow)는 구글에서 개발한 오픈 소스 머신 러닝 프레임워크입니다. 이것은 딥 러닝 및 기계 학습 모델을 개발하고 학습시키는데 사용되며, 다양한 어플리케이션, 특히 이미지 및 음성 인식, 자연어 처리, 게임 개발, 의학 연구 등 다양한 분야에서 활용됩니다. 텐서플로우의 핵심 개념 및 특징은 다음과 같습니다: 텐서(Tensor): 텐서플로우의 이름은 텐서(Tensor)라는 다차원 배열을 다루는 것에서 나왔습니다. 이러한 텐서는 데이터의 기본 단위로 사용되며, 스칼라(0차원), 벡터(1차원), 행렬(2차원), 그 이상의 다차원 배열을 포함합니다. 그래프 기반 실행: 텐서플로우는 계산을 그래프 형태로 정의하고 실행합니다. 이 그래프는 노드(Node)와 엣지.. 2023. 9. 8.
주성분 분석(Principal Component Analysis, PCA) 주성분 분석(Principal Component Analysis, PCA)은 다차원 데이터를 저차원으로 축소하거나 주요 정보를 추출하는 데 사용되는 통계적 기법입니다. PCA는 데이터의 차원을 줄이면서 데이터의 구조와 분산을 최대한 보존하려는 목적을 가지고 있으며 주로 데이터 압축, 시각화, 패턴 인식 및 머신러닝 모델에서의 전처리 단계로 활용됩니다. PCA를 주요 단계와 개념 데이터 준비: PCA를 적용할 다차원 데이터를 준비합니다. 이 데이터는 각 데이터 포인트(예: 관측값)가 여러 개의 특성(예: 변수)으로 구성되어 있어야 합니다. 데이터 표준화: 각 특성의 스케일을 맞춰야 합니다. 이는 데이터의 단위 차이를 해결하고 PCA가 모든 특성을 고르게 고려할 수 있게 해줍니다. 공분산 행렬 계산: 데이터.. 2023. 9. 8.