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

Learning-driven Methodology108

[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.
[Machine Learning] 무작위 탐색 (RandomizedSearchCV) 무작위 탐색 (RandomizedSearchCV) Random Search는 Grid Search의 단점들을 조금 보완하고자 나온 방법이다. 말 그대도 파라미터의 범위를 선정하고 값을 랜덤으로 설정하여 파라미터를 조합하고 평가하는 방식이다. Grid Search와 방식 자체는 유사하나 Grid Search보다 근사 최적값을 빨리 찾을 수 있다. 또한, 격자 형식의 Grid Search와 다르게 그 사이값들도 랜덤으로 탐색할 수 있기 때문에 그 안에서 더 좋은 값을 찾을 수 있다는 장점도 있다. 즉, 몇 번 학습과 평가를 반복할 것인지 시도의 수를 직접 설정할 수 있기 때문에 비교적 시간이 적게 걸린다. RandomizedSearchCV 가 사용하는 인자들은 GridSearchCV와 거의 동일하지만, n_.. 2023. 7. 10.
[Machine Learning] 그리드 탐색 (GridSearchCV) 그리드 탐색 (GridSearchCV) 머신 러닝에서 하이퍼파라미터란 간단하게 말해 사용자의 입력값 또는 설정 가능한 입력값이라고 이해할 수 있다. 사용할 데이터에 따라 가장 적합한 모델과 모델의 하이퍼파라미터값이 다르다. sklearn의 모듈 GridSearchCV는 머신 러닝 알고리즘에 사용되는 하이퍼 파라미터를 입력해 학습하고 검증하면서 가장 좋은 파라미터를 알려준다. 따라서, 학습하려는 하이퍼파라미터와 값 범위를 지정하기만 하면 GridSearchCV는 교차 검증을 사용하여 하이퍼파라미터 값의 가능한 모든 조합을 수행한다. 매개 변수 estimator 모델 객체 지정 param_grid 하이퍼파라미터 목록을 dictionary로 전달 scoring 평가 지표 cv 교차 검증시 fold 개수 n_j.. 2023. 7. 10.
728x90
반응형
LIST