전체 글

전체 글

    S/W Architecture - 시스템 구조 설명 View

    SW 아키텍처 문서 작성 시 다양한 관점(View)을 통해 시스템의 구조와 동작을 설명할 수 있는데, 주로 사용되는 View는 Context View, Module View, Behavior View, Deployment View입니다. 각 View는 서로 다른 측면에서 시스템을 분석하고 설명하는 역할을 하며, 차이점을 비교해보면 다음과 같습니다:1. Context View목적: 시스템의 외부 환경과 상호작용을 설명주요 내용: 시스템이 외부 엔티티(사용자, 다른 시스템 등)와 어떻게 상호작용하는지를 다룬다. 즉, 시스템의 경계를 정의하고 외부에서 시스템으로 들어오거나 나가는 데이터를 설명한다.예시: 시스템이 어떤 외부 서비스와 통신하는지, 사용자 인터페이스(UI)와의 상호작용은 어떤 방식으로 이루어지는지..

    [Tensorflow] ReduceLROnPlateau CallBack 정리

    ReduceLROnPlateau 콜백은 Keras에서 학습 과정 중에 모델의 성능이 향상되지 않을 때 학습률(Learning Rate)을 줄여주는 역할을 합니다. 학습률을 적절하게 조정하면 모델이 더 나은 성능을 낼 수 있는데, 이 콜백은 성능이 개선되지 않으면 학습률을 자동으로 감소시켜 학습의 안정성과 최적화 효율성을 높여줍니다.주요 파라미터:monitor: 성능을 평가할 지표(예: val_loss나 accuracy)를 지정합니다. 기본값은 val_loss입니다.factor: 학습률을 얼마나 줄일지 설정합니다. 예를 들어, factor=0.1이면 학습률을 10%로 줄입니다.patience: 성능 개선이 없을 때 학습률을 줄이기 전에 기다릴 에포크 수를 지정합니다.min_lr: 학습률이 이 값 이하로 내..

    [차원축소] LDA (Linear Discriminant Analysis)

    차원 축소는 데이터 분석과 머신러닝에서 중요한 역할을 하는 기법입니다. 차원이 높은 데이터는 분석하기 어렵고, 과적합 문제나 계산 복잡도를 증가시킬 수 있기 때문에 이를 효과적으로 낮추는 방법이 필요합니다. LDA는 차원 축소 기법 중 하나로, 특히 분류 문제에서 강력한 성능을 발휘합니다.LDA는 데이터의 차원을 줄이면서도 각 클래스 간의 분리도를 최대화하는 방법을 찾습니다. 이는 학습 데이터의 선형 조합을 사용하여 새 좌표 공간을 만들고, 그 공간에서 클래스 간의 경계를 명확하게 정의할 수 있도록 합니다. LDA는 주로 데이터가 여러 개의 클래스로 구분되어 있는 경우에 유용하며, 새로운 차원에서 클래스 간의 분리도를 최대화하는 방식으로 차원을 축소합니다.주요 아이디어LDA의 핵심은 차원 축소를 통해 데..

    선형회귀 Regularization(Lasso, Ridge 등) 수행 시 연속형 변수의 표준화가 수렴속도에 미치는 영향

    선형회귀 Regularization(Lasso, Ridge 등) 수행 시 연속형 변수의 표준화가 수렴속도에 미치는 영향

    선형 회귀에서 회귀계수에 대해 Regularization(정규화)을 할 때, 연속형 변수에 대한 표준화 또는 정규화가 매우 중요합니다. 그 이유는 다음과 같습니다.회귀계수의 크기:정규화 기법들(L1 정규화(Lasso)나 L2 정규화(Ridge))은 회귀계수의 크기를 제어하는 데 사용됩니다. 만약 독립 변수들의 스케일이 다르면, 스케일이 큰 변수는 더 큰 회귀계수를 가지게 되어 정규화의 효과가 비대칭적으로 적용될 수 있습니다.정규화 페널티의 일관성:L1 및 L2 정규화는 페널티 항을 추가하여 회귀계수를 줄이는 방식입니다. 이 때, 변수들의 스케일이 동일하지 않으면 페널티가 각 변수에 공평하게 적용되지 않아 모델이 왜곡될 수 있습니다.수렴 속도:표준화된 데이터는 경사 하강법과 같은 최적화 알고리즘의 수렴 속..

    데이터 스누핑 편향이란?

    데이터 스누핑 편향데이터 과학과 머신러닝 프로젝트를 진행하다 보면, 데이터를 탐색하고 분석하는 과정에서 주의해야 할 여러 가지 편향이 발생할 수 있습니다. 그 중 하나가 바로 데이터 스누핑 편향(data snooping bias)입니다. 이 글에서는 데이터 스누핑 편향이 무엇인지, 왜 발생하는지, 그리고 이를 방지하는 방법에 대해 알아보겠습니다.데이터 스누핑 편향이란?데이터 스누핑 편향은 데이터를 반복적으로 탐색하고 분석하여 얻은 결과를 바탕으로 모델을 구축함으로써 발생하는 통계적 편향입니다. 이는 데이터를 과도하게 탐색한 결과, 실제로는 존재하지 않는 패턴을 발견하게 되어 모델이 잘못된 결론을 도출하게 되는 현상입니다. 이러한 편향은 특히 모델을 평가할 때 문제가 되며, 과적합(overfitting)의..

    [Poetry] requirements.txt 파일로 Poetry에 import 하기

    먼저, 파이썬 프로젝트 관리를 위해 Poetry를 사용하는 분들이 많습니다. 이 글을 읽으시는 분들은 Poetry를 처음 활용하여 기존의 requirements.txt를 이용한 환경을 변환하기 위한 분일 것이라 생각합니다. Poetry는 훌륭한 선택이며, Poetry가 표준으로 자리 잡기를 희망합니다.이제 더 이상 간소한 requirements.txt 파일을 사용하지 않고 의존성을 Poetry로 옮기고, 올바른 버전 추적을 포함한 모든 것을 처리하게 할 차례입니다.이미 Poetry 프로젝트를 초기화하고 프로젝트 루트에 pyproject.yml 파일이 있는 것으로 가정합니다. 그렇지 않은 경우 다음 명령을 실행하여 Poetry를 사용하여 파이썬 프로젝트를 초기화합니다:poetry init이제 require..