본문 바로가기

AI36

[AI] MNIST 데이터 사용하여 신경망 배우기 안녕하세요! 오늘은 딥러닝계의 Hello World와 같은 MNIST 데이터를 사용하여 신경망에 대해 공부해보겠습니다. MNIST 데이터셋은 넘파이 배열 형태로 케라스에 저장이 되어 있습니다. import tensorflow as tf (train_X,train_Y),(test_X,test_Y) = tf.keras.datasets.mnist.load_data() train_X와 train_Y로 훈련 세트를 구성하며, test_X와 test_Y로 테스트 세트를 구성합니다. 데이터를 살펴볼까요? print(train_X.shape) # (60000,28,28) print(len(train_X),len(test_X)) # (60000,10000) plt.imshow(train_X[0],cmap='gray') .. 2022. 11. 7.
[AI] Perceptron 퍼셉트론은 다수의 신호를 입력 받아 하나의 신호를 출력합니다. 입력에 상수(가중치)를 곱해 전부 더한 값이 특정 값보다 크면 1, 아니면 0을 출력합니다. 여기서 특정 값은 임계값이라고 하며, theta로 나타냅니다. 위 내용을 아래로 나타내면 다음과 같습니다. 퍼셉트론은 입력 신호 각각에 고유한 가중치를 부여합니다. 가중치가 클수록 해당 신호가 그만큼 더 중요함을 나타냅니다. 그럼 퍼셉트론을 활용한 간단한 문제를 살펴보겠습니다. 위에서 퍼셉트론은 다수의 입력을 받아 하나의 신호를 출력한다고 했죠? AND 게이트를 예로 들면 2개 이상의 입력을 받아 하나의 출력값을 결정해줍니다. 이를 위해 할 일은 진리표대로 작동하는 x1,x2,theta의 값을 정하는 것입니다. 다음과 같은 그림을 파이썬으로 구현해보겠.. 2022. 11. 7.
[AI] K-Nearest Neighbors 직접 구현 K-Nearest Neighbor은 대표적인 분류 알고리즘입니다. 유사한 속성을 가진 데이터는 유사한 그룹에 속한다는 아이디어로 사용합니다. 위의 그림을 보면 모든 데이터는 1,2,3이라는 각각 다른 색상으로 분류되어있다. 하지만 새로 입력한 저 빨간 점에 대한 분류는 어떻게 하는 것일까? 이에 KNN이라는 알고리즘을 도입하게 됐는데, 간단히 요점을 나열하자면 유사한 데이터들끼리의 거리는 비교적 가깝다. 분류를 알 수 없는 새로운 데이터는 가장 가까운 이웃 k개의 분류를 확인하여 vote 한다 k의 개수가 너무 작으면 과대적합이 일어날 수 있다 k의 개수가 너무 많으면 과소적합이 일어날 수 있다 필요한 라이브러리 불러오기 import numpy as np import matplotlib.pyplot as.. 2022. 10. 19.
[OpenCV] 이미지 마스킹 기초 안녕하세요! 오늘은 이미지의 특정 부분만 보이게 하는 이미지 마스킹에 대해 알아보겠습니다! 이미지 마스킹을 공부하기에 앞서 이미지 임계값 처리에 대한 내용에 대한 선 학습이 필요한데요, 2022.10.05 - [AI, 빅데이터/AI] - OpenCV - 이미지 트리밍 / 변환 OpenCV - 이미지 트리밍 / 변환 안녕하세요! 저번 글에 이어서 OpenCV 이미지를 다뤄보겠습니다. 2022.10.05 - [AI, 빅데이터/AI] - OpenCV - 색 지정 / 선 / 도형 그리기 저번에는 이미지를 만들었다면, 이번에는 직접 받아온 파일을 사용 foxyprogramming.tistory.com 임계값 처리하는 cv2.threshold에 대한 부분 먼저 읽고 오시면 좋을 것 같네요 OpenCV에서는 2진수 .. 2022. 10. 12.