본문 바로가기
728x90
반응형
SMALL

Learning-driven Methodology112

[FL] P2P 구조 (PEER-TO-PEER ARCHITECTURE) P2P 구조 (PEER-TO-PEER ARCHITECTURE) 클라이언트-서버 아키텍처 외에도 HFL 시스템은 그림과 같이 P2P 구조를 사용할 수도 있다. P2P 구조에는 중앙 서버나 코디네이터가 없다. 이러한 시나리오에서 HFL 시스템의 K 참가자는 트레이너, 분산 트레이너 또는 작업자라고도 한다. 각 트레이너는 로컬 데이터만 사용하여 동일한 ML 또는 DL 모델 (ex: DNN 모델)을 학습할 책임이 있다. 또한, 트레이너는 모델 가중치를 서로 전달하기 위한 보안 채널이 필요하다. 두 트레이너 간의 안전한 통신을 보장하기 위해 공개 키 기반 암호화 체계와 같은 보안 조치를 채택할 수 있다. 중앙 서버가 없기 때문에 트레이너들이 모델 가중치를 주고받는 순서에 미리 동의해야 한다. 이를 수행하는 방법은.. 2023. 9. 26.
[FL] 클라이언트-서버 구조 (CLIENT-SERVER ARCHITECTURE) 수평적 연합 학습의 구조 HFL 시스템의 일반적인 클라이언트-서버 아키텍처는 그림과 같으며 이는 마스터-작업자 아키텍처라고도 한다. 이 시스템에서는 동일한 데이터 구조를 가진 K 참가자 (클라이언트, 사용자 또는 당사자라고도 함)가 서버 (매개변수 서버 또는 집계 서버 또는 코디네이터라고도 함)의 도움을 받아 기계 학습 (ML) 모델을 공동으로 훈련한다. 일반적인 가정은 참가자가 정직한 반면 서버는 정직하지만 호기심이 많다는 것이다. 따라서, 목표는 모든 참가자의 정보가 서버로 유출되는 것을 방지하는 것이다. 이러한 HFL 시스템의 훈련 과정은 일반적으로 다음 네 단계로 구성된다. • 1단계 : 참가자는 로컬에서 그레디언트를 계산하고, 암호화, 차등 프라이버시 또는 비밀 공유 기술을 사용하여 그레디언트 .. 2023. 9. 26.
[FL] 수평적 연합 학습 (Horizontal Federated Learning) 수평적 연합 학습 (Horizontal Federated Learning) HFL, 일명 샘플 ​​분할 연합 학습 또는 예제 분할 연합 학습은 서로 다른 사이트의 데이터 세트가 겹치는 기능 공간을 공유하지만 샘플 공간이 다른 시나리오에 적용될 수 있다. 이는 테이블 형식 뷰 내에서 데이터가 수평으로 분할되는 상황과 유사하다. 실제로 "수평"이라는 단어는 "수평 파티션"이라는 용어에서 유래했다. 이는 데이터베이스의 전통적인 테이블 형식 보기의 맥락에서 널리 사용된다 (ex: 테이블의 행은 서로 다른 그룹으로 수평으로 분할되고 각 행에는 완전한 데이터와 기능이 포함됨). 예를 들어, 두 지역 은행은 해당 지역과 매우 다른 사용자 그룹을 가질 수 있으며 사용자의 교차 집합은 매우 작다. 그러나 그들의 비즈니스.. 2023. 9. 26.
[Machine Learning] 클래스 가중치 (Class Weight) 클래스 가중치 (Class Weight) from sklearn.model_selection import GridSearchCV from sklearn.ensemble import RandomForestClassifier # 분류기와 파라미터 그리드 정의 classifier = RandomForestClassifier() param_grid = { 'class_weight': ['balanced', None], 'max_depth': [3, 5, 10], 'n_estimators': [80, 100, 150] } # GridSearchCV를 사용하여 최적의 파라미터 찾기 grid_search = GridSearchCV(classifier, param_grid, cv=5) grid_search.fit(X_.. 2023. 9. 22.
연합 학습 (Federated Learning) 연합 학습 (Federated Learning) 연합 학습 (협업 학습이라고도 함)은 각각 자체 데이터 세트를 사용하는 여러 독립 세션을 통해 알고리즘을 훈련하는 기계 학습 기술이다. 이 접근 방식은 로컬 데이터 세트가 하나의 교육 세션으로 병합되는 전통적인 중앙 집중식 기계 학습 기술뿐만 아니라 로컬 데이터 샘플이 동일하게 분포되어 있다고 가정하는 접근 방식과도 대조된다. 연합 학습을 사용하면 여러 행위자가 데이터를 공유하지 않고도 공통적이고 강력한 기계 학습 모델을 구축할 수 있으므로 데이터 개인 정보 보호, 데이터 보안, 데이터 액세스 권한 및 이기종 데이터에 대한 액세스와 같은 중요한 문제를 해결할 수 있다. 해당 애플리케이션은 국방, 통신, 사물인터넷 , 제약 등의 산업에 적용된다. 주요 공개 .. 2023. 9. 20.
[Deep Learning] 방사형 기저 함수 신경망 (Radial Basis Function Network) 방사형 기저 함수 (Radial Basis Function) RBF (방사형 기저 함수)는 값이 원점 또는 특정 지점으로부터의 거리에 따라 달라지는 실수 값 함수이다. 신경망에서 활성화 함수 역할을 하는 기계 학습을 포함하여 다양한 분야에서 널리 사용된다. RBF 활성화 함수는 데이터를 선형적으로 분리할 수 없는 문제에 특히 유용하다. 입력 공간을 데이터가 선형적으로 분리 가능한 고차원 공간으로 매핑할 수 있으므로 복잡한 분류 문제에 대한 강력한 도구가 된다. 방사형 기저 함수 신경망 (Radial Basis Function Network) 방사 신경망은 왕립신호 및 레이더 연구소의 연구원인 브룸헤드 (Broomhead)와 로우 (Lowe)에 의해 1988년 논문에서 처음 공식화되었다. 방사 신경망은 다.. 2023. 7. 17.
CatBoost CatBoost CatBoost는 Yandex에서 개발한 오픈 소스 소프트웨어 라이브러리이다. 이는 다른 기능 중에서 클래식 알고리즘과 비교하여 순열 기반 대안을 사용하여 범주형 기능을 해결하려고 시도하는 그레디언트 부스팅 프레임워크를 제공한다. pip install catboost import numpy from catboost import CatBoostRegressor dataset = numpy.array([[1,4,5,6], [4,5,6,7], [30,40,50,60], [20,15,85,60]]) train_labels = [1.2, 3.4, 9.5, 24.5] model = CatBoostRegressor(learning_rate=1, depth=6, loss_function='RMSE') .. 2023. 7. 12.
[Machine Learning] Boosting Methods (3) LightBoost LGBM (Light Gradient Boosting Machine)은 2017년 마이크로소프트에서 처음 출시되었으며 사용자가 선호하는 또 다른 Gradient Boosting 방법이며 의사 결정 트리 기반이다. 다른 방법과의 핵심적인 차이점은 잎을 기준으로 트리를 분할한다는 것이다. 즉, 포인트 촬영에 필요한 단위를 감지하고 중지할 수 있다 (다른 것은 깊이 기반 또는 레벨 기반임). LGBM은 잎 기반이므로 오차를 줄여 정확도와 속도를 높이는 측면에서 매우 효과적인 방법이다. 특수 알고리즘을 사용하여 범주형 데이터를 분할할 수 있지만 열의 문자열 이름 대신 인덱스와 같은 정수 값을 입력해야 한다. import numpy as np from time import time from l.. 2023. 7. 11.
[Machine Learning] Boosting Methods (2) XGBoost XGBoost (Extreme Gradient Boost)는 2014년 Tianqi Chen에 의해 처음 개발되었으며 그레디언트 부스트보다 훨씬 빠르기 때문에 선호되는 부스팅 방법이다. XGBoost는 확장 가능하고 매우 정확한 그레디언트 부스팅 구현으로 트리 알고리듬을 강화하기 위한 컴퓨팅 성능의 한계를 푸시하며 주로 기계 학습 모델 성능 및 계산 속도를 활성화하기 위해 구축된다. XGBoost를 사용하면 GBDT와 같이 순차적으로 트리가 아닌 병렬로 구축된다. 그것은 그레디언트 값을 스캔하고 이러한 부분 합계를 사용하여 훈련 세트에서 가능한 모든 분할에서 분할의 품질을 평가하는 level-wise (수준별) 전략을 따른다. 포함된 하이퍼파라미터 덕분에 정규화 하이퍼파라미터가 과적합을 방.. 2023. 7. 11.
[Machine Learning] Boosting Methods (1) Boosting Methods 앙상블 학습에서는 여러 학습 알고리즘으로 모델을 가장 성공적으로 훈련시키는 것을 목표로 한다. 앙상블 학습 중 하나인 배깅 방법에서는 동일한 데이터 세트의 서로 다른 하위 샘플에 두 개 이상의 모델을 병렬로 적용했다. 또한, 다른 방법이며 실제로 자주 사용되는 부스팅은 병렬 대신 순차적으로 구축되며 모델 훈련뿐만 아니라 알고리즘 훈련을 목표로 한다. 약한 알고리즘은 모델을 훈련시킨 다음 훈련 결과에 따라 재구성되고 학습하기 쉬워진다. 이 수정된 모델은 다음 알고리즘으로 전송되고 두 번째 알고리즘은 첫 번째 알고리즘보다 쉽게 학습된다. AdaBoost Adaptive Boost (Adaboost)는 의사 결정 나무에 기반한 분계점이 할당되고 분계점에 따라 예측이 이루어진다. .. 2023. 7. 11.
728x90
반응형
LIST