<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Logistic Regression |</title><link>https://chaeniverse.github.io/tags/logistic-regression/</link><atom:link href="https://chaeniverse.github.io/tags/logistic-regression/index.xml" rel="self" type="application/rss+xml"/><description>Logistic Regression</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sun, 22 Sep 2024 00:00:00 +0000</lastBuildDate><image><url>https://chaeniverse.github.io/media/icon_hu_da05098ef60dc2e7.png</url><title>Logistic Regression</title><link>https://chaeniverse.github.io/tags/logistic-regression/</link></image><item><title>Logistic Regression</title><link>https://chaeniverse.github.io/blog/logistic-regression/</link><pubDate>Sun, 22 Sep 2024 00:00:00 +0000</pubDate><guid>https://chaeniverse.github.io/blog/logistic-regression/</guid><description>&lt;h2 id="logistic-regression-vs-linear-regression"&gt;Logistic Regression vs Linear Regression&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Linear regression — &lt;strong&gt;닫힌 해 (closed-form solution)&lt;/strong&gt; 가 존재 (정규방정식)&lt;/li&gt;
&lt;li&gt;Logistic regression — 닫힌 해 없음. &lt;strong&gt;최적화 기법&lt;/strong&gt; 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;좋은 logistic regression 모델은 정답 클래스에는 높은 확률을, 오답 클래스에는 낮은 확률을 부여한다.&lt;/p&gt;
&lt;h2 id="likelihood-function"&gt;Likelihood Function&lt;/h2&gt;
&lt;p&gt;모델 성능을 &lt;strong&gt;likelihood&lt;/strong&gt; — &amp;ldquo;각 데이터 포인트가 정답 클래스로 분류될 확률을 모두 곱한 것&amp;rdquo; — 로 측정한다.&lt;/p&gt;
&lt;p&gt;문제: 확률값을 계속 곱하면 값이 0에 가까워져 수치적으로 불안정. → 로그를 취해 &lt;strong&gt;log-likelihood&lt;/strong&gt; 사용.&lt;/p&gt;
&lt;h2 id="maximum-likelihood-estimation-mle"&gt;Maximum Likelihood Estimation (MLE)&lt;/h2&gt;
$$\arg\max_\theta \mathcal{L}(\theta) \;=\; \arg\max_\theta \log \mathcal{L}(\theta) \;=\; \arg\min_\theta \big(-\log \mathcal{L}(\theta)\big)$$&lt;p&gt;데이터셋 likelihood를 최대화하는 계수 $\theta$ 를 찾는 것이 MLE. 실전에서는 보통 &lt;strong&gt;negative log-likelihood (NLL) 최소화&lt;/strong&gt; 형태로 푼다.&lt;/p&gt;
&lt;h2 id="gradient-descent"&gt;Gradient Descent&lt;/h2&gt;
&lt;p&gt;Logistic regression에는 닫힌 해가 없으므로 &lt;strong&gt;gradient descent&lt;/strong&gt; 로 반복 개선:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;가중치 $\theta$ 를 무작위로 초기화&lt;/li&gt;
&lt;li&gt;NLL의 gradient (1차 도함수) 계산&lt;/li&gt;
&lt;li&gt;Gradient의 반대 방향으로 step size $\alpha$ (learning rate) 만큼 이동&lt;/li&gt;
&lt;li&gt;수렴할 때까지 반복&lt;/li&gt;
&lt;/ol&gt;
$$\theta^{(t+1)} = \theta^{(t)} - \alpha \cdot \nabla_\theta \big(-\log \mathcal{L}(\theta^{(t)})\big)$$&lt;h2 id="예측-및-분류"&gt;예측 및 분류&lt;/h2&gt;
&lt;p&gt;학습된 계수로 새 데이터의 확률을 계산할 때 &lt;strong&gt;sigmoid 함수&lt;/strong&gt; 사용 — S자 곡선:&lt;/p&gt;
$$\sigma(z) = \frac{1}{1 + e^{-z}}, \qquad z = \theta^\top x$$&lt;p&gt;기본 cutoff threshold (보통 0.5) 를 적용해 확률을 이진 분류로 변환:&lt;/p&gt;
$$\hat{y} = \begin{cases} 1 &amp; \text{if } \sigma(\theta^\top x) \ge 0.5 \\ 0 &amp; \text{otherwise} \end{cases}$$&lt;p&gt;threshold는 도메인에 따라 (예: 의료에서 false negative 비용이 클 때) 0.3, 0.7 등으로 조절 가능.&lt;/p&gt;
&lt;hr&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;원문:
&lt;/p&gt;
&lt;/blockquote&gt;</description></item></channel></rss>