[짧] KNN(K Nearest Neighbor) 분류모델 이론
·
머신러닝/아맞다
오늘은 머피의 머신러닝 16.1장에 해당하는 KNN(K Nearest Neighbor) classifier에 대해 정리해 본다. 참고 : 머피의 머신러닝 1 들어가면서 nonparametric model KNN은 CNN, RNN과 같은 딥러닝 모델과(parametric model)과 다르게 nonparametric model에 해당한다. parametic model은 데이터가 특정 distribution에 있기를 전제로 하고 학습을 진행한다면 nonparametric model은 그렇지 않다. 데이터가 특정 분포를 따른다는 전제 없이 모델을 학습한다. parametric model들을 정의할 때 class posterior가 다음과 같이 표현되고는 했다. 이때의 θ가 데이터의 분포를 학습하고자 하는 파라..
Lagrange Multiplier 이론 정리
·
머신러닝/아맞다
아맞다 시리즈 4번째. 오늘은 머피의 머신러닝 8.5 장에 나오는 Lagrange에 대해 본인이 소화한 대로 정리해 볼 것이다. 라그랑지 승수는 SVM을 설명할 때나 exponential family에서 엔트로피를 설명할 때, MLE에 대해 설명할 때에도 나오는 방법이다. 라그랑지와 더불어 KKT condition의 개념까지 정리해보고자 한다. 참고 : 머피의 머신러닝 1. Lagrange Multiplier(라그랑지 승수) Constrained optimization 라그랑지 승수를 어떤 경우에 사용하는지 이해하기 위해선 constraint optimization에 대한 이해가 필요하다. 한국어로 직역하면 '억제 최적화'가 된다. optimizer function을 구했는데, 특정 조건을 만족해야 한다..
sklearn SVM(Support Vector Machine) 가이드
·
머신러닝/약간 덜매운맛
오늘은 Support Vector Machine (SVM)을 사용하는 데 있어서 알아두면 좋을 하이퍼파라미터들과 간단한 수식들을 정리해 본다. svm은 대게 분류모델의 시작점으로 사용하기 유용하며, sklearn에서 모델을 제공하기 때문에 사용하기 용이하다. 라이브러리 버전은 1.3을 기준으로 작성한다. 참고 1 : https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html sklearn.svm.SVC Examples using sklearn.svm.SVC: Release Highlights for scikit-learn 0.24 Release Highlights for scikit-learn 0.22 Classifier comparis..
transformer 구현, pytorch 공식 코드로 알아보기
·
머신러닝/약간 덜매운맛
오늘은 지난 시간 Multi Head Attention의 pytorch 구현체를 까본 것에 이어 transformer를 분해해 보겠다. pytorch의 torch.nn.modules.transformer를 기준으로 한다. 참고 : https://pytorch.org/docs/stable/_modules/torch/nn/modules/transformer.html#Transformer torch.nn.modules.transformer — PyTorch 2.0 documentation Shortcuts pytorch.org 1. class Transformer nn.modules.transformer에서 import 하는 라이브러리들은 다음과 같다. import copy from typing import ..
23년도 내 기술 블로그의 방향성
·
회고록
4학년 2학기는 마음이 갈대같이 흔들리던 시간이었다. AI관련 학과의 1기 학생이었던 나는 이쪽 계열로 나아간 선배들이 없었다. 스타트업에 취업하고 싶다가도 대학원을 가야 나의 쓸모를 증명할 수 있을 것만 같았다. 코로나로 인해 수업은 대부분 온라인으로 진행되었고, 막학기였던 만큼 채워야 하는 학점도 많지 않았다. 그 시기에 대학 동기의 소개로 어느 연구소에서 짧게 학부 인턴을 하며 평화로운 나날을 지냈던 것 같다. 그때도 막연히 나는 평생 공부하고 탐구하며 머신러닝을 하며 살겠구나 싶었다. 대학원 입시는 보통 졸업학기에 진행된다. 여느 방해 없이 흘러가는 물 마냥 나도 대학원을 준비하고 있었다. 그러다가 문득 모든 게 무섭고 아쉬워졌다. 석사 진학이 예정되어 있었기에 2년의 시간이 속절없이 대학 연구실..
pytorch 공식 구현체로 보는 transformer MultiheadAttention과 numpy로 구현하기
·
머신러닝/파이썬 구현 머신러닝
transformer(트랜스포머)가 사용되는 모델의 대표작은 작년 말에 나온 ChatGPT가 있다. 자연어 생성 모델의 대표작인 ChatGPT가 있다면 이미지 모델에선 Vision Tansformer(ViT)가 다양한 모델의 백본(backbone)으로 사용되고 있다. 트랜스포머가 쏘아올린 작은 공은 많은 분야에 큰 반향을 불러왔다. 오늘은 이 transformer를 pytorch 공식 코드를 보며 이해해 보고 빠르게 구현까지 해보자.   Optionalattentionattention 함수를 정의하면 정말 간단하게 나타난다. query Q, key K, value V 3개의 계산이 정말 한 큐에 끝난다. 수식이 간단하기 때문이다.   import numpy as npimport soft..
lu.na
'분류 전체보기' 카테고리의 글 목록 (4 Page)