로시스틱 회귀
로지스틱 회귀는 기계 학습, 데이터 과학, 사회 과학 등 다양한 분야에서 이진 결과를 예측하기 위해 널리 사용되는 기본적인 통계 방법이다. 연속 값을 예측하는 선형 회귀와 달리 로지스틱 회귀는 응답 변수가 범주형인 분류 문제를 처리하도록 특별히 설계되었다. 이는 스팸 감지, 의료 진단, 신용 사기 예방과 같은 시나리오를 위한 도구로써 사용되고 있다. 로지스틱 회귀는 다목적이며 다양한 도메인에서 응용 프로그램을 사용하고 있는데, 헬스케어로 진단 변수를 기반으로 환자가 특정 질병에 걸릴 확률을 추정하며, 회복률이나 사망률과 같은 환자 결과를 예측한다. 또한 차용인이 대출을 불이행할 가능성을 평가하며, 거래 데이터의 패턴을 평가하여 사기 거래를 식별하는데 많은 도움을 주고 있다. 마케팅 부분으로써 고객이 서비스 또는 구독을 중단할지 여부를 예측할 수 있으며, 고객이 마케팅 캠페인에 반응할 확률을 결정할 수 있게 한다. 설문조사 분석을 통해 특정 행동이나 의견에 영향을 미치는 요인을 파악하기 위해 분석을 하며 , 인구 통계 및 여론 조사 데이터를 기반으로 선거 결과를 미리 예측할 수 있게 계산을 할 수 있다. 로지스틱 회귀에 대한 장단점이 있는데 , 장점으로는 비교적 구현하기 쉽고 계산 효율성이 높기 때문에 대규모 데이터세트에 적합한 방법이며, 계수는 종속 변수에 대한 각 독립 변수의 영향에 대한 통찰력을 제공한다. 또한 분류뿐만 아니라 각 예측과 관련된 확률도 제공하며, 과대적합 경향이 적다. 특히 예측변수의 수가 관측치의 수보다 적은 경우에 해당한다. 단점으로는 독립 변수와 종속 변수의 로그 확률 사이에 선형 관계가 있다고 가정한다. 이는 모든 경우에 적용되지 않을 수 있는 단점이 있다. 또한 불균형 데이터에 민감하다. 클래스가 불균형하면 성능이 저하될 수 있으며 리샘플링이나 합성 데이터 생성과 같은 기술이 필요하게 된다. 다른 알고리즘만큼 민감하지는 않지만 특성 스케일링은 성능과 수렴 속도를 향상할 수 있으며, 다항 로지스틱 회귀와 같은 확장이 존재하더라도 기본 로지스틱 회귀는 본질적으로 이진이라는 단점이 존재한다. 로지스틱 회귀는 통계 모델링 및 기계 학습 영역의 초석으로서 이진 분류 문제에 대한 간단하면서도 효과적인 접근 방식을 제공하며, 단순성, 해석 가능성 및 효율성으로 인해 다양한 영역의 실무자에게 매력적인 선택이 될 수 있다. 신용 사기 탐지 시스템을 구축하든, 고객 이탈을 예측하든, 설문 조사 데이터를 분석하든 로지스틱 회귀를 이해하고 활용하면 신용사기방지에 대한 구축을 현명하게 할 수 있게 된다.
SVM(지원 벡터 머신)
SVM(지원 벡터 머신)은 분류, 회귀 및 이상치 감지 작업에 사용되는 강력하고 다양한 종류의 지도형 머신 러닝 알고리즘이다. 고차원 공간에서의 효율성으로 유명한 SVM은 데이터 과학자 및 기계 학습 실무자의 툴킷의 필수 요소가 되었다. 이 포괄적인 가이드에서는 SVM의 기본 사항을 자세히 살펴보고 SVM의 작동 방식, 애플리케이션, 장점 및 제한 사항은 물론 유틸리티를 설명하는 실제 사례를 살펴볼 것이다. 기본적으로 Support Vector Machine은 분류 및 회귀 분석을 위해 데이터를 분석하는 지도 학습 모델이며, SVM의 주요 목표는 기능이 풍부한 공간에서 다양한 클래스의 데이터 포인트를 가장 잘 분리하는 최적의 초평면을 찾는 것이다. 이 초평면은 초평면과 각 클래스의 가장 가까운 데이터 점(지원 벡터라고 함) 사이의 거리인 마진을 최대화다. SVM에 대한 작동원리는 여러가지가 있는데 서포트 벡터는 초평면에 가장 가까운 데이터 점이며 초평면의 위치와 방향을 정의하는 데 중추적인 역할을 한다. 이러한 점은 마진에 직접적인 영향을 미치기 때문에 매우 중요하게 작용한다. 그것들을 제거하면 초평면이 변경되며, 기본적으로 지원 벡터는 분류하기 가장 어려운 데이터 포인트이므로 SVM 효율성의 핵심이라고 볼 수 있다. 마진은 초평면과 두 클래스 중 가장 가까운 지원 벡터 사이의 거리이다. SVM은 보이지 않는 데이터에 대한 더 나은 일반화를 보장하기 위해 이 마진을 최대화하는 것을 목표로 하고 있다. 마진이 클수록 분류기의 노이즈 민감도가 감소하고 새로운 사례를 올바르게 분류하는 능력이 향상된다. 커널 트릭은 SVM의 가장 중요한 장점 중 하나의 기능이며, 비선형 관계를 처리하는 능력을 말한다. 커널 트릭에는 원래의 특징 공간을 선형 분리가 가능한 고차원 공간으로 변환하는 작업이 포함되어 있으며, 일반적인 커널 기능은 다음과 같다. 선형 커널은 선형으로 분리 가능한 데이터에 적합하고, 다항식 커널은 기능 간의 다항식 관계를 캡처하는 방식이다. RBF(방사형 기반 함수) 커널은 데이터를 무한 차원 공간에 매핑하여 비선형 관계를 처리하고 있으며, 시그모이드 커널은 신경망의 동작을 모방한다. 적절한 커널을 선택함으로써 SVM은 고차원 공간에서 좌표를 명시적으로 계산하지 않고도 복잡한 분류를 효율적으로 수행할 수 있는 것이다.
CNN(Convolutional Neural Networks)
컨볼루션 신경망(CNN)은 주로 이미지 및 비디오 인식, 분류, 분석에 사용되는 딥러닝(Deep Learning) 알고리즘의 한 종류이다. 인간의 시각 피질 구조에서 영감을 받아 개발된 CNN은 공간적 계층 구조를 활용하여 입력 데이터의 특징을 효과적으로 추출하고 학습한다. CNN은 수동으로 특징을 추출할 필요 없이, 네트워크가 학습을 통해 중요한 특징을 자동으로 학습하며, 동일한 필터가 여러 위치에서 사용되므로 파라미터 수가 크게 줄어들게 된다. 또 위치 변화에 강건하여 객체의 위치가 조금 바뀌어도 인식을 가능하게 만든다. 주요 응용 분야로는 이미지 분류 및 인식이 있다. 예를 들어, 고양이와 개를 구분하는 이미지 분류기라고 표현할수 있다. 이미지 내에서 특정 객체를 탐지하고 경계를 지정할 수 있으며, 차량 주변의 물체를 인식하고 판단하는 데 사용된다. 의료 쪽에서는 MRI, CT 스캔 등의 의료 이미지를 분석하여 질병을 진단하게 만들어 주며, 텍스트 데이터에서도 CNN이 사용되며, 특히 문장 분류나 감성 분석 등에 활용되기도 한다. LeNet-5는 초기의 CNN 모델 중 하나로, 손글씨 숫자 인식에 사용되었고, AlexNet모델은 2012년 ImageNet 대회에서 우수한 성적을 거두며 CNN의 인기를 크게 높였다. VGGNet모델부터는 심층 네트워크 구조를 사용하여 성능을 향상했으며, ResNet는 잔차 연결(Residual Connections)을 도입하여 매우 깊은 네트워크도 효과적으로 학습할 수 있게 발전했다. CNN은 주로 역전파(Backpropagation) 알고리즘과 경사 하강법(Gradient Descent)을 사용하여 학습된다. 또한, 학습 속도와 성능을 향상하기 위해 배치 정규화(Batch Normalization), 드롭아웃(Dropout) 등의 기법이 사용되고 있다. CNN이 앞으로 필요한 부분은 대규모 데이터 요구로써 뛰어난 성능을 위해서는 대량의 학습 데이터가 필요하고, 심층 네트워크는 높은 계산 능력을 요구하며, GPU 등의 하드웨어가 필요할 수 있다. 해석 가능성도 부족하여, 네트워크가 어떻게 특정 결정을 내리는지 이해하기 어려운 '블랙박스' 문제점이 있다고 볼 수 있다.
RNN(Recurrent Neural Networks)
순환 신경망(Recurrent Neural Network, RNN)은 인공 신경망의 한 종류로, 시퀀스 데이터(순차적으로 이어진 데이터)를 처리하고 예측하는 데 특화된 구조를 가지고 있다. 일반적인 신경망과 달리, RNN은 이전의 정보(과거의 상태)를 현재의 계산에 반영할 수 있어, 시간적 또는 순차적인 의존성을 이해하고 학습하는데 유리하다고 볼 수 있다. 기본적인 RNN의 구조는 다음과 같다. 입력층(Input Layer) 시퀀스 데이터의 각 시점(t)에서 입력을 받는 역할을 하며, 은닉층(Hidden Layer)은 이전 시점의 은닉 상태(hidden state)와 현재 입력을 바탕으로 새로운 은닉 상태를 계산한다. 출력층(Output Layer)은 현재 은닉 상태를 바탕으로 출력을 생성한다. RNN은 은닉층의 출력이 다음 시점의 입력으로 재사용되기 때문에 "순환"이라는 이름이 붙었으며, 이 순환 구조 덕분에 RNN은 과거의 정보를 기억하고 이를 현재의 예측에 반영할 수 있다.
기본 RNN은 긴 시퀀스를 처리할 때 장기 의존성 문제(long-term dependency problem)에 직면한다. 이는 RNN이 긴 시퀀스에서 중요한 정보를 잃어버리거나, 기울기 소실(gradient vanishing) 문제로 인해 학습이 어려워지는 현상이다.
이를 해결하기 위해 다음과 같은 개선된 RNN 구조가 개발되기도 하였다. 먼저 LSTM(Long Short-Term Memory)은 셀 상태(cell state)와 게이트(gates)를 도입하여 장기 의존성을 효과적으로 학습할 수 있는 방법이며, GRU(Gated Recurrent Unit)는 LSTM의 간소화된 버전으로, 유사한 성능을 더 적은 파라미터로 달성하게 된다. 또한 Bidirectional RNN는 시퀀스를 양방향으로 처리하여 양쪽의 정보를 모두 활용할 수 있게 한다. 순환 신경망(RNN)은 시퀀스 데이터의 패턴을 학습하고 예측하는 데 강력한 도구로, 다양한 분야에서 널리 사용되고 있으며, 하지만 기본 RNN의 한계를 극복하기 위해 LSTM, GRU와 같은 개선된 모델들이 개발되어 더 나은 성능을 보여주고 있다.