본문 바로가기

인공지능57

leave-one-out evaluation이란? 최근 ncf 논문 리뷰와 구현 스터디를 하고 있는데, "leave-one-out evaluation"을 통해 평가한다고 하였다. 처음에는 leave-one-out cross validation과 같은 것인 줄 알고, 아니 이 큰 데이터를 CV로 학습한다고? 하며 깜짝 놀랬는데, 멍청했다. cross-validation이 아니라 evaluation이었다. 그리고 본문을 좀 더 자세히 읽어보니 그 방식 또한 다 설명되어 있었다. 탐구 내용 NCF 논문 내 leave-one-out 관련 문단 To evaluate the performance of item recommendation, we adopted the leave-one-out evaluation, which has been widely used in .. 2023. 7. 18.
tf.matmul과 tf.multiply 차이 (행렬곱, 성분곱) tf.matmul는 행렬곱 연산을 수행하며 tf.multiply는 element-wise 곱(성분곱) 연산을 수행함. 예시를 들어 연산을 수행해보자. 다음과 같은 상황을 가정해보자 # 예시 상황 a = [[1,2,3], [4,5,6]] b = [[1,2],[3,4],[5,6]] 행렬곱 연산은 정상 동작하나, # tf.matmul 연산 tf.matmul(a, b) 성분곱 연산은 오류가 발생한다. # element-wise 연산 tf.multiply(a, b) Traceback (most recent call last): File "", line 1, in File "환경정보/tensorflow/python/util/traceback_utils.py", line 153, in error_handler rai.. 2023. 7. 18.
[Kaggle] A Journey of Enzyme Classification 목차 0. 개요 참여 기간: 2023.06.29 ~ 2023.07.09 (약 10일) 1. Motivation AI 관련 업무를 맡아 수행한지 벌써 3년이 거의 다 되어가는데, kaggle에 매우 늦게 입문했다. 사실은 계정을 만든지는 꽤 오래되었지만, 일에 치인다는 핑계와 높은 성과를 낼 수 없을 거라는 두려움에 시작하지 않았다. 이직하고 이제 딱 3개월이 되었는데, 이전 회사에 비해서 업무 자유도가 매우 높아서 역량 강화에 많은 시간을 할애할 수 있게 되었다. 마침 KPI에도 Competition 항목이 있어서, 이번 기회에 시작해보기로 했다. 2. Joined!! 목표 AUROC 0.6 이상 달성하기 성능 높이는 노하우 터득하기 처음으로 성능을 내보겠다고 다짐하며 참여한 대회여서, 마음속에만 큰 꿈.. 2023. 7. 17.
Autoencoder & Anomaly Detection (오토인코더와 이상 탐지) 강남우 교수님의 youtube 강의를 수강한 기록이다. 오토인코더 구조는 사용할 일이 많아 잘 알고 있었으나, 이를 이상 탐지에 사용할 수 있다는 점이 흥미로워 강의를 들어보았고, 매우 간단하나, 재미있어보여서 mnist 데이터로 실제 구현도 해보았다. 1. Autoencoder 오토인코더는 인코더와 디코더로 이루어진, 입출력이 동일한 모델 구조를 말함 인코더의 출력이자 디코더의 입력을 z, latent vector라 하며, 주로 입력 데이터의 크기보다 작게 구성함. 다른 말로는 code, feature, hidden representation이라고도 함 학습을 거듭하면, 입력 데이터는 인코더를 거쳐 latent vector로 표현되고, 이 벡터가 디코더를 거쳐 입력 데이터로 복원됨 데이터를 압축하는 구.. 2023. 7. 14.
MNIST 데이터 읽기 mnist 데이터는 yann 교수님의 페이지에서 다운로드 가능한데, png 등이 아니라 ubyte 형식의 데이터이다. python-mnist 라이브러리를 사용하면 간단하게 데이터를 array 형태로 로드할 수 있어서 이를 사용하여 로드해본다 목차 1. 파일 다운로드 http://yann.lecun.com/exdb/mnist/ 이 링크에서 아래와 같이 파란 상자 안의 링크를 눌러 데이터를 다운받는다. 2. 사용할 라이브러리 임포트 # 설치 명령어 !pip install numpy matplotlib python-mnist # 임포트 import numpy as np import matplotlib.pyplot as plt from mnist import MNIST 3. 데이터 로드 mndata = MNIS.. 2023. 7. 3.
multi-label classification의 활성화 함수와 손실 함수 최근 kaggle에서 enzyme 분류 문제를 풀고 있는데, 처음 시도할 때에 multi-label을 multi-class 문제로 풀어 성능이 잘 안나왔고, 원인을 분석하다가 정리해보았다. 분류에는 크게 세 종류가 있으며, 인공신경망의 마지막 활성화함수와 손실함수는 일반적으로 아래와 같이 사용하면 된다. binary classification: 0 또는 1 중 하나를 고르는 문제로, sigmoid 함수와 binary crossentropy를 사용하면 된다. multi-class classification: 일반적인 categorical classification으로, 3개 이상의 클래스 중 하나를 고르는 문제. softmax 함수를 사용해야 하며, 손실로는 categorical crossentropy를 .. 2023. 7. 1.