정리 조금/Machine Learning & Statistics 10

Linear Discriminant Analysis

Linear Discriminant  Analysis`Linear Discriminant Analysis (LDA)`는 분류와 차원축소에 사용되는 기법 중 하나입니다. 차원축소에 있어 LDA는 정사영(행렬 분해)을 통해 차원을 축소한다는 점에서 Principal Component Analysis (PCA)와 비슷하지만, 그 방향은 다소 다릅니다. PCA는 원본 데이터의 분산을 최대화하는 벡터를 찾고, LDA는 클래스 정보를 분할하기에 적합한 벡터를 찾아냅니다. 또한 분류 문제에서의 LDA는 지도학습의 일종으로, 두가지 클래스를 가장 잘 나누는 초평면을 구하는 방법으로 사용됩니다. 이 처럼 `LDA`는 결정경계의 추정, 분류 문제, 단순 차원축소등 활용가능한 범위가 넓습니다.ObjectivesClassif..

SplitFed

Intro SplitFed (SFL)은 Federated Learning (FL) & Split Learning (SL)을 합쳐놓은 방법론이다. 이 내용은 아래의 논문에 등장하는데, 호주 연방과학산업연구기구 (CSIRO)에서 출판한 논문이다. 사실 이 논문의 결과는 그닥 좋지 않다... Result 부분을 보고 리뷰할까 고민이 많이 됬던 논문이다. 뒤에 언급함... 그럼에도 읽다보니 구조적으로 활용하거나 여러 개념을 조립하여 적용 가능해보여서 결국 다 읽게 되었다. 여기 논문에서는 새로운 구조 제시와 privacy protecting methods에 집중하여 논문을 전개하는데, 오늘은 논문의 구조에 대해서만 집중하여 포스트를 올린다. 그리고 혹시 FL과 SL에 대해 잘 모르겠거나 읽다가 헷갈리신다면 아래..

Split Learning

Intro Federated Learning (FL)은 여러 기관이 raw data의 공유 없이 협업이 가능하도록 하는 형태의 학습전략이다. 구조상 FL은 distributed data에 대한 학습을 진행하여, 단일 머신에서의 학습의 결과와는 다소 차이를 보일 수 밖에 없다. Split Learning (SL)은 FL과 같이 raw data의 공유 없이 단일 머신에서의 학습과 같은 결과를 낼 수 있도록 새로운 접근법을 제시한다. SL을 공부하기 전에, 이름만 들어서는 SL의 "Split"은 무얼 쪼갠다는건지 감이 안왔다. 데이터을 쪼갠다는 의미일까? 그렇다면 sample을 쪼개는걸까, feature를 쪼개는걸까? 데이터를 숨겨서 보내는 걸텐데, 어떻게 쪼갠다는거지...? 여러 생각을 하며 논문을 읽기 시..

Federated Learning

IntroFederated Learning (FL) 연합학습이란 말 그대로 여러 device 혹은 기관 (client라고 부르는) 에서 협업하여 모델을 만드는 방법 중 하나로, 각각의 client별 민감한 자료를 중앙 서버로 직접 보내지 않아도 되는 특장점이 있다. 이 방법은 간단하면서도 논문대로라면 굉장히 강력한 학습방법이 될 것이라 생각된다. FL은 머신러닝 분야에서 비교적 최근 등장한 개념이다. 2016년 arxiv에 처음 등장하였고, Google에서 제시한 기법이다. 이 논문을 처음 본 2020년 즈음에 봤을때는 피인용수가 1500회정도 였던거로 기억하는데, 2024-04-03 기준으로 15000회 정도된다. 최근 지속적으로 각광받고 있다는 방증이기도 하다. 이번 포스터에서는 이 논문에 소개된 방..

Mixed Precision (1) 정수 표현법

Intro Mixed Precision을 사용하려 보니, 옛날 컴공때 나를 스쳐 지나간 개념이 사용됬다. 제한된 bit로 어떤 숫자를 어찌 표현 가능할까? 다시 확인해보자. 정수의 표현 부호가 없는 정수 컴퓨터는 정수를 이진수로 표현한다. 가령, 8 bit는 00000000 ~ 11111111 까지 표현가능하다. 10 진수로 하자면 0 ~ 255 범위를 표현 가능하다는 사실이다. 마찬가지로 N bit는 아래만큼 표현 가능하다. $$0 \sim 2^{N}-1$$ 하지만, 이는 어디까지나 부호가 없는 정수의 표현에 해당한다. 부호가 있는 정수 Sign magnitude 부호 정보까지 표현 하려면, 주어진 bit중 하나의 bit에 부호 정보를 표시하는 방법이 있다. 예를들어, 아래처럼 가장 앞자리 bit에 1..

Multiclass Hinge Loss

Intro Computer vision을 위한 딥러닝 - linear classifier chapter를 듣다가, multiclass hinge loss에 대해 알게되었다. Multiclass support vector machine에 사용되는 loss function이라고 하는데, 처음본다. 오늘은 이 내용에 대해 구현해보자. 하나의 이미지당 하나의 객체를 담고있는 CIFAR data를 사용해 보았다. 아무래도 linear classifier는 하나에 여러개의 복잡한 객체를 담고있는 이미지는 학습이 어렵기 때문에, 그리고 강의에서도 CIFAR-10을 사용했어서 해당 데이터셋을 선택했다. Code Library import numpy as np import pandas as pd import matplo..

Permutation of Regressor Residual

Permutation of Regressor Residual Permutation of Regressor Residual (PRR)은 regression analysis에서 permutation test & covariate adjustment를 같이 할 수 있게하는 방법론이다. Permutation test 종종 적은 표본수의 경우와 같이 모수 기반의 통계기법을 사용하기 어려울 때가 있다. 이럴 때에는 여러 비모수 방법을 사용하는데 그중에서 많이 사용하는 방법으로 permutation test가 있다. 이 방법은 영가설 하에, 주어진 자료의 라벨을 섞음으로 모든 가능한 경우에 대한 영분포를 만든다. (여기서 중요한 부분은 검정 대상이 되는 변수의 관계성이 끊어져야, 원래의 관계성과는 상관없는 영분포가 ..

Principal Component Analysis

예전에 notion으로 정리해둔 개념(본문 가장 아래 영어로 정리된 부분)을 옮기고 한글로 요약한 포스터입니다. 정리 Principal component analysis (PCA)는 대표적인 차원축소 기법 중 하나이다. 기존의 데이터를 벡터에 정사영 시켜 분산을 관찰 한 뒤 가장 큰 분산을 갖는 순서대로 벡터를 선택한다. 이 방법의 아이디어는, 정사영 후에 가장 큰 분산을 갖는 벡터가 기존 데이터의 손실을 가장 적게 하는 정사영이라는 것에서 부터 나온다. PCA는 선대수에서 Spectral decomposition의 특수한 경우이며, 공분산 행렬에 대해 Eigen decomposition를 수행하여 결과를 얻을 수 있다. 여기서 eigenvalue는 explained variance이며, eigenvec..