728x90 반응형 SMALL Learning-driven Methodology112 [LightGBM] Python 패키지 (1) 설치 pip install lightgbm 데이터 인터페이스 LightGBM Python 모듈은 다음에서 데이터를 로드할 수 있다. LibSVM (zero-based) / TSV / CSV 형식 텍스트 파일 NumPy 2D 배열, pandas DataFrame, H2O DataTable의 프레임, SciPy 희소 행렬 LightGBM 바이너리 파일 LightGBM Sequence개체 데이터는 Dataset개체에 저장된다. import numpy as np # LibSVM(0 기반) 텍스트 파일 또는 LightGBM 바이너리 파일을 Dataset에 로드하려면: train_data = lgb.Dataset('train.svm.bin') # numpy 배열을 Dataset에 로드하려면: data = np.ra.. 2022. 6. 28. LightGBM LightGBM LightGBM은 트리 기반 학습 알고리즘을 사용하는 그래디언트 부스팅 프레임워크이다. 다음과 같은 이점이 있는 분산 및 효율적으로 설계되었다. 더 빠른 훈련 속도와 더 높은 효율성 메모리 사용량을 줄임 더 나은 정확도 병렬, 분산 및 GPU 학습 지원 대규모 데이터를 처리할 수 있음 https://lightgbm.readthedocs.io/en/latest/index.html Welcome to LightGBM’s documentation! — LightGBM 3.3.2.99 documentation © Copyright 2022, Microsoft Corporation. Revision df14e607. lightgbm.readthedocs.io 2022. 6. 28. [Deep Learning] 전이 학습 (Transfer Learning) (4) 심층 전이 학습의 유형 도메인 적응 (Domain Adaptation) 도메인 적응은 소스 도메인과 대상 도메인이 서로 다른 기능 공간과 분포를 갖는 전이 학습 시나리오이다. 도메인 적응은 목표 학습자의 성능을 향상시키기 위해 정보를 전달하기 위해 하나 이상의 소스 도메인을 조정하는 프로세스이다. 이 프로세스는 소스의 배포를 대상의 배포에 더 가깝게 만들기 위해 소스 도메인을 변경하려고 시도한다. 도메인 혼란 (Domain Confusion) 신경망에서 서로 다른 계층은 기능의 서로 다른 복잡성을 식별한다. 완벽한 시나리오에서 우리는 이 기능 도메인을 불변으로 만들고 도메인 간 전송성을 향상시키는 알고리즘을 개발할 것이다. 소스 도메인과 대상 도메인 간의 기능 표현은 이러한 컨텍스트에서 가능한 한 유사해.. 2022. 6. 21. [Deep Learning] 전이 학습 (Transfer Learning) (3) 미리 훈련된 기성 모델 미세 조정 이것은 사전 훈련된 모델에서 추출한 특징에 직접적으로 의존하고 최종 레이어를 교체할 뿐만 아니라 이전 레이어 중 일부를 선택적으로 다시 훈련하는 보다 매력적인 기술이다. 심층 신경망은 계층 구조이며 조정 가능한 하이퍼파라미터가 많다. 초기 레이어의 역할은 일반적인 기능을 캡처하는 반면, 나중 레이어는 당면한 명시적 작업에 더 중점을 둔다. 기본 모델에서 고차 기능 표현을 미세 조정하여 특정 작업과 더 관련성 있게 만드는 것이 좋다. 훈련에서 일부를 고정시키면서 모델의 일부 레이어를 다시 훈련할 수 있다. 다음 그림은 객체 감지 작업에 대한 예를 보여준다. 여기서 네트워크의 초기 하위 계층은 매우 일반적인 기능을 학습하고 상위 계층은 작업별 기능을 학습한다. 동결 vs 미.. 2022. 6. 21. [Deep Learning] 전이 학습 (Transfer Learning) (2) 전이 학습 일반적인 접근 방식 도메인의 유사성을 기반으로 그리고 훈련을 위해 존재하는 데이터 샘플의 유형과 무관하게 전이 학습 전략을 분류하는 또 다른 방법이 있다. 동종 전이 학습 (Homogeneous Transfer Learning) 도메인이 동일한 기능 공간에 있는 상황을 처리하기 위해 동종 전이 학습 접근 방식이 개발 및 제안된다. Homogeneous Transfer learning에서 도메인은 주변 분포에서 약간의 차이만 있다. 이러한 접근 방식은 표본 선택 편향 또는 공변량 이동을 수정하여 영역을 조정한다. 인스턴스 이전 (Instance transfer) 소스 도메인에는 많은 양의 레이블이 지정된 데이터가 있고 대상 도메인에는 제한된 수가 있는 간단한 시나리오를 다룬다. 도메인과 기능 공.. 2022. 6. 21. [Deep Learning] 전이 학습 (Transfer Learning) (1) 전이 학습 (Transfer Learning) 불가능하지는 않더라도 훈련을 위해 제한된 양의 데이터만 사용하여 만족스러운 모델 성능 (모델 정확도)을 얻는 것은 까다롭다. 다행히도, 바로 이 문제를 해결하는 해결책이 있는데, 그것은 Transfer Learning이라는 이름으로 통한다. 전이 학습은 사전 훈련된 모델을 새로운 작업에 대한 모델의 시작점으로 재사용하는 기계 학습 방법이다. 간단히 말해서, 한 작업에서 훈련된 모델은 두 번째 작업을 모델링할 때 빠른 진행을 허용하는 최적화로 관련 작업에서 용도가 변경된다. 새로운 작업에 전이 학습을 적용하면 적은 양의 데이터로 훈련하는 것보다 훨씬 더 높은 성능을 얻을 수 있다. 전이 학습은 너무 일반적이어서 이미지 또는 자연어 처리 관련 작업에 대한 모델을.. 2022. 6. 21. [Deep Learning] 딥러닝 프레임워크 비교 딥러닝 프레임워크 비교 장점 단점 텐서플로우 (TensorFlow) 텐서보드 (TensorBoard)를 통해서 파라미터 변화 양상이나 DNN의 구조를 알 수 있다. 메모리를 효율적으로 사용하지 못한다. 케라스 (Keras) 배우기 쉽고 모델을 구축하기 쉽다. 오류가 발생할 경우 케라스 자체의 문제인지 백엔드 (back-end)의 문제인지 알 수 없다. 토치 (Torch) 간단하고 직관적인 학습과 속도 대비 빠른 최적화가 가능하다. 텐서플로우에 비해 사용자층이 얕고, 예제 및 자료를 구하기 힘들다. 텐서플로우 (TensorFlow) 텐서플로는 구글이 개발한 오픈소스 소프트웨어 라이브러리이며 머신러닝과 딥러닝을 쉽게 사용할 수 있도록 다양한 기능을 제공한다. 텐서플로는 데이터 플로우 그래프 (Data Flo.. 2022. 5. 19. [Deep Learning] 딥러닝 프레임워크 (Deep Learning Framework) 딥러닝 프레임워크 (Deep Learning Framework) 딥러닝에 사용되는 인공신경망 알고리즘에는 DNN, CNN, RNN, RBM, DBN 등 다양한 형태의 수많은 알고리즘이 개발되어 활용되고 있으며, 하나의 문제를 해결하기 위해 두 개 이상의 알고리즘을 혼합하여 사용하는 경우도 많아졌다. 이렇게 이미 검증된 알고리즘을 사용할 때마다 계속해서 새롭게 구현해야 한다는 것은 매우 비효율적 방식이다. 딥러닝 프레임워크는 이렇게 이미 검증된 수많은 라이브러리와 사전 학습까지 완료된 다양한 딥러닝 알고리즘을 제공함으로써, 개발자가 이를 빠르고 손쉽게 사용할 수 있도록 해준다. 이를 통해 중복적인 기능을 구현해야 하는 소모적인 작업으로부터 개발자를 해방시켜, 문제 해결을 위한 핵심 알고리즘 개발에만 집중할.. 2022. 5. 19. [Machine Learning] MLOps MLOps (Machine Learning Operations) MLOps는 머신러닝 작업 (Machine Learning Operations)을 뜻한다. MLOps는 ML 모델을 프로덕션으로 전환하는 프로세스를 간소화하고, 뒤이어 이를 유지관리하고 모니터링하는 데 주안점을 둔 ML 엔지니어링의 핵심 기능이다. MLOps는 협업 기능이며, 주로 데이터 사이언티스트, DevOps 엔지니어, IT로 구성된다. MLOps는 ML과 AI 솔루션 제작과 품질에 대한 유용한 접근법이다. 데이터 사이언티스트와 ML 엔지니어는 MLOps 방식을 채택하여 협업을 추진하고 모델 개발과 프로덕션 속도를 증강할 수 있다. 이를 위해 ML 모델의 적절한 모니터링, 검증과 governance를 포함해 지속적인 통합과 배포 (CI.. 2022. 5. 11. [XGBoost] Python Package Introduction (3) Prediction 훈련되거나 로드된 모델은 데이터 세트에 대한 예측을 수행할 수 있다. # 7 entities, each contains 10 features data = np.random.rand(7, 10) dtest = xgb.DMatrix(data) ypred = bst.predict(dtest) 훈련 중에 조기 중지가 활성화된 경우 다음을 사용하여 최상의 반복에서 예측을 얻을 수 있다 bst.best_iteration. ypred = bst.predict(dtest, iteration_range=(0, bst.best_iteration + 1)) Plotting 플로팅 모듈을 사용하여 중요도 및 출력 트리를 그릴 수 있다. 중요도를 표시하려면 xgboost.plot_importance()를 사.. 2022. 5. 9. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음 728x90 반응형 LIST