본문 바로가기

전체 글6

[Python] 클래스(class) 본 포스트에서는 파이썬에서 '클래스'라는 개념을 이해하기 쉽게 설명해볼 것입니다. 클래스는 제가 느낄 때 파이썬을 배움에 있어 가장 어려운 부분인 것 같습니다.그렇기 때문에 이러한 개념은 우리가 쉽게 이해할 수 있는 주변 사물에 대한 비유를 들어서 '직관'을 잡는 것이 중요합니다.클래스에 대한 직관적 이해로봇에 한번 비유를 해보겠습니다.로봇은 각각 자신이 어떻게 구성되어 있는지 상세히 기록되어 있는 설계도가 존재합니다.그리고 각 로봇은 한가지 이상의 기능을 갖고 있죠. 이 때, 우리는 클래스에 대해 아래처럼 비유해볼 수 있습니다.클래스: 로봇 설계도메서드: 로봇이 가진 기능객체(인스턴스): 로봇즉, 우리는 설계도(클래스)를 사용하면 같은 기능(메서드)을 가진 로봇(객체)을 계속 찍어낼 수 있다는 것입니다.. 2024. 6. 27.
[AI] Artificial Intelligence 인공지능 입문 강의 (POSTECH 유환조 교수님) 인공지능 문제의 특징1. Computational Complexity : 최적의 솔루션을 찾는데 너무 오랜 시간이 걸린다.2. Information Complexity : 최적의 솔루션을 찾는데 너무 많은 양의 데이터가 필요하다. 인공지능 문제 해결을 위해 필요한 자원 (Challenges)=> 즉, 인공지능 문제를 풀기 위해서는 다음 두 가지가 필요하다. 인공지능 문제 해결 접근 시 고려해야 할 것들=> 좀 더 구체적으로, 인공지능 문제 해결에 접근하기 위해서는 다음 세 가지를 고려해야 한다. 인공지능 문제 접근법인공지능 문제에 대한 접근은 real world task에 대해 모델링을 적용하여 formal task로 바꾸고, 알고리즘을 적용하여 프로그램을 만드는 형태로 이루어진다. 모델링과 알고리즘인공.. 2024. 6. 7.
[DL] CNN(Convolutional Neural Network)을 사용하여 MNIST 데이터 분류하기 본 포스트에서는 MNIST 손글씨 데이터를 분류하는 모델을 CNN을 통해서 구현해 볼 것입니다. 라이브러리 가져오기import tensorflow as tffrom tensorflow.keras import datasetsfrom tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Denseimport numpy as npimport matplotlib.pyplot as plt 먼저 TensorFlow의 Keras를 사용하여 CNN(Convolutional Neural Network) 모델을 구축하기 위한 필수적인 모듈들을 불러옵니다. 1. from tensorfl.. 2024. 4. 10.
[ML] 혼동 행렬(Confusion matrix) 직접 구현하기 본 포스트에서는 confusion matrix를 matplotlib.pyplot 라이브러리를 사용하여 직접 구현해 볼 것입니다.seaborn 라이브러리를 사용하면 훨씬 쉽고 빠르게 구현할 수 있지만, 내부 원리를 정확히 공부하기 위해 seaborn은 사용하지 않겠습니다.  라이브러리 가져오기from sklearn.metrics import confusion_matrix # confusion matrix 계산from sklearn.metrics import accuracy_score # accuracy 계산from sklearn.metrics import classification_report # 각 성능지표에 대한 분류 보고서 출력 confusion matrix의 출력 방식을 확인해보기 위해 먼저 .. 2024. 3. 26.
[ML] 로지스틱 회귀(Logistic Regression) 직접 구현하기 본 포스트에서는 Tensorflow에서 로지스틱 회귀를 구현해볼 것입니다. 먼저 필요한 라이브러리들을 가져옵니다. 라이브러리 가져오기import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt 훈련 데이터 생성x_train = np.array([[1., 1.], [1., 2.], [2., 1.], [3., 2.], [3., 3.], [2., 3.]], dtype=np.float32)y_train = np.array([[0.], .. 2024. 3. 25.
[ML] 선형 회귀(Linear Regression) 직접 구현하기 본 포스트에서는 Simple linear regression과 Non-linear regression을 tensorflow를 이용하여 구현해 볼 것입니다. 먼저 tensorflow와 numpy 라이브러리를 가져오도록 합니다. 라이브러리 가져오기import tensorflow as tfimport numpy as np# 버전 확인 (1.xx 버전일 경우 속도는 빠르지만 더 복잡하고 어려움)print(tf.__version__) Simple Linear Regressiony = ax + b 형태의 모델을 구현해 볼 것입니다. 데이터 생성X = [1,2,3,4,5] # 입력 데이터Y = [1,2,3,4,5] # 결과 데이터 먼저 모델에 들어가게 될 데이터 X와 Y를 생성해줍니다. 가설 정의W = tf.Vari.. 2024. 3. 25.