<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Dsaint31's blog</title>
    <link>https://dsaint31.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Thu, 30 Jul 2026 15:13:49 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>dsaint31x</managingEditor>
    <image>
      <title>Dsaint31's blog</title>
      <url>https://t1.daumcdn.net/cfile/tistory/132B40114A31F35E0F</url>
      <link>https://dsaint31.tistory.com</link>
    </image>
    <item>
      <title>HalfNormal Distribution</title>
      <link>https://dsaint31.tistory.com/965</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;HalfNormal distribution(반정규분포)은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;평균이 0인 Normal distribution에서 음수 값을 제거한 뒤,&lt;/li&gt;
&lt;li&gt;남은 확률밀도를 다시 정규화하여 만든 확률분포.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가능한 값은 항상 0 이상이며,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;standard deviation(표준편차)와 같이 음수가 될 수 없는 parameter(모수)를 표현하는 데 널리 사용됨.&lt;br /&gt;(PyMC 등의 MCMC 기반 Bayesian framework 에서 prior distribution으로 자주 사용됨.)&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;정규분포에서 HalfNormal 분포로&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mean, $\mu=0$ 이고 standard deviation 이 $\sigma$인 normal distirbution 은 다음과 같이 표기됨:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;Z \sim \mathcal{N}(0,\sigma^2)&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Normal distribution(정규분포)는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;0을 중심으로 좌우가 대칭이며,&lt;/li&gt;
&lt;li&gt;전체 면적은 1이다.&lt;/li&gt;
&lt;li&gt;따라서 양수 영역과 음수 영역의 면적은 각각 0.5를 차지.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;390&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NMt92/dJMcaaTDo1E/Kh3K6oKNPGuEBnSR8j95L0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NMt92/dJMcaaTDo1E/Kh3K6oKNPGuEBnSR8j95L0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NMt92/dJMcaaTDo1E/Kh3K6oKNPGuEBnSR8j95L0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNMt92%2FdJMcaaTDo1E%2FKh3K6oKNPGuEBnSR8j95L0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;650&quot; height=&quot;367&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;390&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;code:&lt;/p&gt;
&lt;pre class=&quot;lsl&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;import numpy as np
import matplotlib.pyplot as plt

sigma = 1

x = np.linspace(-4, 4, 1000)

pdf = (
    1/(sigma*np.sqrt(2*np.pi))
    * np.exp(-x**2/(2*sigma**2))
)

plt.figure(figsize=(7,4))
plt.plot(x, pdf, lw=2)
plt.fill_between(x, pdf, where=(x&amp;gt;=0), alpha=0.3)
plt.fill_between(x, pdf, where=(x&amp;lt;0), alpha=0.3)
plt.axvline(0, ls=&quot;--&quot;, color=&quot;k&quot;)
plt.xlabel(&quot;x&quot;)
plt.ylabel(&quot;Density&quot;)
plt.tight_layout()
plt.show()&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HalfNormal distribution은 Normal distribution에서 절댓값을 취한 분포와 동일:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ X=|Z| $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 다음이 성립:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;Z\sim\mathcal N(0,\sigma^2) \\&lt;br /&gt;X\sim\operatorname{HalfNormal}(\sigma)&lt;br /&gt;$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;음수 영역의 확률이 모두 양수 영역으로 접히므로,&lt;/li&gt;
&lt;li&gt;양수 영역의 확률밀도는 기존 Normal distribution 보다 두 배 커진다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;f_{\text{HalfNormal}}(x) = 2f_{\text{Normal}}(x), \qquad x\ge0&lt;br /&gt;$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;HalfNormal의 확률밀도함수 (PDF)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HalfNormal distribution의 확률밀도함수는 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;f(x) =&lt;br /&gt;\sqrt{\frac{2}{\pi}}&lt;br /&gt;\frac1{\sigma}&lt;br /&gt;\exp\left(&lt;br /&gt;-\frac{x^2}{2\sigma^2}&lt;br /&gt;\right),&lt;br /&gt;\qquad x\ge0&lt;br /&gt;\\&lt;br /&gt;\text{where, } \\&lt;br /&gt;f(x)=0,\qquad x&amp;lt;0&lt;br /&gt;$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;곡선 아래의 전체 면적은 1이며,&lt;/li&gt;
&lt;li&gt;확률밀도는 $x=0$에서 가장 크고 이후 계속 감소.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;390&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqk3sy/dJMcafgonAO/iUl3scxorter1eFqV4aH10/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqk3sy/dJMcafgonAO/iUl3scxorter1eFqV4aH10/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqk3sy/dJMcafgonAO/iUl3scxorter1eFqV4aH10/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbqk3sy%2FdJMcafgonAO%2FiUl3scxorter1eFqV4aH10%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;650&quot; height=&quot;367&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;390&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre class=&quot;python&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;import numpy as np
import matplotlib.pyplot as plt

sigma = 1

x = np.linspace(0,4,1000)

pdf = (
    np.sqrt(2/np.pi)/sigma
    * np.exp(-x**2/(2*sigma**2))
)

plt.figure(figsize=(7,4))
plt.plot(x,pdf,lw=2)
plt.fill_between(x,pdf,alpha=0.3)
plt.scatter([0],[pdf[0]],color=&quot;red&quot;)
plt.xlabel(&quot;x&quot;)
plt.ylabel(&quot;Density&quot;)
plt.tight_layout()
plt.show()&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;$\sigma$ 의 의미&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\sigma$는 분포가 얼마나 넓게 퍼질지를 결정하는 scale parameter 임:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;작은 $\sigma$: 대부분의 값이 0 근처에 집중된다.&lt;/li&gt;
&lt;li&gt;큰 $\sigma$: 큰 값도 비교적 자주 허용된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 그림은 서로 다른 $\sigma$의 HalfNormal 의 예를 보여줌:&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;470&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/phGks/dJMcaaznyGB/cV0drOYUAz0RMrao3MRCnk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/phGks/dJMcaaznyGB/cV0drOYUAz0RMrao3MRCnk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/phGks/dJMcaaznyGB/cV0drOYUAz0RMrao3MRCnk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FphGks%2FdJMcaaznyGB%2FcV0drOYUAz0RMrao3MRCnk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;650&quot; height=&quot;485&quot; data-origin-width=&quot;630&quot; data-origin-height=&quot;470&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre class=&quot;python&quot; style=&quot;background-color: #f8f8f8; color: #383a42; text-align: start;&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0,8,1000)

for sigma in [0.5,1,2]:
    pdf = (
        np.sqrt(2/np.pi)/sigma
        * np.exp(-x**2/(2*sigma**2))
    )
    plt.plot(x,pdf,label=f&quot;&amp;sigma;={sigma}&quot;)

plt.xlabel(&quot;x&quot;)
plt.ylabel(&quot;Density&quot;)
plt.legend()
plt.tight_layout()
plt.show()&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Bayesian 분석에서의 활용&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HalfNormal distribution은 항상 양수만 가지므로 음수가 될 수 없는 parameter 의 prior(사전분포)로 자주 사용됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대표적인 예는 다음과 같다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;랜덤효과의 표준편차&lt;/li&gt;
&lt;li&gt;측정오차의 표준편차&lt;/li&gt;
&lt;li&gt;그룹 간 변동성&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 PyMC에서는 다음과 같이 정의할 수 있다.&lt;/p&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;sigma_patient = pm.HalfNormal(
    &quot;sigma_patient&quot;,
    sigma=1.0
)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 코드에서 sigma_patient(환자 간 변동의 표준편차)는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;반드시 0 이상이며,&lt;/li&gt;
&lt;li&gt;작은 값을 더 선호하지만&lt;/li&gt;
&lt;li&gt;데이터가 충분하면 더 큰 값도 허용한다는 사전의 믿음(?)을 의미 = prior.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;같이보면 좋은 자료&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://distribution-explorer.github.io/continuous/halfnormal.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://distribution-explorer.github.io/continuous/halfnormal.html&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1784707540203&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Half-Normal distribution &amp;mdash; Probability Distribution Explorer  documentation&quot; data-og-description=&quot;Story The Half-Normal distribution is a Normal distribution truncated to only have nonzero probability density for values greater than or equal to the location of the peak.&quot; data-og-host=&quot;distribution-explorer.github.io&quot; data-og-source-url=&quot;https://distribution-explorer.github.io/continuous/halfnormal.html&quot; data-og-url=&quot;https://distribution-explorer.github.io/continuous/halfnormal.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jNp0V/dJMb82eZ7Cs/CSoDUeK5xKhU1M8pEvyKJK/img.png?width=1834&amp;amp;height=430&amp;amp;face=0_0_1834_430&quot;&gt;&lt;a href=&quot;https://distribution-explorer.github.io/continuous/halfnormal.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://distribution-explorer.github.io/continuous/halfnormal.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jNp0V/dJMb82eZ7Cs/CSoDUeK5xKhU1M8pEvyKJK/img.png?width=1834&amp;amp;height=430&amp;amp;face=0_0_1834_430');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Half-Normal distribution &amp;mdash; Probability Distribution Explorer documentation&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Story The Half-Normal distribution is a Normal distribution truncated to only have nonzero probability density for values greater than or equal to the location of the peak.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;distribution-explorer.github.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/638&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.10.25 - [.../Math] - [Math] Normal Distribution (정규분포, Gaussian Distribution)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1784706998996&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] Normal Distribution (정규분포, Gaussian Distribution)&quot; data-og-description=&quot;Normal DistirbutionGaussian Distribution, Laplace-Gaussian Distribution 라고도 불림. 특히, mean=0이고, std=1인 경우, Standard Normal Distribution이라고 불림.1. 정의Normal Distribution의 pdf (probability density function)는 다음과 &quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/638&quot; data-og-url=&quot;https://dsaint31.tistory.com/638&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/byUuhv/dJMb9eT2wAj/CWNBCjHZSMEthP1gNIVO0K/img.jpg?width=800&amp;amp;height=523&amp;amp;face=0_0_800_523,https://scrap.kakaocdn.net/dn/NYiya/dJMb9dHBgIU/u3A6clB1q8i0oOmC9fxbb1/img.jpg?width=800&amp;amp;height=523&amp;amp;face=0_0_800_523,https://scrap.kakaocdn.net/dn/JFhSd/dJMb9c9KT6V/if0aZdSjDujvJTWuHCyzO1/img.jpg?width=1134&amp;amp;height=742&amp;amp;face=0_0_1134_742&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/638&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/638&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/byUuhv/dJMb9eT2wAj/CWNBCjHZSMEthP1gNIVO0K/img.jpg?width=800&amp;amp;height=523&amp;amp;face=0_0_800_523,https://scrap.kakaocdn.net/dn/NYiya/dJMb9dHBgIU/u3A6clB1q8i0oOmC9fxbb1/img.jpg?width=800&amp;amp;height=523&amp;amp;face=0_0_800_523,https://scrap.kakaocdn.net/dn/JFhSd/dJMb9c9KT6V/if0aZdSjDujvJTWuHCyzO1/img.jpg?width=1134&amp;amp;height=742&amp;amp;face=0_0_1134_742');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] Normal Distribution (정규분포, Gaussian Distribution)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Normal DistirbutionGaussian Distribution, Laplace-Gaussian Distribution 라고도 불림. 특히, mean=0이고, std=1인 경우, Standard Normal Distribution이라고 불림.1. 정의Normal Distribution의 pdf (probability density function)는 다음과&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/911&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2025.05.27 - [.../Math] - Bayes' Theorem (Update Your Beliefs with Evidence)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1784707017887&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Bayes' Theorem (Update Your Beliefs with Evidence)&quot; data-og-description=&quot;1. 정리$N$개의 event (사상,사건)인 $H_0, H_1, ... , H_{N-1}$ 들이sample space $S$의 partition(전부 모이면 $S$를 이룸)이면서,$P(H_i) &amp;gt;0$ 을 만족하고,Event $E$가 sample space $S$의 임의의 Event이며 $P(E)&amp;gt;0$이면 다음이 &quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/911&quot; data-og-url=&quot;https://dsaint31.tistory.com/911&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bLN1Gn/dJMb85v2caJ/463H8YuAkzfE0pQz4wM8MK/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/LRyp0/dJMb9aKR5Fc/JDCIEHEYku8nriNHpw7MjK/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/jCGoG/dJMb85v2caM/rus4WWfIavwqh4ylGyYjoK/img.png?width=1708&amp;amp;height=1260&amp;amp;face=0_0_1708_1260&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/911&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/911&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bLN1Gn/dJMb85v2caJ/463H8YuAkzfE0pQz4wM8MK/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/LRyp0/dJMb9aKR5Fc/JDCIEHEYku8nriNHpw7MjK/img.png?width=800&amp;amp;height=353&amp;amp;face=0_0_800_353,https://scrap.kakaocdn.net/dn/jCGoG/dJMb85v2caM/rus4WWfIavwqh4ylGyYjoK/img.png?width=1708&amp;amp;height=1260&amp;amp;face=0_0_1708_1260');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Bayes' Theorem (Update Your Beliefs with Evidence)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;1. 정리$N$개의 event (사상,사건)인 $H_0, H_1, ... , H_{N-1}$ 들이sample space $S$의 partition(전부 모이면 $S$를 이룸)이면서,$P(H_i) &amp;gt;0$ 을 만족하고,Event $E$가 sample space $S$의 임의의 Event이며 $P(E)&amp;gt;0$이면 다음이&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/707&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.04.18 - [.../Math] - [Math] Probability Distribution&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1784707399467&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] Probability Distribution&quot; data-og-description=&quot;Probability Distribution : Probability Distribution은 특정 random variable(확률 변수)이 취할 수 있는 각각의 값에 대한 확률을 나타내는 분포임.Probability Distribution Function (PDF)으로 기술되며,random variable이 어떤 &quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/707&quot; data-og-url=&quot;https://dsaint31.tistory.com/707&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/BQhoW/dJMb84YbS6B/DSY9qAHmi9XscN6t6YGil1/img.png?width=800&amp;amp;height=448&amp;amp;face=0_0_800_448,https://scrap.kakaocdn.net/dn/oDd6I/dJMb84YbS6C/OiF8fZ4snQX2xirE6mkEr0/img.png?width=800&amp;amp;height=448&amp;amp;face=0_0_800_448,https://scrap.kakaocdn.net/dn/LlQ4d/dJMb8QMpn4H/2MeGEGqiUFlBKwKAK2UhUK/img.png?width=1673&amp;amp;height=938&amp;amp;face=0_0_1673_938&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/707&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/707&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/BQhoW/dJMb84YbS6B/DSY9qAHmi9XscN6t6YGil1/img.png?width=800&amp;amp;height=448&amp;amp;face=0_0_800_448,https://scrap.kakaocdn.net/dn/oDd6I/dJMb84YbS6C/OiF8fZ4snQX2xirE6mkEr0/img.png?width=800&amp;amp;height=448&amp;amp;face=0_0_800_448,https://scrap.kakaocdn.net/dn/LlQ4d/dJMb8QMpn4H/2MeGEGqiUFlBKwKAK2UhUK/img.png?width=1673&amp;amp;height=938&amp;amp;face=0_0_1673_938');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] Probability Distribution&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Probability Distribution : Probability Distribution은 특정 random variable(확률 변수)이 취할 수 있는 각각의 값에 대한 확률을 나타내는 분포임.Probability Distribution Function (PDF)으로 기술되며,random variable이 어떤&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>.../Math</category>
      <category>byaes</category>
      <category>distribution</category>
      <category>half-normal</category>
      <category>Probability</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/965</guid>
      <comments>https://dsaint31.tistory.com/965#entry965comment</comments>
      <pubDate>Wed, 22 Jul 2026 16:57:43 +0900</pubDate>
    </item>
    <item>
      <title>DropPath 와 Stochastic Depth</title>
      <link>https://dsaint31.tistory.com/964</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;DropPath와 Stochastic Depth는&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;학습 중 residual branch 또는 계산 경로 전체를 확률적으로 제거&lt;/b&gt;&lt;/span&gt;하여 &lt;br /&gt;&lt;u&gt;&lt;b&gt;특정 경로에 대한 의존성을 줄이는 regularization 기법&lt;/b&gt;&lt;/u&gt;임.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;172&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bU52SL/dJMcaf1xib3/aSm63KJGndaecsBPFV3Ua0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bU52SL/dJMcaf1xib3/aSm63KJGndaecsBPFV3Ua0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bU52SL/dJMcaf1xib3/aSm63KJGndaecsBPFV3Ua0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbU52SL%2FdJMcaf1xib3%2FaSm63KJGndaecsBPFV3Ua0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;139&quot; data-origin-width=&quot;495&quot; data-origin-height=&quot;172&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 timm, Hugging Face Transformers 및 여러 vision model 구현에서는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;DropPath&lt;/b&gt;&lt;/span&gt;를 per-sample Stochastic Depth와 거의 같은 의미로 사용함.&lt;/li&gt;
&lt;li&gt;timm의 DropPath 구현도 코드 주석에서 이를 명시적으로 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;per-sample stochastic depth&lt;/b&gt;&lt;/span&gt;라고 설명&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/848&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.10.27 - [Programming/ML] - [ML] Regularization&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1783667680907&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Regularization&quot; data-og-description=&quot;Regularization 이란?기계 학습과 딥러닝에서 Regularization은 모델이 overfitting(과적합)되지 않도록 도와주는 기법을 의미함.Overfitting(과적합)은 모델이 훈련 데이터에 너무 잘 맞아 새로운 데이터에 대&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/848&quot; data-og-url=&quot;https://dsaint31.tistory.com/848&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c5Fu9u/dJMb9kmojMe/S68FtWcNRQkFCvJKEJkGy1/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/jJo7g/dJMb88fcDK3/FtjyrYtu2rwNwyQGklfeP1/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/dLqZ8d/dJMb9lliRll/zkRAoGYeKfugSsgKSzDnYK/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/848&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/848&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c5Fu9u/dJMb9kmojMe/S68FtWcNRQkFCvJKEJkGy1/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/jJo7g/dJMb88fcDK3/FtjyrYtu2rwNwyQGklfeP1/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/dLqZ8d/dJMb9lliRll/zkRAoGYeKfugSsgKSzDnYK/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Regularization&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Regularization 이란?기계 학습과 딥러닝에서 Regularization은 모델이 overfitting(과적합)되지 않도록 도와주는 기법을 의미함.Overfitting(과적합)은 모델이 훈련 데이터에 너무 잘 맞아 새로운 데이터에 대&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 개념과 역사&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1.1 Stochastic Depth&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Stochastic Depth는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Gao Huang, Yu Sun, Zhuang Liu, Daniel Sedra, Kilian Weinberger가&lt;/li&gt;
&lt;li&gt;2016년 발표한 &lt;i&gt;Deep Networks with Stochastic Depth&lt;/i&gt;에서 제안된 기술임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://arxiv.org/abs/1603.09382&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://arxiv.org/abs/1603.09382&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1783668523486&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Deep Networks with Stochastic Depth&quot; data-og-description=&quot;Very deep convolutional networks with hundreds of layers have led to significant reductions in error on competitive benchmarks. Although the unmatched expressiveness of the many layers can be highly desirable at test time, training very deep networks comes&quot; data-og-host=&quot;arxiv.org&quot; data-og-source-url=&quot;https://arxiv.org/abs/1603.09382&quot; data-og-url=&quot;https://arxiv.org/abs/1603.09382v3&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dpOAs3/dJMb8SXJOWn/xAfuHGMCdj05pWnyQKDfA1/img.png?width=1200&amp;amp;height=700&amp;amp;face=0_0_1200_700,https://scrap.kakaocdn.net/dn/wQ6OW/dJMb9c9JE9o/rmRC2oYZAsw8AuAQr1A471/img.png?width=1000&amp;amp;height=1000&amp;amp;face=0_0_1000_1000&quot;&gt;&lt;a href=&quot;https://arxiv.org/abs/1603.09382&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://arxiv.org/abs/1603.09382&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dpOAs3/dJMb8SXJOWn/xAfuHGMCdj05pWnyQKDfA1/img.png?width=1200&amp;amp;height=700&amp;amp;face=0_0_1200_700,https://scrap.kakaocdn.net/dn/wQ6OW/dJMb9c9JE9o/rmRC2oYZAsw8AuAQr1A471/img.png?width=1000&amp;amp;height=1000&amp;amp;face=0_0_1000_1000');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Deep Networks with Stochastic Depth&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Very deep convolutional networks with hundreds of layers have led to significant reductions in error on competitive benchmarks. Although the unmatched expressiveness of the many layers can be highly desirable at test time, training very deep networks comes&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;arxiv.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원 논문의 핵심 아이디어는 다음과 같음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;매우 깊은 ResNet을 구성함.&lt;/li&gt;
&lt;li&gt;학습 중에는 일부 residual block을 무작위로 제거하고 제거된 residual block은 skip connection을 통해 우회함.&lt;/li&gt;
&lt;li&gt;평가 시에는 전체 residual block을 사용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;학습 중에는 원래 network보다 얕은 subnetwork를 무작위로 사용하고,&lt;/li&gt;
&lt;li&gt;평가 시에는 원래의 깊은 network 전체를 사용하게 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주의할 점은 원 논문의 경우 residual block의 활성화 여부를 &lt;b&gt;mini-batch 단위&lt;/b&gt;로 결정했음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;따라서 하나의 mini-batch에 포함된 모든 sample은 동일한 residual block 구성을 사용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 residual block을 실행하기 전에 활성화 여부를 결정하도록 구현함&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;제거된 residual block의 forward와 backward 계산을 실제로 생략할 수 있도록 설계됨.&lt;/li&gt;
&lt;li&gt;이를 통한 훈련 중 계산량 이득이 있었고 훈련 속도가 빨라지는 장점도 누림.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;stochastic 의 뜻에 대한 자세한 자료: &lt;a href=&quot;https://dsaint31.tistory.com/672&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.02.23 - [.../Math] - [Math] Random이란?&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1783667724052&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] Random이란?&quot; data-og-description=&quot;Random: Random은주로 non-determinstic 인 &amp;quot;정해진 패턴 또는 순서없이&amp;quot; 결과가 발생하는 것을 개별 사건이나 값등을 의미하는 경우가 많다. Deterministc인 경우,function (or differential equation) 등을 이용한 모&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/672&quot; data-og-url=&quot;https://dsaint31.tistory.com/672&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/mMCWd/dJMb9kUeHFN/yKqDv7cZFszah5Etdlc3e0/img.png?width=609&amp;amp;height=200&amp;amp;face=0_0_609_200,https://scrap.kakaocdn.net/dn/pvkjc/dJMb9jOyGqU/yNYW8Xd3CCHc2Rhq43ajuK/img.png?width=609&amp;amp;height=200&amp;amp;face=0_0_609_200,https://scrap.kakaocdn.net/dn/1v9HQ/dJMb8TClLH8/qpX39txgGQBLQq4K7kTaJ0/img.png?width=609&amp;amp;height=200&amp;amp;face=0_0_609_200&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/672&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/672&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/mMCWd/dJMb9kUeHFN/yKqDv7cZFszah5Etdlc3e0/img.png?width=609&amp;amp;height=200&amp;amp;face=0_0_609_200,https://scrap.kakaocdn.net/dn/pvkjc/dJMb9jOyGqU/yNYW8Xd3CCHc2Rhq43ajuK/img.png?width=609&amp;amp;height=200&amp;amp;face=0_0_609_200,https://scrap.kakaocdn.net/dn/1v9HQ/dJMb8TClLH8/qpX39txgGQBLQq4K7kTaJ0/img.png?width=609&amp;amp;height=200&amp;amp;face=0_0_609_200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] Random이란?&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Random: Random은주로 non-determinstic 인 &quot;정해진 패턴 또는 순서없이&quot; 결과가 발생하는 것을 개별 사건이나 값등을 의미하는 경우가 많다. Deterministc인 경우,function (or differential equation) 등을 이용한 모&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;residual block에 대한 참고자료: &lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch14_cnn/resnet/#residual-block&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dsaint31.me/mkdocs_site/ML/ch14_cnn/resnet/#residual-block&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1783667876193&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;BME&quot; data-og-description=&quot;computer vision image classification residual learning resnet shortcut connection skip connection ResNet: Deep Residual Learning for Image Recognition (2015) ref.: original paper, Deep Residual Learning for Image Recognition ILSVRC 2015 우승 모델이며&quot; data-og-host=&quot;dsaint31.me&quot; data-og-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch14_cnn/resnet/#residual-block&quot; data-og-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch14_cnn/resnet/#residual-block&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b4F0kZ/dJMb8SXJOP7/CyUj1ibgKvbt8P5Y85Kku0/img.png?width=2145&amp;amp;height=931&amp;amp;face=0_0_2145_931,https://scrap.kakaocdn.net/dn/bajDEc/dJMb9lMneMG/YCW19Q7s1nZQk23CShnwRK/img.png?width=548&amp;amp;height=400&amp;amp;face=0_0_548_400,https://scrap.kakaocdn.net/dn/i14ux/dJMb8VNHE1l/Rnwib3kspSJSGvMBH8E2Uk/img.png?width=571&amp;amp;height=287&amp;amp;face=0_0_571_287&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch14_cnn/resnet/#residual-block&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch14_cnn/resnet/#residual-block&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b4F0kZ/dJMb8SXJOP7/CyUj1ibgKvbt8P5Y85Kku0/img.png?width=2145&amp;amp;height=931&amp;amp;face=0_0_2145_931,https://scrap.kakaocdn.net/dn/bajDEc/dJMb9lMneMG/YCW19Q7s1nZQk23CShnwRK/img.png?width=548&amp;amp;height=400&amp;amp;face=0_0_548_400,https://scrap.kakaocdn.net/dn/i14ux/dJMb8VNHE1l/Rnwib3kspSJSGvMBH8E2Uk/img.png?width=571&amp;amp;height=287&amp;amp;face=0_0_571_287');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;BME&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;computer vision image classification residual learning resnet shortcut connection skip connection ResNet: Deep Residual Learning for Image Recognition (2015) ref.: original paper, Deep Residual Learning for Image Recognition ILSVRC 2015 우승 모델이며&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.me&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1.2 Drop-path&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;drop-path&lt;/code&gt;라는 용어는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2016년 Gustav Larsson, Michael Maire, Gregory Shakhnarovich의&lt;/li&gt;
&lt;li&gt;&lt;i&gt;FractalNet: Ultra-Deep Neural Networks without Residuals&lt;/i&gt;에서 제시됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;FractalNet은 입력에서 출력까지 여러 개의 병렬적인 계산 경로를 가지는 network 였음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Dropout이 개별 activation을 제거하여 neuron 사이의 co-adaptation을 줄이는 것처럼,&lt;/li&gt;
&lt;li&gt;drop-path는 &lt;b&gt;계산 경로 전체를 제거하여 path 사이의 co-adaptation을 줄이는 방법&lt;/b&gt; 으로 제안.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, FractalNet에서의 drop-path는 다음과 같은 방법임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;개별 activation이 아니라 subpath 전체를 제거함.&lt;/li&gt;
&lt;li&gt;하나의 path가 제거되어도 다른 계산 경로가 남도록 함.&lt;/li&gt;
&lt;li&gt;여러 path가 서로 지나치게 의존하는 현상을 억제함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 논문의 FractalNet은 residual connection이 없는 구조였음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, drop-path가 반드시 ResNet의 identity skip connection을 요구하는 것은 아님.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심 조건은 다음과 같음.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Drop-path를 사용하려면 &lt;br /&gt;하나의 path가 제거되더라도 &lt;br /&gt;입력에서 출력까지 다른 유효한 계산 경로가 남아 있어야 함.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1.3 현대적인 용어 사용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역사적으로 두 용어의 출발점은 다음과 같이 구분됨.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Stochastic Depth : ResNet의 residual block을 무작위로 우회하는 방법&lt;/li&gt;
&lt;li&gt;Drop-path : FractalNet의 계산 subpath를 무작위로 제거하는 방법&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 오늘날에는 두 용어가 거의 같은 의미로 사용되고 있음:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;timm&lt;/code&gt;의 &lt;code&gt;DropPath&lt;/code&gt;는 코드에서 per-sample Stochastic Depth로 설명되어 있음.&lt;/li&gt;
&lt;li&gt;Hugging Face Transformers의 여러 vision model도 유사한 방식으로 구현함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 실무에서는 다음과 같이 구분하여 이해할 수 있음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Stochastic Depth&lt;/b&gt;&lt;/span&gt; : regularization 기법의 일반적인 이름&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DropPath&lt;/code&gt; : 해당 기법을 구현한 module 또는 layer의 이름&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. DropPath의 효과&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.1 Regularization 효과&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DropPath는 학습 중 residual branch 일부(학습패스)를 무작위로 제거함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;따라서 뒤쪽 block이 특정 앞쪽 block의 출력에 지나치게 의존하는 현상을 줄일 수 있음.&lt;/li&gt;
&lt;li&gt;매 iteration마다 다른 residual path 조합이 사용되므로,&lt;/li&gt;
&lt;li&gt;하나의 고정된 깊은 network만 학습하는 것이 아니라&lt;/li&gt;
&lt;li&gt;여러 깊이와 여러 path 조합을 공유 parameter로 학습하는 효과가 발생함.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;넓은 의미에서&lt;br /&gt;여러 subnetworks를 함께 학습하는 &lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;implicit ensemble&lt;/b&gt;&lt;/span&gt;과 유사하게 해석할 수 있음.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주요 목적은 다음과 같음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 residual branch에 대한 과도한 의존성 억제&lt;/li&gt;
&lt;li&gt;path 또는 block 사이의 co-adaptation 감소&lt;/li&gt;
&lt;li&gt;overfitting 완화&lt;/li&gt;
&lt;li&gt;generalization 성능 개선&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.2 실제 계산량과 학습 시간&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 Stochastic Depth 논문 방식&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;residual block의 활성 여부를 먼저 결정함.&lt;/li&gt;
&lt;li&gt;이 확률에 따라 제거된 residual block은 forward와 backward 계산 자체를 수행하지 않았음.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 원 논문의 방식은 다음과 같은 효과를 가질 수 있었음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;학습 중 기대 network depth 감소&lt;/li&gt;
&lt;li&gt;forward 계산량 감소&lt;/li&gt;
&lt;li&gt;backward 계산량 감소&lt;/li&gt;
&lt;li&gt;학습 시간 감소&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 현대적인 &lt;code&gt;timm&lt;/code&gt; 또는 Hugging Face 구현은 일반적으로 다음 순서로 동작함.&lt;/p&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;residual = block(x)
residual = drop_path(residual)
output = x + residual&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;이 경우&lt;/span&gt; &lt;code&gt;block(x)&lt;/code&gt;를 이미 계산한 뒤에 DropPath mask를 적용&lt;/b&gt;함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;residual branch가 최종적으로 0이 되더라도 이미 residual block의 연산은 이미 수행된 상태임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과적으로 현대적인 DropPath layer는 regularization 효과는 제공하지만, 실제 FLOPs나 학습 시간을 거의 줄이지 못함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 per-sample 방식을 사용할 경우,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;같은 mini-batch 안에서도 유지되는 sample과 제거되는 sample이 섞여 있으므로,&lt;/li&gt;
&lt;li&gt;일반적인 dense GPU 연산에서 일부 sample의 branch 계산만 효율적으로 생략하기 어려움.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리하면 다음과 같음.&lt;/p&gt;
&lt;table style=&quot;height: 64px;&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #781b33;&quot;&gt;&lt;b&gt;구현방식&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #781b33;&quot;&gt;&lt;b&gt;Residual branch 계산&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #781b33;&quot;&gt;&lt;b&gt;실제 계산량 감소&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;원 논문의 conditional block 실행&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;mask를 먼저 결정하고 필요한 block만 계산&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot; align=&quot;right&quot;&gt;가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;일반적인 현대 DropPath layer&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;branch를 계산한 뒤 mask 적용&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot; align=&quot;right&quot;&gt;거의 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. DropPath의 동작 원리&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.1 Residual block의 기본 구조&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적인 residual block은 다음과 같이 표현:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{y} = \textbf{x} + F(\textbf{x}) $$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\textbf{x}$ : identity path를 통해 전달되는 입력&lt;/li&gt;
&lt;li&gt;$F(\textbf{x})$ : convolution, attention 또는 MLP 등의 변환을 수행하는 residual branch&lt;/li&gt;
&lt;li&gt;$\textbf{y}$ : identity path와 residual branch를 더한 출력&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Identity path는 입력 tensor를 그대로 전달하며&lt;br /&gt;Residual branch는 입력 tensor에 특정 변환을 수행함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DropPath는 일반적으로 다음 코드처럼&lt;br /&gt;identity path가 아니라 &lt;b&gt;residual branch의 출력&lt;/b&gt;에 적용됨.&lt;/p&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;residual = block(x)
residual = drop_path(residual)
output = x + residual&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수학적으로는 다음 구조에 해당함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{y} = \textbf{x} + \operatorname{DropPath} \left( F(\textbf{x}) \right) $$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DropPath에 의해 residual branch가 제거되더라도&lt;/li&gt;
&lt;li&gt;identity path를 통해 입력 $\textbf{x}$는 계속 전달됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.2 원래 Stochastic Depth의 동작&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\ell$번째 residual block의 survival probability를 $q_\ell$이라고 하면,&lt;br /&gt;Residual branch의 활성 여부를 결정하는 Bernoulli 변수 $b_\ell$은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ b_\ell \sim \operatorname{Bernoulli}(q_\ell) $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 $b_\ell$은 다음 두 값 중 하나를 가짐:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;b_\ell = \begin{cases} 1, &amp;amp; \text{residual branch를 사용하는 경우} \\ 0, &amp;amp; \text{residual branch를 제거하는 경우} \end{cases}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/582&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.08.17 - [.../Math] - [Math] Bernoulli Distribution (베르누이 분포)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1783667245299&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] Bernoulli Distribution (베르누이 분포)&quot; data-og-description=&quot;Bernoulli distribution (베르누이 분포)은 Probability Distribution에서 가장 단순한 분포 중 하나 임. 주로 binary classification task에서 많이 사용됨.1. Bernoulli Trial결과가 2가지 중 하나로만 나오는 trial(시행, 시&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/582&quot; data-og-url=&quot;https://dsaint31.tistory.com/582&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/14QwW/dJMb887kDQE/gXkDk4hf18fJDZRN2BKtJK/img.png?width=673&amp;amp;height=189&amp;amp;face=0_0_673_189,https://scrap.kakaocdn.net/dn/cXsfps/dJMb83SuUpY/lk2kkkMZjNPrZGVVdZFHjK/img.png?width=673&amp;amp;height=189&amp;amp;face=0_0_673_189&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/582&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/582&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/14QwW/dJMb887kDQE/gXkDk4hf18fJDZRN2BKtJK/img.png?width=673&amp;amp;height=189&amp;amp;face=0_0_673_189,https://scrap.kakaocdn.net/dn/cXsfps/dJMb83SuUpY/lk2kkkMZjNPrZGVVdZFHjK/img.png?width=673&amp;amp;height=189&amp;amp;face=0_0_673_189');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] Bernoulli Distribution (베르누이 분포)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Bernoulli distribution (베르누이 분포)은 Probability Distribution에서 가장 단순한 분포 중 하나 임. 주로 binary classification task에서 많이 사용됨.1. Bernoulli Trial결과가 2가지 중 하나로만 나오는 trial(시행, 시&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 Stochastic Depth 논문의 학습 과정은 다음과 같이 표현할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{y}_\ell = \textbf{x}_\ell + b_\ell F_\ell(\textbf{x}_\ell) $$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$b_\ell=1$ : residual branch를 사용함.&lt;/li&gt;
&lt;li&gt;$b_\ell=0$ : residual branch를 제거함.&lt;/li&gt;
&lt;li&gt;$q_\ell$ : residual branch가 유지될 확률임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로, 원 논문에서는 학습 시 유지된 residual branch를 $q_\ell$로 나누지 않았음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대신 평가 시에는 모든 residual branch를 활성화하고, 각 residual branch의 출력에 survival probability를 곱함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\textbf{y}_\ell^{\mathrm{eval}} = \textbf{x}_\ell^{\mathrm{eval}} + q_\ell F_\ell \left( \textbf{x}_\ell^{\mathrm{eval}} \right)&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 학습 중 residual branch 출력의 기댓값이 다음과 같기 때문임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\mathbb{E} \left[ b_\ell F_\ell(\textbf{x}) \right] = q_\ell F_\ell(\textbf{x})&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 원래 Stochastic Depth는 &lt;b&gt;평가 시 scaling을 적용하는 방식&lt;/b&gt;을 사용함.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.3 현대적인 inverted DropPath&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 Torchvision, &lt;code&gt;timm&lt;/code&gt;, Hugging Face Transformers 등의 구현에서는 &lt;br /&gt;일반적으로 inverted Dropout과 같은 방식을 사용함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학습 시 유지된 residual branch를 survival probability $q_\ell$로 나눔.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\textbf{y}_\ell = \textbf{x}_\ell + \frac{b_\ell}{q_\ell} F_\ell(\textbf{x}_\ell)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Residual branch 출력의 기댓값은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \mathbb{E} \left[ \frac{b_\ell}{q_\ell} F_\ell(\textbf{x}) \right] = F_\ell(\textbf{x}) $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 평가 시에는 별도의 scaling이 필요하지 않음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\textbf{y}_\ell^{\mathrm{eval}} = \textbf{x}_\ell^{\mathrm{eval}} + F_\ell \left( \textbf{x}_\ell^{\mathrm{eval}} \right) $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Drop probability를 $p_\ell$이라고 하면 survival probability는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ q_\ell = 1-p_\ell $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리하면 다음과 같음.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;방식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot; align=&quot;right&quot;&gt;&lt;b&gt;학습 시 유지된 residual branch&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot; align=&quot;right&quot;&gt;&lt;b&gt;평가 시 residual branch&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;원래 Stochastic Depth&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;$F(\textbf{x})$&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;$qF(\textbf{x})$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;현대적인 inverted DropPath&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;$\dfrac{1}{q}F(\textbf{x})$&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;$F(\textbf{x})$&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 Torchvision과 &lt;code&gt;timm&lt;/code&gt;의 기본 구현은 inverted DropPath 방식에 해당함.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.4 Mini-batch 단위와 sample 단위&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.4.1 Mini-batch 단위 Stochastic Depth&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 Stochastic Depth 논문에서는 residual block의 활성화 여부를 mini-batch 단위로 결정함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력이 다음과 같은 CNN feature map이라고 가정한다면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{x} \in \mathbb{R}^{B\times C\times H\times W} $$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$B$ : batch size&lt;/li&gt;
&lt;li&gt;$C$ : channel 수&lt;/li&gt;
&lt;li&gt;$H$ : feature map의 높이&lt;/li&gt;
&lt;li&gt;$W$ : feature map의 너비&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Mini-batch 전체에 동일한 결정을 적용하는 mask는 다음과 같은 shape을 가짐:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{m} \in \mathbb{R}^{1\times1\times1\times1} $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실질적으로는 하나의 Bernoulli scalar 값임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 해당 residual branch는 다음 두 상태 중 하나가 됨.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;mini-batch의 모든 sample에서 활성화됨.&lt;/li&gt;
&lt;li&gt;mini-batch의 모든 sample에서 제거됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.4.2 Per-sample Stochastic Depth&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 &lt;code&gt;timm&lt;/code&gt;과 Hugging Face Transformers의 일반적인 DropPath 구현은 sample마다 독립적인 Bernoulli 값을 생성함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CNN feature map의 입력이 다음과 같다고 가정하면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{x} \in \mathbb{R}^{B\times C\times H\times W} $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DropPath mask의 shape은 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{m} \in \mathbb{R}^{B\times1\times1\times1} $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Mini-batch의 $i$번째 sample에 적용되는 mask 값을 $m_i$라고 하면 다음과 같이 동작함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \widetilde{\textbf{x}}_i = \frac{m_i}{q} \textbf{x}_i $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$m_i$는 하나의 scalar 값이지만 broadcasting을 통해 $i$번째 sample의 모든 channel과 모든 spatial position에 적용됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 한 sample 안에서 일부 pixel이나 일부 channel만 제거되는 것이 아님.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$m_i=0$ : 해당 sample의 residual branch 출력 전체가 0이 됨.&lt;/li&gt;
&lt;li&gt;$m_i=1$ : 해당 sample의 residual branch 출력 전체가 (1/q)배로 유지됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/359&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.09.27 - [Programming/DIP] - [NumPy] Broadcasting&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1783667774758&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[NumPy] Broadcasting&quot; data-og-description=&quot;0. Broadcasting이란?tensor와 scalar를 연산시킬 때&amp;nbsp;scalar를 상대 tensor와 같은 shape이면서 해당 scalar의 값을 가진 tensor로 변경시키고나서 이 scalar로부터 만들어진 tensor와 상대 tensor를 동작시키는 방식&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/359&quot; data-og-url=&quot;https://dsaint31.tistory.com/359&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/rH2bX/dJMb81G9oOv/1fXyiOITdSRkIroBkx6t1K/img.png?width=310&amp;amp;height=237&amp;amp;face=0_0_310_237,https://scrap.kakaocdn.net/dn/opOkg/dJMb9aKQRxs/gjirsN8QhmYquzNONz9fz0/img.png?width=310&amp;amp;height=237&amp;amp;face=0_0_310_237,https://scrap.kakaocdn.net/dn/cK3w29/dJMb82MO3n1/wrjBbRXMllPrms2VNDVTL0/img.png?width=310&amp;amp;height=237&amp;amp;face=0_0_310_237&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/359&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/359&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/rH2bX/dJMb81G9oOv/1fXyiOITdSRkIroBkx6t1K/img.png?width=310&amp;amp;height=237&amp;amp;face=0_0_310_237,https://scrap.kakaocdn.net/dn/opOkg/dJMb9aKQRxs/gjirsN8QhmYquzNONz9fz0/img.png?width=310&amp;amp;height=237&amp;amp;face=0_0_310_237,https://scrap.kakaocdn.net/dn/cK3w29/dJMb82MO3n1/wrjBbRXMllPrms2VNDVTL0/img.png?width=310&amp;amp;height=237&amp;amp;face=0_0_310_237');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[NumPy] Broadcasting&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;0. Broadcasting이란?tensor와 scalar를 연산시킬 때&amp;nbsp;scalar를 상대 tensor와 같은 shape이면서 해당 scalar의 값을 가진 tensor로 변경시키고나서 이 scalar로부터 만들어진 tensor와 상대 tensor를 동작시키는 방식&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.5 CNN과 Transformer의 mask shape&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.5.1 CNN feature map&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CNN feature map이 다음 shape을 가진다고 가정하면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{x} \in \mathbb{R}^{B\times C\times H\times W} $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적인 per-sample DropPath mask는 다음 shape을 가짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\textbf{m} \in \mathbb{R}^{B\times1\times1\times1}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 하나의 sample에서는 다음 요소에 동일한 mask 값이 적용됨.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 channel&lt;/li&gt;
&lt;li&gt;모든 높이 위치&lt;/li&gt;
&lt;li&gt;모든 너비 위치&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, sample 단위로 residual branch 출력 전체가 유지되거나 제거됨.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3.5.2 Transformer hidden state&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Transformer의 hidden state는 일반적으로 다음 shape을 가짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{x} \in \mathbb{R}^{B\times N\times C} $$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$B$ : batch size&lt;/li&gt;
&lt;li&gt;$N$ :&amp;nbsp; token 수&lt;/li&gt;
&lt;li&gt;$C$ : embedding dimension&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DropPath mask의 shape은 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\textbf{m} \in \mathbb{R}^{B\times1\times1}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 하나의 sample에서는 모든 token과 모든 embedding dimension에 동일한 mask 값이 적용됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \widetilde{\textbf{x}}_i = \frac{m_i}{q} \textbf{x}_i $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, Transformer의 DropPath는 다음과 같은 동작이 아님.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 token만 제거하는 방법이 아님.&lt;/li&gt;
&lt;li&gt;특정 embedding element만 제거하는 방법이 아님.&lt;/li&gt;
&lt;li&gt;attention probability 일부만 제거하는 방법이 아님.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 sample의 residual branch 출력 전체를 유지하거나 제거하는 방법임.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.6 제거되는 residual branch의 범위&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DropPath를 단순히 &quot;block 전체를 제거한다&quot;고 이해하는 경우가 많지만,&lt;br /&gt;실제로는 &lt;b&gt;DropPath가 삽입된 residual branch의 출력&lt;/b&gt;이 제거되는 것임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같은 residual block에서는 전체 변환 branch가 제거됨.&lt;/p&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;x = x + drop_path(block(x))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러나 Transformer block은 다음과 같이 attention과 MLP에 각각 residual addition을 가짐.&lt;/p&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;x = x + drop_path(attention(norm1(x)))
x = x + drop_path(mlp(norm2(x)))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 경우 DropPath는 다음 두 residual branch에 각각 적용될 수 있음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;attention residual branch&lt;/li&gt;
&lt;li&gt;MLP residual branch&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 Transformer에서 DropPath가 항상 block 전체를 한 번에 제거하는 것은 아님.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보다 정확한 설명은 다음과 같음.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DropPath는 &lt;br /&gt;DropPath module이 삽입된 &lt;br /&gt;residual branch의 출력을 제거함.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 제거 범위는 model의 block 구현에 따라 달라질 수 있음.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.7 Skip connection과 대체 경로&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DropPath를 적용하려면 &lt;br /&gt;하나의 path가 제거되더라도 &lt;br /&gt;입력에서 출력까지 다른 유효한 계산 경로가 남아 있어야 함.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현대적인 residual network에서는 identity 또는 projection skip connection이 대체 경로를 제공함.&lt;/li&gt;
&lt;li&gt;실제로 FractalNet처럼 여러 병렬 path를 가진 구조에서 identity skip connection이 없어도 drop-path를 적용할 수 있었음.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 skip connection 자체가 필수 조건은 아니며, &lt;b&gt;제거된 path를 대신할 다른 계산 경로가 존재하는지&lt;/b&gt;가 핵심임.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 깊이에 따른 DropPath probability&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4.1 Survival probability와 drop probability&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Residual branch가 유지될 확률을 survival probability라고 함.&lt;/li&gt;
&lt;li&gt;Residual branch가 제거될 확률을 drop probability라고 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 둘의 관게는 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ q_\ell = 1-p_\ell$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 survival probability가 감소하면 drop probability는 증가함.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4.2 Linear decay of survival probability with depth&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현대적인 vision model에서는 모든 block에 동일한 DropPath probability를 적용하지 않는 경우가 많음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 다음과 같은 방식을 사용함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;입력에 가까운 block : 낮은 drop probability&lt;/li&gt;
&lt;li&gt;출력에 가까운 block : 높은 drop probability&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 Stochastic Depth 논문에서는 survival probability가 network depth에 따라 선형적으로 감소하도록 설정함.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;468&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqseuD/dJMcaccHONZ/Hauehill5thmWN0OtattkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqseuD/dJMcaccHONZ/Hauehill5thmWN0OtattkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqseuD/dJMcaccHONZ/Hauehill5thmWN0OtattkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqseuD%2FdJMcaccHONZ%2FHauehill5thmWN0OtattkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;233&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;468&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\ell$번째 residual block의 survival probability는 다음과 같이 나타낼 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ q_\ell = 1 - \frac{\ell}{L} \left( 1-q_L \right) $$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$L$ : 전체 residual block 수&lt;/li&gt;
&lt;li&gt;$q_L$ : 마지막 residual block의 survival probability&lt;/li&gt;
&lt;li&gt;$\ell$ : residual block의 깊이&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Drop probability는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ p_\ell = 1-q_\ell $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 survival probability는 깊이에 따라 선형적으로 감소하고, drop probability는 깊이에 따라 선형적으로 증가함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때문에 다음 두 표현이 모두 사용될 수 있음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;linear decay of survival probability&lt;/li&gt;
&lt;li&gt;linear increase of drop probability&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4.3 앞쪽 block의 probability가 낮은 이유&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적인 linear schedule에서는 입력에 가까운 block을 더 높은 확률로 유지함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;앞쪽 block에서 생성된 representation은 뒤쪽의 여러 block이 공통적으로 사용함.&lt;/li&gt;
&lt;li&gt;따라서 앞쪽 block이 자주 제거되면 이후 block에 전달되는 기본 representation이 지나치게 불안정해질 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞쪽 block은 일반적으로 다음과 같은 비교적 기초적인 특징을 형성함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;edge&lt;/li&gt;
&lt;li&gt;texture&lt;/li&gt;
&lt;li&gt;local pattern&lt;/li&gt;
&lt;li&gt;기본적인 spatial structure&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;뒤쪽 block은 일반적으로 다음과 같은 보다 추상적인 특징을 형성함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;object part&lt;/li&gt;
&lt;li&gt;semantic pattern&lt;/li&gt;
&lt;li&gt;class-specific representation&lt;/li&gt;
&lt;li&gt;task-specific feature&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 일반적인 deep vision model에서 적용되는 것으로 모든 model과 dataset에서 반드시 동일하게 성립하는 규칙은 아님.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4.4 Block별 probability 계산 예&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현대적인 구현에서는 전체 block 수가 $L$일 때 입력에 가까운 첫 block의 drop probability를 $0$, 마지막 block의 drop probability를 $p_{\max}$로 설정하는 경우가 많음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block index를 $i=0,\ldots,L-1$이라고 하면 다음과 같이 계산할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ p_i = \frac{i}{L-1} p_{\max} $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 block이 4개이고 최대 DropPath probability가 다음과 같다고 가정함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ L=4, \qquad p_{\max}=0.2 $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 block의 drop probability는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \left[ p_0, p_1, p_2, p_3 \right] = \left[ 0, 0.0667, 0.1333, 0.2 \right]$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이에 대응하는 survival probability는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\left[ q_0, q_1, q_2, q_3 \right] = \left[ 1, 0.9333, 0.8667, 0.8 \right] $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 앞쪽 block일수록 높은 확률로 유지되고, 뒤쪽 block일수록 높은 확률로 제거됨.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. Framework별 구현&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5.1 Torchvision의 &lt;code&gt;StochasticDepth&lt;/code&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Torchvision은 &lt;code&gt;torchvision.ops.StochasticDepth&lt;/code&gt;를 제공함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 두 mode를 지원:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;mode=&quot;row&quot;&lt;/code&gt; : batch의 sample별로 독립적인 mask를 적용함.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mode=&quot;batch&quot;&lt;/code&gt; : 입력 tensor 전체에 하나의 mask를 적용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;5.1.1 &lt;code&gt;mode=&quot;row&quot;&lt;/code&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;mode=&quot;row&quot;&lt;/code&gt;는 per-sample Stochastic Depth에 해당함.&lt;/p&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;from torch import nn
from torchvision.ops import StochasticDepth


class ResidualBlock(nn.Module):
    def __init__(self, dim, drop_path_prob=0.1):
        super().__init__()

        self.block = nn.Sequential(
            nn.Linear(dim, dim),
            nn.GELU(),
            nn.Linear(dim, dim),
        )

        self.drop_path = StochasticDepth(
            p=drop_path_prob,
            mode=&quot;row&quot;,
        )

    def forward(self, x):
        residual = self.block(x)
        residual = self.drop_path(residual)

        return x + residual&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;수학적으로는 다음 구조에 해당함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{y} = \textbf{x} + \operatorname{DropPath} \left( F(\textbf{x}) \right)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력이 다음과 같은 Transformer hidden state라면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{x} \in \mathbb{R}^{B\times N\times C} $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mask는 다음과 같은 broadcast 가능한 shape을 가짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{m} \in \mathbb{R}^{B\times1\times1} $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 batch의 sample마다 residual branch를 독립적으로 유지하거나 제거함.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;5.1.2 &lt;code&gt;mode=&quot;batch&quot;&lt;/code&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래 Stochastic Depth 논문과 유사하게 mini-batch 전체에 같은 결정을 적용하려면 다음과 같이 설정함.&lt;/p&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;self.drop_path = StochasticDepth(
    p=drop_path_prob,
    mode=&quot;batch&quot;,
)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력이 다음과 같다면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\textbf{x} \in \mathbb{R}^{B\times N\times C}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mask의 shape은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{m} \in \mathbb{R}^{1\times1\times1}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실질적으로 하나의 Bernoulli 값이 batch 전체에 적용됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;m \sim \operatorname{Bernoulli}(q) \\&lt;br /&gt;\widetilde{\textbf{x}} = \frac{m}{q} \textbf{x}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 batch의 모든 sample이 함께 유지되거나 함께 제거됨.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5.2 timm의 &lt;code&gt;DropPath&lt;/code&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;timm.layers.DropPath&lt;/code&gt;는 기본적으로 per-sample Bernoulli mask를 생성함.&lt;/p&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;from torch import nn
from timm.layers import DropPath


class ResidualBlock(nn.Module):
    def __init__(self, dim, drop_path_prob=0.1):
        super().__init__()

        self.block = nn.Sequential(
            nn.Linear(dim, dim),
            nn.GELU(),
            nn.Linear(dim, dim),
        )

        self.drop_path = DropPath(
            drop_prob=drop_path_prob,
        )

    def forward(self, x):
        return x + self.drop_path(self.block(x))&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;timm&lt;/code&gt;의 mask shape 생성 방식은 다음과 같음.&lt;/p&gt;
&lt;pre class=&quot;lisp&quot;&gt;&lt;code&gt;shape = (x.shape[0],) + (1,) * (x.ndim - 1)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫 번째 dimension인 &lt;code&gt;x.shape[0]&lt;/code&gt;은 batch size에 해당함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;나머지 dimension은 모두 (1)로 설정하여 하나의 sample 전체에 같은 mask 값이 broadcast되도록 함.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;5.2.1 CNN feature map&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력이 다음과 같은 CNN feature map이라면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{x} \in \mathbb{R}^{B\times C\times H\times W} $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mask의 shape은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{m} \in \mathbb{R}^{B\times1\times1\times1} $$&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;5.2.2 Transformer hidden state&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입력이 다음과 같은 Transformer hidden state라면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{x} \in \mathbb{R}^{B\times N\times C} $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;mask의 shape은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \textbf{m} \in \mathbb{R}^{B\times1\times1} $$&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;5.2.3 &lt;code&gt;scale_by_keep&lt;/code&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;timm.layers.DropPath&lt;/code&gt;는 기본적으로 &lt;code&gt;scale_by_keep=True&lt;/code&gt;를 사용함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 유지된 residual branch는 keep probability인 $q$로 나누어짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \widetilde{\textbf{x}}_i = \frac{m_i}{q} \textbf{x}_i $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;이는 inverted Dropout과 &lt;br /&gt;같은 방식임.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 조건에서는 입력 tensor를 그대로 반환함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;evaluation mode인 경우&lt;/li&gt;
&lt;li&gt;&lt;code&gt;drop_prob=0&lt;/code&gt;인 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5.3 timm model의 &lt;code&gt;drop_path_rate&lt;/code&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;timm&lt;/code&gt; model은 생성 시 &lt;code&gt;drop_path_rate&lt;/code&gt;를 인자로 받는 경우가 많음.&lt;/p&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;import timm

model = timm.create_model(
    &quot;swin_base_patch4_window7_224&quot;,
    pretrained=True,
    num_classes=4,
    drop_rate=0.1,
    drop_path_rate=0.05,
)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 다음과 같이 해석함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;drop_rate&lt;/code&gt; - 일반 Dropout의 probability&lt;/li&gt;
&lt;li&gt;&lt;code&gt;drop_path_rate&lt;/code&gt; - 마지막 block에 적용되는 최대 DropPath probability&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;drop_path_rate=0.05&lt;/code&gt;는 모든 block에 (0.05)가 동일하게 적용된다는 의미가 아님.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 전체 block에 다음과 같이 선형적으로 배정됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ 0 \longrightarrow 0.05 $$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;입력에 가까운 block에는 $0$에 가까운 drop probability가 적용되고,&lt;/li&gt;
&lt;li&gt;출력에 가까운 마지막 block에는 최대값인 $0.05$에 가까운 drop probability가 적용됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 모든 &lt;code&gt;timm&lt;/code&gt; model이 동일한 인자와 동일한 배정 방식을 사용하는 것은 아님.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Model에 따라 다음 항목이 달라질 수 있음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;drop_rate&lt;/code&gt;의 적용 위치&lt;/li&gt;
&lt;li&gt;classifier Dropout 지원 여부&lt;/li&gt;
&lt;li&gt;attention Dropout 인자 이름&lt;/li&gt;
&lt;li&gt;projection Dropout 인자 이름&lt;/li&gt;
&lt;li&gt;&lt;code&gt;drop_path_rate&lt;/code&gt; 지원 여부&lt;/li&gt;
&lt;li&gt;block별 DropPath schedule&lt;/li&gt;
&lt;li&gt;stage별 또는 block별 probability 배정 방식&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 정확한 동작은 사용하는 model의 constructor와 source에서 확인해야 함.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5.4 Hugging Face Transformers의 DropPath&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Hugging Face Transformers의 여러 vision model은 model별 DropPath class를 내부적으로 구현함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대표적인 구현은 다음과 같은 형태임.&lt;/p&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;def forward(self, hidden_states):
    if self.drop_prob == 0.0 or not self.training:
        return hidden_states

    keep_prob = 1.0 - self.drop_prob

    shape = (
        hidden_states.shape[0],
    ) + (1,) * (hidden_states.ndim - 1)

    random_tensor = torch.rand(
        shape,
        dtype=hidden_states.dtype,
        device=hidden_states.device,
    )

    random_tensor = torch.floor(
        random_tensor + keep_prob
    )

    return hidden_states.div(keep_prob) * random_tensor&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 구현은 다음과 같은 특징을 가짐.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;첫 번째 dimension을 batch dimension으로 사용함.&lt;/li&gt;
&lt;li&gt;sample별 Bernoulli mask를 생성함.&lt;/li&gt;
&lt;li&gt;유지된 residual branch를 keep probability로 나눔.&lt;/li&gt;
&lt;li&gt;evaluation mode에서는 입력을 그대로 반환함.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;drop_prob=0&lt;/code&gt;이면 입력을 그대로 반환함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Swin, SwinV2, BEiT, ConvNeXt 등의 여러 vision model에서 &lt;code&gt;drop_path_rate&lt;/code&gt;가 configuration field로 사용됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 실제 지원 여부와 적용 위치는 model class마다 다를 수 있으므로 source를 확인해야 함.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고: Dropout과 DropPath 비교&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 표에서 DropPath는 현대적인 vision model에서 일반적으로 사용하는 per-sample Stochastic Depth를 의미함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch09/dl_dropout/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dsaint31.me/mkdocs_site/ML/ch09/dl_dropout/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1783667820236&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;BME&quot; data-og-description=&quot;alpha-dropout dropout mc-dropout pytorch regularization Dropout and MC Dropout Dropout은 학습 중 일부 neuron의 출력(=activation) 을 임시로 0으로 만들어 co-adaptation을 줄이고 generalization을 높이는 neural network regularization(&quot; data-og-host=&quot;dsaint31.me&quot; data-og-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch09/dl_dropout/&quot; data-og-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch09/dl_dropout/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/SYppr/dJMb8YXXF5P/43kXnn75eLK9oRjqTd2rik/img.png?width=1672&amp;amp;height=941&amp;amp;face=0_0_1672_941&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch09/dl_dropout/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch09/dl_dropout/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/SYppr/dJMb8YXXF5P/43kXnn75eLK9oRjqTd2rik/img.png?width=1672&amp;amp;height=941&amp;amp;face=0_0_1672_941');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;BME&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;alpha-dropout dropout mc-dropout pytorch regularization Dropout and MC Dropout Dropout은 학습 중 일부 neuron의 출력(=activation) 을 임시로 0으로 만들어 co-adaptation을 줄이고 generalization을 높이는 neural network regularization(&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.me&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;Dropout&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;DropPath&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;역사적 출발&lt;/td&gt;
&lt;td&gt;Hinton et al., 2012 및 Srivastava et al., 2014&lt;/td&gt;
&lt;td&gt;Stochastic Depth 및 FractalNet의 drop-path, 2016&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;제거 대상&lt;/td&gt;
&lt;td&gt;개별 activation&lt;/td&gt;
&lt;td&gt;residual branch 또는 계산 path&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;일반적인 mask 단위&lt;/td&gt;
&lt;td&gt;activation element별&lt;/td&gt;
&lt;td&gt;sample별 residual branch 전체&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CNN 입력&lt;/td&gt;
&lt;td&gt;$\textbf{x}\in\mathbb{R}^{B\times C\times H\times W}$&lt;/td&gt;
&lt;td&gt;$\textbf{x}\in\mathbb{R}^{B\times C\times H\times W}$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;일반적인 CNN mask&lt;/td&gt;
&lt;td&gt;$\textbf{m}\in\mathbb{R}^{B\times C\times H\times W}$&lt;/td&gt;
&lt;td&gt;$\textbf{m}\in\mathbb{R}^{B\times1\times1\times1}$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Transformer 입력&lt;/td&gt;
&lt;td&gt;$\textbf{x}\in\mathbb{R}^{B\times N\times C}$&lt;/td&gt;
&lt;td&gt;$\textbf{x}\in\mathbb{R}^{B\times N\times C}$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;일반적인 Transformer mask&lt;/td&gt;
&lt;td&gt;$\textbf{m}\in\mathbb{R}^{B\times N\times C}$&lt;/td&gt;
&lt;td&gt;$\textbf{m}\in\mathbb{R}^{B\times1\times1}$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;제거 범위&lt;/td&gt;
&lt;td&gt;activation 일부&lt;/td&gt;
&lt;td&gt;한 sample의 residual branch 출력 전체&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;대체 경로 필요성&lt;/td&gt;
&lt;td&gt;필요하지 않음&lt;/td&gt;
&lt;td&gt;제거 후에도 다른 유효한 path가 필요함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;학습 시 동작&lt;/td&gt;
&lt;td&gt;일부 activation을 0으로 설정&lt;/td&gt;
&lt;td&gt;residual branch 또는 path를 0으로 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;평가 시 동작&lt;/td&gt;
&lt;td&gt;일반적으로 identity&lt;/td&gt;
&lt;td&gt;현대적인 구현에서는 identity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;주요 목적&lt;/td&gt;
&lt;td&gt;feature co-adaptation 억제&lt;/td&gt;
&lt;td&gt;path 또는 branch 의존성 억제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;대표 적용 위치&lt;/td&gt;
&lt;td&gt;embedding, MLP, attention probability, classifier&lt;/td&gt;
&lt;td&gt;ResNet, EfficientNet, ViT, Swin, ConvNeXt의 residual branch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;일반 구현의 계산량 절감&lt;/td&gt;
&lt;td&gt;없음&lt;/td&gt;
&lt;td&gt;branch 계산 후 적용하면 거의 없음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Dropout과 DropPath의 &lt;br /&gt;가장 중요한 차이는 &lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;제거하는 단위&lt;/b&gt;&lt;/span&gt;임.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Dropout은 일반적으로 tensor의 개별 activation을 독립적으로 제거함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\widetilde{x}_{i,j} = \frac{m_{i,j}}{q} x_{i,j} $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 DropPath는 한 sample의 residual branch 출력 전체에 하나의 mask 값을 적용함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \widetilde{\textbf{x}}_i = \frac{m_i}{q} \textbf{x}_i $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 다음과 같이 구분할 수 있음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Dropout : 하나의 feature tensor 내부를 부분적으로 제거함.&lt;/li&gt;
&lt;li&gt;DropPath : 하나의 residual branch 또는 계산 path 전체를 제거함.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Programming/ML</category>
      <category>DL</category>
      <category>drop-path</category>
      <category>dropout</category>
      <category>ML</category>
      <category>regularization</category>
      <category>stochastic-depth</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/964</guid>
      <comments>https://dsaint31.tistory.com/964#entry964comment</comments>
      <pubDate>Fri, 10 Jul 2026 16:03:59 +0900</pubDate>
    </item>
    <item>
      <title>Optimism-corrected Accuracy</title>
      <link>https://dsaint31.tistory.com/963</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;941&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bBqaoA/dJMcahkiqHk/0vok64BRL26kEaF5Pvc1e0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bBqaoA/dJMcahkiqHk/0vok64BRL26kEaF5Pvc1e0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bBqaoA/dJMcahkiqHk/0vok64BRL26kEaF5Pvc1e0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBqaoA%2FdJMcahkiqHk%2F0vok64BRL26kEaF5Pvc1e0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;450&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;941&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Optimism-corrected accuracy&lt;/b&gt;는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-is-only-node=&quot;&quot; data-is-last-node=&quot;&quot; data-end=&quot;287&quot; data-start=&quot;196&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;220&quot; data-start=&quot;196&quot; data-section-id=&quot;1f8l13v&quot;&gt;bootstrap sampling을 통해&lt;/li&gt;
&lt;li data-end=&quot;265&quot; data-start=&quot;221&quot; data-section-id=&quot;luc3l3&quot;&gt;resubstitution accuracy에 포함된 &lt;b&gt;낙관적 bias&lt;/b&gt;를&lt;/li&gt;
&lt;li data-is-last-node=&quot;&quot; data-end=&quot;287&quot; data-start=&quot;266&quot; data-section-id=&quot;1vvsau4&quot;&gt;추정하고 보정한 accuracy임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 &lt;b&gt;optimism&lt;/b&gt;은 다음을 의미함.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;model이 &lt;br /&gt;학습에 사용한 data에서 평가될 때, &lt;br /&gt;실제 일반화 성능보다 성능이 좋게 나오는 정도&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, training data에서 다시 평가한 성능은 보통 실제 성능보다 높게 나온다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 &lt;b&gt;apparent performance&lt;/b&gt; 또는 &lt;b&gt;resubstitution performance&lt;/b&gt;라고 부른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 외의 bootstrap에서 사용되는 metrics에 대해선 다음을 참고:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/959&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2026.04.14 - [Programming/ML] - Bootstrap Sampling 기반 Accuracy 추정 지표&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779770751970&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Bootstrap Sampling 기반 Accuracy 추정 지표&quot; data-og-description=&quot;0. 왜 Bootstrap Accuracy Estimation이 필요한가모델 성능 평가의 이상적인 방법은 독립적인 test set을 사용하는 것임.하지만 데이터가 부족한 경우, 충분한 test set을 확보하기 어려움.Bootstrap accuracy estimat&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/959&quot; data-og-url=&quot;https://dsaint31.tistory.com/959&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cgihkY/dJMb86n3WD1/hdEyzq4wyt6wAxZsKjwDs0/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/kltkg/dJMb85vVnI4/MARSoriWDWKNxemB8Vlru0/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/cMO6CJ/dJMb89yjYl5/n4LwkFH24khGCOAEQ3XCNk/img.png?width=1672&amp;amp;height=941&amp;amp;face=0_0_1672_941&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/959&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/959&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cgihkY/dJMb86n3WD1/hdEyzq4wyt6wAxZsKjwDs0/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/kltkg/dJMb85vVnI4/MARSoriWDWKNxemB8Vlru0/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/cMO6CJ/dJMb89yjYl5/n4LwkFH24khGCOAEQ3XCNk/img.png?width=1672&amp;amp;height=941&amp;amp;face=0_0_1672_941');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Bootstrap Sampling 기반 Accuracy 추정 지표&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;0. 왜 Bootstrap Accuracy Estimation이 필요한가모델 성능 평가의 이상적인 방법은 독립적인 test set을 사용하는 것임.하지만 데이터가 부족한 경우, 충분한 test set을 확보하기 어려움.Bootstrap accuracy estimat&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Resubstitution Accuracy&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원본 dataset $D$로 model을 학습하고, 같은 dataset $D$에서 다시 accuracy를 평가한 값을 다음 심볼로 표시:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\hat{\text{Acc}}_{\text{resub}}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 model이 이미 본 data에서 평가된 결과이므로, 일반적으로 낙관적으로 추정됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, $\hat{\text{Acc}}_{\text{resub}}$ 는 실제 unseen data에서의 accuracy보다 높게 나올 가능성이 크다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Bootstrap을 이용한 Optimism 추정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Optimism-corrected bootstrap에서는 $B$번의 bootstrap iteration을 수행한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 iteration $b$에서 원본 dataset $D$로부터 복원추출하여 bootstrap sample $D_b^*$를 만든다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 다음 절차를 수행한다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;$D_b^*$로 model을 학습함.&lt;/li&gt;
&lt;li&gt;학습한 model을 $D_b^*$에서 평가함.&lt;/li&gt;
&lt;li&gt;같은 model을 원본 dataset $D$ 전체에서 평가함.&lt;/li&gt;
&lt;li&gt;두 accuracy의 차이를 optimism으로 계산함.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 bootstrap iteration에서의 optimism은 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$o_b = \hat{\text{Acc}}_{b,\text{boot}} - \hat{\text{Acc}}_{b,\text{orig}}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\hat{\text{Acc}}_{b,\text{boot}}$
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;bootstrap sample $D_b^*$에서 평가한 accuracy&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;$\hat{\text{Acc}}_{b,\text{orig}}$
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;같은 bootstrap-trained model을 원본 dataset $D$ 전체에서 평가한 accuracy&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, $o_b$는 다음을 의미:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;bootstrap sample에서 학습한 model이,&lt;/li&gt;
&lt;li&gt;자신이 학습한 sample에서 평가될 때 얼마나 더 좋게 보이는가&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 평균 Optimism&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 bootstrap iteration에서 얻은 optimism을 다음과 같이 평균을 취함:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\frac{1}{B}\sum_{b=1}^{B} o_b$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 값은 resubstitution accuracy가 실제 성능보다 얼마나 낙관적으로 높게 추정되는지를 나타냄.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. Optimism-corrected Accuracy&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최종적으로 optimism-corrected accuracy는 다음과 같이 계산:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\hat{\text{Acc}}_{\text{opt-corr}} = \hat{\text{Acc}}_{\text{resub}} - \frac{1}{B}\sum_{b=1}^{B} o_b$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 다음을 의미함:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{corrected accuracy} = \text{apparent accuracy} - \text{estimated optimism}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 training data에서 너무 좋게 보이는 성능을 bootstrap으로 추정한 낙관성만큼 낮추는 방식임.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 간단한 예&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원본 dataset으로 학습하고 같은 dataset에서 평가한 accuracy가 다음과 같다고 가정:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\hat{\text{Acc}}_{\text{resub}} = 0.90$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 bootstrap을 통해 평균 optimism이 다음과 같이 추정되었다고 가정:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\frac{1}{B}\sum_{b=1}^{B} o_b = 0.06$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 optimism-corrected accuracy는 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\hat{\text{Acc}}_{\text{opt-corr}} = 0.90 - 0.06 = 0.84$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;apparent accuracy는 $0.90$이지만,&lt;/li&gt;
&lt;li&gt;optimistic bias를 보정하면 실제 성능은 대략 $0.84$에 가깝다고 해석.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. OOB 평가와의 차이&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Optimism-corrected bootstrap은 단순한 OOB(out-of-bag) 평가와 다르다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OOB 방식은 각 bootstrap sample에 포함되지 않은 sample만 이용해 성능을 평가한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 optimism-corrected bootstrap은 각 bootstrap iteration에서 다음 차이를 계산한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \hat{\text{Acc}}_{b,\text{boot}} - \hat{\text{Acc}}_{b,\text{orig}}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OOB 성능 자체를 최종 성능으로 쓰는 것이 아니라,&lt;/li&gt;
&lt;li&gt;&lt;b&gt;학습 data에서의 성능 과대평가 정도&lt;/b&gt;를 추정하는데 이용.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. Optimism-corrected Bootstrap 과 .632, .632+ Bootstrap과의 관계&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Bootstrap 기반 성능 추정에는 대표적으로 다음 방법들이 있음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;optimism-corrected bootstrap&lt;/li&gt;
&lt;li&gt;.632 bootstrap&lt;/li&gt;
&lt;li&gt;.632+ bootstrap&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Accuracy처럼 &lt;b&gt;높을수록 좋은 성능지표&lt;/b&gt;를 기준으로 하면, 일반적으로 낙관적인 순서는 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \text{Resubstitution} &amp;gt; \text{Optimism-corrected} &amp;gt; .632 &amp;gt; .632+$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 보통 다음과 같이 해석할 수 있다.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;방법&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;desc.&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Resubstitution accuracy&lt;/td&gt;
&lt;td&gt;가장 낙관적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Optimism-corrected accuracy&lt;/td&gt;
&lt;td&gt;resubstitution보다는 덜 낙관적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.632 bootstrap&lt;/td&gt;
&lt;td&gt;OOB 성능을 더 직접적으로 반영하므로 더 보수적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.632+ bootstrap&lt;/td&gt;
&lt;td&gt;overfitting이 클수록 OOB 쪽 비중을 더 키우므로 가장 보수적&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이는 일반적인 경향임.&lt;/li&gt;
&lt;li&gt;실제 순서는 dataset size, model complexity, overfitting 정도, 성능지표에 따라 달라질 수 있다.&lt;/li&gt;
&lt;li&gt;error rate처럼 &lt;b&gt;낮을수록 좋은 지표&lt;/b&gt;를 사용할 경우에는 부등호 방향이 반대로 해석될 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. 사용할 때 주의할 점&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Optimism-corrected bootstrap을 올바르게 사용하려면,&lt;br /&gt;각 bootstrap iteration에서 &lt;b&gt;모델링 과정 전체&lt;/b&gt;를 다시 수행해야 함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단순히 이미 학습된 final model을 bootstrap sample에서 평가하는 방식은 적절하지 않다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 bootstrap iteration마다 다음 과정이 모두 다시 수행되어야 한다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;preprocessing&lt;/li&gt;
&lt;li&gt;scaling&lt;/li&gt;
&lt;li&gt;feature selection&lt;/li&gt;
&lt;li&gt;hyperparameter tuning&lt;/li&gt;
&lt;li&gt;threshold selection&lt;/li&gt;
&lt;li&gt;model fitting&lt;/li&gt;
&lt;li&gt;performance evaluation&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래야 전체 modeling pipeline이 가지는 optimism을 제대로 추정할 수 있다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;정리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Optimism-corrected accuracy는 다음을 수행하는 bootstrap 기반 성능 추정 방법임.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;원본 dataset으로 model을 학습하고 원본 dataset에서 resubstitution accuracy를 계산함.&lt;/li&gt;
&lt;li&gt;여러 bootstrap sample을 생성함.&lt;/li&gt;
&lt;li&gt;각 bootstrap sample에서 model을 새로 학습함.&lt;/li&gt;
&lt;li&gt;같은 model을 bootstrap sample과 원본 dataset에서 각각 평가함.&lt;/li&gt;
&lt;li&gt;두 성능 차이를 optimism으로 계산함.&lt;/li&gt;
&lt;li&gt;평균 optimism을 resubstitution accuracy에서 뺌.&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심 식은 다음과 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\hat{\text{Acc}}&lt;i&gt;{\text{opt-corr}}= \hat{\text{Acc}}&lt;/i&gt;{\text{resub}} - \frac{1}{B}\sum_{b=1}^{B} o_b$$&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;optimism-corrected accuracy는&lt;br /&gt;학습 data에서 너무 좋게 보이는 accuracy를&lt;br /&gt;bootstrap으로 추정한 낙관성만큼 보정한 metric임.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;같이보면 좋은 자료들&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/732&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.06.05 - [.../Math] - [ML] Bootstrap Sampling&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779770852015&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Bootstrap Sampling&quot; data-og-description=&quot;Bootstrap Sampling을 이해하고 활용하기Bootstrap Sampling이란 무엇인가?Bootstrap Sampling은 통계학(Statistics)과 데이터 과학(Data Science)에서 널리 사용되는 강력한 방법론(Methodology) 중 하나임.이는 기존의 데&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/732&quot; data-og-url=&quot;https://dsaint31.tistory.com/732&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dSE9PU/dJMb8SXEdec/klTJSiRkpXAKa22mjkRdh0/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554,https://scrap.kakaocdn.net/dn/RZH7j/dJMb8SpOmKH/HN4pKhPtGoJSKM50BAsorK/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554,https://scrap.kakaocdn.net/dn/Cm4Iq/dJMb8Rj8prI/e3hX5mT82CnxjKPAa4HN21/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/732&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/732&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dSE9PU/dJMb8SXEdec/klTJSiRkpXAKa22mjkRdh0/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554,https://scrap.kakaocdn.net/dn/RZH7j/dJMb8SpOmKH/HN4pKhPtGoJSKM50BAsorK/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554,https://scrap.kakaocdn.net/dn/Cm4Iq/dJMb8Rj8prI/e3hX5mT82CnxjKPAa4HN21/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Bootstrap Sampling&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Bootstrap Sampling을 이해하고 활용하기Bootstrap Sampling이란 무엇인가?Bootstrap Sampling은 통계학(Statistics)과 데이터 과학(Data Science)에서 널리 사용되는 강력한 방법론(Methodology) 중 하나임.이는 기존의 데&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/746&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.06.20 - [.../Math] - [ML] Out of Bag: 유도하기.&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779770864610&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Out of Bag: 유도하기.&quot; data-og-description=&quot;Out of Bag (OOB)란?Out of Bag (OOB)는 Bagging (Bootstrap aggregating)과 같이 Bootstraping을 이용한 Ensemble Model에 등장하는 용어. Bootstrap Sampling을 사용할 경우, 특정 predictor를 훈련시킬 때 sample point는 여러번 사용&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/746&quot; data-og-url=&quot;https://dsaint31.tistory.com/746&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/grgAv/dJMb9lldr2l/xBk9MSbbR5n4ni5dWk8L4k/img.jpg?width=800&amp;amp;height=368&amp;amp;face=0_0_800_368,https://scrap.kakaocdn.net/dn/gQpsM/dJMb9efkjzy/yjrRc2b5YXGzWj24QJKA9K/img.jpg?width=800&amp;amp;height=368&amp;amp;face=0_0_800_368,https://scrap.kakaocdn.net/dn/bntwKZ/dJMb9c9EaMj/D14JdwAicgsJhdugAIYlUK/img.jpg?width=960&amp;amp;height=442&amp;amp;face=0_0_960_442&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/746&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/746&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/grgAv/dJMb9lldr2l/xBk9MSbbR5n4ni5dWk8L4k/img.jpg?width=800&amp;amp;height=368&amp;amp;face=0_0_800_368,https://scrap.kakaocdn.net/dn/gQpsM/dJMb9efkjzy/yjrRc2b5YXGzWj24QJKA9K/img.jpg?width=800&amp;amp;height=368&amp;amp;face=0_0_800_368,https://scrap.kakaocdn.net/dn/bntwKZ/dJMb9c9EaMj/D14JdwAicgsJhdugAIYlUK/img.jpg?width=960&amp;amp;height=442&amp;amp;face=0_0_960_442');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Out of Bag: 유도하기.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Out of Bag (OOB)란?Out of Bag (OOB)는 Bagging (Bootstrap aggregating)과 같이 Bootstraping을 이용한 Ensemble Model에 등장하는 용어. Bootstrap Sampling을 사용할 경우, 특정 predictor를 훈련시킬 때 sample point는 여러번 사용&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/ML</category>
      <category>accuracy</category>
      <category>Bootstrap</category>
      <category>Metric</category>
      <category>optimism-corrected accuracy</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/963</guid>
      <comments>https://dsaint31.tistory.com/963#entry963comment</comments>
      <pubDate>Tue, 26 May 2026 13:54:07 +0900</pubDate>
    </item>
    <item>
      <title>Balanced Accuracy (균형 정확도)</title>
      <link>https://dsaint31.tistory.com/962</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;941&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/czQF9C/dJMcagFGbst/kfoo9qn8V33LZBijovb390/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/czQF9C/dJMcagFGbst/kfoo9qn8V33LZBijovb390/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/czQF9C/dJMcagFGbst/kfoo9qn8V33LZBijovb390/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FczQF9C%2FdJMcagFGbst%2Fkfoo9qn8V33LZBijovb390%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;338&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;941&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Balanced Accuracy(균형 정확도)&lt;/b&gt; 는&lt;br /&gt;&lt;b&gt;class imbalance(클래스 불균형)&lt;/b&gt; 가 있는 &lt;br /&gt;classification(분류) 문제에서 사용하는&lt;br /&gt;evaluation metric(평가지표)임.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Ordinary Accuracy&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적인 &lt;b&gt;Accuracy(정확도)&lt;/b&gt; 는 전체 sample 중 맞춘 비율임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{Accuracy} = \frac{\text{맞춘 sample 수}}{\text{전체 sample 수}}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 class의 sample 수가 매우 많으면,&lt;/li&gt;
&lt;li&gt;model(모델)이 majority class(다수 클래스)만 잘 맞춰도&lt;/li&gt;
&lt;li&gt;accuracy가 높게 나올 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Balanced Accuray&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앞서의 class imbalance 에서의 일반 accuracy가 가지는 문제점을 극복하기 위해&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;각 class별 Recall(재현율)&lt;/b&gt; 을 따로 계산한 뒤 평균&lt;/span&gt;낸 것이 &lt;b&gt;Balanced Accuracy(균형 정확도)&lt;/b&gt; 임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{Balanced Accuracy} = \frac{1}{K} \sum_{k=1}^{K} \text{Recall}_k$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여기서 $K$는 class 개수임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, Balanced Accuracy(균형 정확도)는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;sample 수가 많은 class가 전체 성능을 과도하게 지배하지 못하도록&lt;/u&gt;,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;각 class의 Recall(재현율)을 같은 비중으로 반영&lt;/b&gt;&lt;/span&gt;한 metric(평가지표)임.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4-class classification(4개 클래스 분류)의 예&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같이 4개의 class가 있다고 하자.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;실제 class&lt;/b&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;&lt;b&gt;sample 수&lt;/b&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;&lt;b&gt;맞춘 개수&lt;/b&gt;&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;&lt;b&gt;Recall(재현율)&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;100&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;90&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;(90/100 = 0.90)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;B&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;50&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;30&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;(30/50 = 0.60)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;20&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;10&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;(10/20 = 0.50)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;D&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;10&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;2&lt;/td&gt;
&lt;td align=&quot;right&quot;&gt;(2/10 = 0.20)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 Balanced Accuracy(균형 정확도)는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{Balanced Accuracy} = \frac{0.90+0.60+0.50+0.20}{4} = 0.55$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, balanced accuracy는 &lt;b&gt;55%&lt;/b&gt; 임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 일반 accuracy는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{Accuracy} = \frac{90+30+10+2}{100+50+20+10} = \frac{132}{180} \approx 0.733$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 일반 accuracy는 약 &lt;b&gt;73.3%&lt;/b&gt;임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 예에서 accuracy는 73.3%로 비교적 높아 보임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하지만 class D의 recall은 $0.20$ 에 불과함.&lt;/li&gt;
&lt;li&gt;즉, minority class(소수 클래스)인 D를 거의 맞추지 못하고 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Balanced Accuracy(균형 정확도)는&lt;br /&gt;각 class의 recall을 동일한 비중으로 평균내기 때문에,&lt;br /&gt;이런 문제를 더 잘 드러냄.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고: Binary Classification&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Binary Classification(이진분류)에서는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;negative class(음성클래스) 에 대한 Recall&lt;/b&gt;&lt;/span&gt;은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Specificity&lt;/b&gt;&lt;/span&gt; (특이도)라고도 불림.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;때문에 다음과 같이 기재된 문헌도 많음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{Balanced Accurayc} = \frac{\text{Sensitivity} + \text{Specificity}}{2} = \frac{\text{TPR}+\text{TNR}}{2}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* $\text{TPR}=\frac{\text{TP}}{\text{TP}+\text{FN}}$ : True Positive Rate(참양성률) = Recall = Sensitivity&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;* $\text{TNR}=\frac{\text{TN}}{\text{TN}+\text{FP}}$ : True Negative Rate(참음성률) = Specificity&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 식은 앞서의 정의와 정확히 일치하나, 익숙치 않은 경우엔 다르게 보이므로 노파심(?)에서 다시 기재함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ROC Curve에서 사용되는 &lt;b&gt;Fallout&lt;/b&gt;(위양성률) 은 1-Specificity 으로 False Positive Rate라고도 불림.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/?h=roc#receiver-operating-characteristics-roc-and-auc&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/?h=roc#receiver-operating-characteristics-roc-and-auc&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779747425453&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;BME&quot; data-og-description=&quot;AUC F-score F2 PR ROC accuracy confusion matrix mAP macro micro precision recall sensitivity weighted Performance Measures for Classifiers Confusion matrix Confusion matrix(오차행렬, 혼동행렬)은 row는 label의 ideal class 를 나타내며, column&quot; data-og-host=&quot;dsaint31.me&quot; data-og-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/?h=roc#receiver-operating-characteristics-roc-and-auc&quot; data-og-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/?h=roc#receiver-operating-characteristics-roc-and-auc&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/k4U5v/dJMb8Rj8l2h/mYT3J6TCLPkynueXNTqL7k/img.png?width=1373&amp;amp;height=682&amp;amp;face=0_0_1373_682,https://scrap.kakaocdn.net/dn/b8DC56/dJMb9kT9dKn/8SFS8VQoSqkKCm5f4fzxNk/img.png?width=700&amp;amp;height=450&amp;amp;face=0_0_700_450,https://scrap.kakaocdn.net/dn/bDW1xB/dJMb9eTVPml/cDDftlCwzNIkyBVbYwpr00/img.png?width=702&amp;amp;height=312&amp;amp;face=0_0_702_312&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/?h=roc#receiver-operating-characteristics-roc-and-auc&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/?h=roc#receiver-operating-characteristics-roc-and-auc&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/k4U5v/dJMb8Rj8l2h/mYT3J6TCLPkynueXNTqL7k/img.png?width=1373&amp;amp;height=682&amp;amp;face=0_0_1373_682,https://scrap.kakaocdn.net/dn/b8DC56/dJMb9kT9dKn/8SFS8VQoSqkKCm5f4fzxNk/img.png?width=700&amp;amp;height=450&amp;amp;face=0_0_700_450,https://scrap.kakaocdn.net/dn/bDW1xB/dJMb9eTVPml/cDDftlCwzNIkyBVbYwpr00/img.png?width=702&amp;amp;height=312&amp;amp;face=0_0_702_312');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;BME&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;AUC F-score F2 PR ROC accuracy confusion matrix mAP macro micro precision recall sensitivity weighted Performance Measures for Classifiers Confusion matrix Confusion matrix(오차행렬, 혼동행렬)은 row는 label의 ideal class 를 나타내며, column&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.me&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;요약&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Balanced Accuracy(균형 정확도)는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 class별 Recall(재현율)을&lt;/li&gt;
&lt;li&gt;동일한 비중으로 평균낸 metric(지표)이며,&lt;/li&gt;
&lt;li&gt;class imbalance(클래스 불균형)가 있는 경우&lt;/li&gt;
&lt;li&gt;일반 Accuracy(정확도)보다 더 적절한 평가 지표가 될 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;같이 보면 좋은 자료&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://ds31x.tistory.com/307&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://ds31x.tistory.com/307&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779747791044&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Classification 과 관련 metrics 에 대한 소개.&quot; data-og-description=&quot;이 문서는 AI, ML, 그리고 DL의 정의와 이들 간의 차이점을 설명하며,특히 ML의 supervised learning에서 가장 많이 다루는 task인 classification의 종류와 관련 metrics를 설명함.Classifier (분류기):정의: 주어진 &quot; data-og-host=&quot;ds31x.tistory.com&quot; data-og-source-url=&quot;https://ds31x.tistory.com/307&quot; data-og-url=&quot;https://ds31x.tistory.com/307&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/KLuox/dJMb83kzih0/H1dlbjKokA6U7jtzRbksmk/img.png?width=800&amp;amp;height=254&amp;amp;face=0_0_800_254,https://scrap.kakaocdn.net/dn/i77Jk/dJMb9efkgxG/qG4FvOwYCroftQpD7uUVh1/img.png?width=800&amp;amp;height=254&amp;amp;face=0_0_800_254&quot;&gt;&lt;a href=&quot;https://ds31x.tistory.com/307&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ds31x.tistory.com/307&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/KLuox/dJMb83kzih0/H1dlbjKokA6U7jtzRbksmk/img.png?width=800&amp;amp;height=254&amp;amp;face=0_0_800_254,https://scrap.kakaocdn.net/dn/i77Jk/dJMb9efkgxG/qG4FvOwYCroftQpD7uUVh1/img.png?width=800&amp;amp;height=254&amp;amp;face=0_0_800_254');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Classification 과 관련 metrics 에 대한 소개.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이 문서는 AI, ML, 그리고 DL의 정의와 이들 간의 차이점을 설명하며,특히 ML의 supervised learning에서 가장 많이 다루는 task인 classification의 종류와 관련 metrics를 설명함.Classifier (분류기):정의: 주어진&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ds31x.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779747801223&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;BME&quot; data-og-description=&quot;AUC F-score F2 PR ROC accuracy confusion matrix mAP macro micro precision recall sensitivity weighted Performance Measures for Classifiers Confusion matrix Confusion matrix(오차행렬, 혼동행렬)은 row는 label의 ideal class 를 나타내며, column&quot; data-og-host=&quot;dsaint31.me&quot; data-og-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&quot; data-og-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/fgW7O/dJMb9kT9dLQ/hxLk4S7KUKsNtVBIU2skok/img.png?width=1373&amp;amp;height=682&amp;amp;face=0_0_1373_682,https://scrap.kakaocdn.net/dn/bm2Vsp/dJMb9b3YixZ/kHqbk7vJjXzhbFgDQeXh8K/img.png?width=700&amp;amp;height=450&amp;amp;face=0_0_700_450,https://scrap.kakaocdn.net/dn/pcULf/dJMb9c9D7Rq/Ag1uZbINGrQH1bIw6dncnK/img.png?width=702&amp;amp;height=312&amp;amp;face=0_0_702_312&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/fgW7O/dJMb9kT9dLQ/hxLk4S7KUKsNtVBIU2skok/img.png?width=1373&amp;amp;height=682&amp;amp;face=0_0_1373_682,https://scrap.kakaocdn.net/dn/bm2Vsp/dJMb9b3YixZ/kHqbk7vJjXzhbFgDQeXh8K/img.png?width=700&amp;amp;height=450&amp;amp;face=0_0_700_450,https://scrap.kakaocdn.net/dn/pcULf/dJMb9c9D7Rq/Ag1uZbINGrQH1bIw6dncnK/img.png?width=702&amp;amp;height=312&amp;amp;face=0_0_702_312');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;BME&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;AUC F-score F2 PR ROC accuracy confusion matrix mAP macro micro precision recall sensitivity weighted Performance Measures for Classifiers Confusion matrix Confusion matrix(오차행렬, 혼동행렬)은 row는 label의 ideal class 를 나타내며, column&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.me&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/ML</category>
      <category>accuracy</category>
      <category>Balanced Accuracy</category>
      <category>class imbalance</category>
      <category>classification</category>
      <category>Metric</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/962</guid>
      <comments>https://dsaint31.tistory.com/962#entry962comment</comments>
      <pubDate>Tue, 26 May 2026 07:26:04 +0900</pubDate>
    </item>
    <item>
      <title>[ML] BFGS, L-BFGS, L-BFGS-B : Quasi-Newton method</title>
      <link>https://dsaint31.tistory.com/961</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2752&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xVSRm/dJMcahEb3gI/iGVK4nbNFGhgFnwdk38hb1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xVSRm/dJMcahEb3gI/iGVK4nbNFGhgFnwdk38hb1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xVSRm/dJMcahEb3gI/iGVK4nbNFGhgFnwdk38hb1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxVSRm%2FdJMcahEb3gI%2FiGVK4nbNFGhgFnwdk38hb1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;335&quot; data-origin-width=&quot;2752&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;[BFGS]&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS(Broyden-Fletcher-Goldfarb-Shanno algorithm)는 대표적인 &lt;b&gt;Quasi-Newton method(준-뉴턴 방법)&lt;/b&gt; 중 하나임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; background-color: #ffffff; color: #353638; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;고차원 문제에서는 L-BFGS가 더 많이 사용됨&lt;/li&gt;
&lt;li style=&quot;list-style-type: disc;&quot;&gt;L-BFGS 는 BFGS가 전체 matrix를 메모리에 적재하는 것을 개선한 버전으로 주로 많이 이용됨(&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;L&lt;/b&gt;&lt;/span&gt;= Limited-meory)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;BFGS는 &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1970년에 4명의 연구자 (Broyden-Fletcher-Goldfarb-Shanno 가 &lt;br /&gt;독립적으로 서로 다른 방식의 접근을 통해 &lt;br /&gt;동일한 업데이트식을 도출해 낸 걸로 유명한 알고리즘.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;이들 4명의 연구자들의 이름을 따서 BFGS 가 됨.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;당시 널리 사용되던 DFP(Davidon-Fletcher-Powell) 방법의 단점을 보완하기 위해 개발됨.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;현재는 unconstrained optimization 문제에서 가장 효율적이고 널리 쓰이는 표준 알고리즘임.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://math.unm.edu/~vageli/courses/Ma576/Broyden2.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;C. G. Broyden: &quot;The convergence of a class of double rank minimization algorithms&quot;, Journal of the Institute of Mathematics and Its Applications.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://academic.oup.com/comjnl/article-abstract/13/3/317/345520&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;R.&amp;nbsp;Fletcher:&amp;nbsp;&quot;A&amp;nbsp;new&amp;nbsp;approach&amp;nbsp;to&amp;nbsp;variable&amp;nbsp;metric&amp;nbsp;algorithms&quot;,&amp;nbsp;Computer&amp;nbsp;Journal.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://pubs.ams.org/journals/mcom/1970-24-109/S0025-5718-1970-0258249-6/S0025-5718-1970-0258249-6.pdf&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;D. F. Goldfarb: &quot;A family of variable metric methods derived by variational means&quot;, Mathematics of Computation.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.semanticscholar.org/paper/Conditioning-of-Quasi-Newton-Methods-for-Function-Shanno/e9837699264e42aec8e3aa700253ab4f1a44c248&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;D. F. Shanno: &quot;Conditioning of quasi Newton methods for function minimization&quot;, Mathematics of Computation.&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Optimization problem에서&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;목적 함수(objective function) $L(\boldsymbol{\omega})$를 최소화하려면,&lt;/li&gt;
&lt;li&gt;일반적으로 다음과 같은 optimization 문제를 풀게 됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\underset{\boldsymbol{\omega}}{\min} L(\boldsymbol{\omega})$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 $\boldsymbol{\omega}$는 최적화 대상이 되는 parameter vector임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;u&gt;gradient descent보다 더 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;빠른 수렴&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;을 목표로 하면서,&lt;/li&gt;
&lt;li&gt;Newton method처럼 &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;u&gt;Hessian matrix를 직접 계산하지 않도록 설계&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;된&lt;/li&gt;
&lt;li&gt;optimization algorithm임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://convex-optimization-for-all.github.io/contents/chapter18/2021/03/23/18_07_Limited_Memory_BFGS_(LBFGS)/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://convex-optimization-for-all.github.io/contents/chapter18/2021/03/23/18_07_Limited_Memory_BFGS_(LBFGS)/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777291902653&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;18-07 Limited Memory BFGS (LBFGS) &amp;middot; 모두를 위한 컨벡스 최적화&quot; data-og-description=&quot;18-07 Limited Memory BFGS (LBFGS) Introduction LBFGS는 Limited-memory quasi-Newton methods의 한 예시로써, Hessian 행렬을 계산하거나 저장하기 위한 비용이 합리적이지 않을 경우 유용하게 사용된다. 이 방법은 밀도&quot; data-og-host=&quot;convex-optimization-for-all.github.io&quot; data-og-source-url=&quot;https://convex-optimization-for-all.github.io/contents/chapter18/2021/03/23/18_07_Limited_Memory_BFGS_(LBFGS)/&quot; data-og-url=&quot;https://convex-optimization-for-all.github.io/contents/chapter18/2021/03/23/18_07_Limited_Memory_BFGS_(LBFGS)/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/b7bLEU/dJMb9lMeqr4/FJyeKAKNEiK33akikDnqB0/img.png?width=600&amp;amp;height=470&amp;amp;face=0_0_600_470&quot;&gt;&lt;a href=&quot;https://convex-optimization-for-all.github.io/contents/chapter18/2021/03/23/18_07_Limited_Memory_BFGS_(LBFGS)/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://convex-optimization-for-all.github.io/contents/chapter18/2021/03/23/18_07_Limited_Memory_BFGS_(LBFGS)/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/b7bLEU/dJMb9lMeqr4/FJyeKAKNEiK33akikDnqB0/img.png?width=600&amp;amp;height=470&amp;amp;face=0_0_600_470');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;18-07 Limited Memory BFGS (LBFGS) &amp;middot; 모두를 위한 컨벡스 최적화&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;18-07 Limited Memory BFGS (LBFGS) Introduction LBFGS는 Limited-memory quasi-Newton methods의 한 예시로써, Hessian 행렬을 계산하거나 저장하기 위한 비용이 합리적이지 않을 경우 유용하게 사용된다. 이 방법은 밀도&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;convex-optimization-for-all.github.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Review: Newton Method&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/322&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.06.07 - [Computer/ETC] - [ML] Newton-Raphson Method&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777273341640&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Newton-Raphson Method&quot; data-og-description=&quot;1. Newton-Raphson Method : $f(x)=0$을 만족하는 root(근)인 $\hat{x}$를 찾는 방법 중 하나 : root-finding algorithm 위의 그림에서 보이듯이1st order derivative(1차 도함수)를 이용하여현재의 $x_t$로부터 $x_{t+1}$을 구해&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/322&quot; data-og-url=&quot;https://dsaint31.tistory.com/322&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/xcuTs/dJMb8TCcyIS/kFMMk1Gms2GqM6jotTX5MK/img.png?width=800&amp;amp;height=351&amp;amp;face=0_0_800_351,https://scrap.kakaocdn.net/dn/jKvqZ/dJMb8VNymuF/X7F32kLP9Mu6qOahe7puyK/img.png?width=800&amp;amp;height=351&amp;amp;face=0_0_800_351,https://scrap.kakaocdn.net/dn/dJrtGX/dJMb83SlNxI/3KvCWrQCzzfMUpkwtYt6W0/img.png?width=1037&amp;amp;height=456&amp;amp;face=0_0_1037_456&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/322&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/322&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/xcuTs/dJMb8TCcyIS/kFMMk1Gms2GqM6jotTX5MK/img.png?width=800&amp;amp;height=351&amp;amp;face=0_0_800_351,https://scrap.kakaocdn.net/dn/jKvqZ/dJMb8VNymuF/X7F32kLP9Mu6qOahe7puyK/img.png?width=800&amp;amp;height=351&amp;amp;face=0_0_800_351,https://scrap.kakaocdn.net/dn/dJrtGX/dJMb83SlNxI/3KvCWrQCzzfMUpkwtYt6W0/img.png?width=1037&amp;amp;height=456&amp;amp;face=0_0_1037_456');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Newton-Raphson Method&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;1. Newton-Raphson Method : $f(x)=0$을 만족하는 root(근)인 $\hat{x}$를 찾는 방법 중 하나 : root-finding algorithm 위의 그림에서 보이듯이1st order derivative(1차 도함수)를 이용하여현재의 $x_t$로부터 $x_{t+1}$을 구해&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Newton method는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현재 parameter $\boldsymbol{\omega}_k$에서&lt;/li&gt;
&lt;li&gt;목적 함수 $L(\boldsymbol{\omega})$를&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;2차 Taylor approximation으로 근사&lt;/b&gt;&lt;/span&gt;함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$L(\boldsymbol{\omega}_k + \mathbf{p}) \approx&lt;br /&gt;L(\boldsymbol{\omega}_k) +&lt;br /&gt;\nabla L(\boldsymbol{\omega}_k)^\top \mathbf{p} +&lt;br /&gt;\frac{1}{2}\mathbf{p}^\top \mathbf{H}_k \mathbf{p}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\nabla L(\boldsymbol{\omega}_k)$: 현재 parameter에서의 gradient vector&lt;/li&gt;
&lt;li&gt;$\mathbf{H}_k$: 현재 parameter에서의 Hessian matrix&lt;/li&gt;
&lt;li&gt;$\mathbf{p}$: 현재 위치에서 이동할 방향을 나타내는 search direction&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 2차 근사식을 최소화하면 Newton direction은 다음과 같이 얻어짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{p}_k = -\mathbf{H}_k^{-1}\nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 parameter update는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega}_{k+1} = \boldsymbol{\omega}_k + \eta_k \mathbf{p}_k$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 $\eta_k$는 $k$번째 iteration에서의 learning rate 또는 step size임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 식에 Newton direction을 대입하면 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega}_{k+1} = \boldsymbol{\omega}_k - \eta_k \mathbf{H}_k^{-1}\nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, Newton method는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단순히 gradient의 반대 방향으로 이동하는 것이 아니라,&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;u&gt;&lt;b&gt;Hessian inverse를 gradient vector에 곱해 curvature를 반영&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;한 search direction을 계산한 뒤 이동함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/318&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.06.05 - [Programming/DIP] - [Math] Hessian: Summary&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777273463572&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] Hessian: Summary&quot; data-og-description=&quot;이 문서는 Numerator Layout Convention 을 사용함.Hessian : Summary 2nd order derivative of multivariable function.여기서 multivariable function은 입력은 vector, 출력은 scalar 인 함수를 의미함: ML에서의 loss function을 생각해 &quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/318&quot; data-og-url=&quot;https://dsaint31.tistory.com/318&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dbBWmd/dJMb9kmfDa4/8Ik6IV8vC2jrvkKcuWjghk/img.png?width=800&amp;amp;height=417&amp;amp;face=0_0_800_417,https://scrap.kakaocdn.net/dn/vHfcH/dJMb9gxokqK/PGBkp3ihhrj1MvDEcQYxKk/img.png?width=800&amp;amp;height=417&amp;amp;face=0_0_800_417,https://scrap.kakaocdn.net/dn/dQoAGn/dJMb9gxokqJ/YIhBu5ab0ndkzMkKjtKmXK/img.png?width=1214&amp;amp;height=633&amp;amp;face=0_0_1214_633&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/318&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/318&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dbBWmd/dJMb9kmfDa4/8Ik6IV8vC2jrvkKcuWjghk/img.png?width=800&amp;amp;height=417&amp;amp;face=0_0_800_417,https://scrap.kakaocdn.net/dn/vHfcH/dJMb9gxokqK/PGBkp3ihhrj1MvDEcQYxKk/img.png?width=800&amp;amp;height=417&amp;amp;face=0_0_800_417,https://scrap.kakaocdn.net/dn/dQoAGn/dJMb9gxokqJ/YIhBu5ab0ndkzMkKjtKmXK/img.png?width=1214&amp;amp;height=633&amp;amp;face=0_0_1214_633');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] Hessian: Summary&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이 문서는 Numerator Layout Convention 을 사용함.Hessian : Summary 2nd order derivative of multivariable function.여기서 multivariable function은 입력은 vector, 출력은 scalar 인 함수를 의미함: ML에서의 loss function을 생각해&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Gradient Descent와 Newton Method의 차이&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/633&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.10.19 - [Programming] - [ML] Gradient Descent Method: 경사하강법&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777273393867&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Gradient Descent Method: 경사하강법&quot; data-og-description=&quot;Gradient Descent Method (경사하강법) : 1. 정의 및 수식Steepest Gradient Descent Method로도 불리는Gradient Descent Method(경사하강법)는 여러 Optimization 방법 중 가장 많이 사용되는 방법들 중 하나임.training set $X$&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/633&quot; data-og-url=&quot;https://dsaint31.tistory.com/633&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Q5t5o/dJMb86n0uQw/OssifwJ3vlVCs4l7pCalkk/img.png?width=800&amp;amp;height=401&amp;amp;face=0_0_800_401,https://scrap.kakaocdn.net/dn/IpALC/dJMb83SlNyl/id3Hrtj6Ey0AFwcSZk7zi1/img.png?width=800&amp;amp;height=401&amp;amp;face=0_0_800_401,https://scrap.kakaocdn.net/dn/59OfI/dJMb86O4ERg/8qLv31Dj7MWQhEYzLngcuk/img.png?width=1235&amp;amp;height=479&amp;amp;face=0_0_1235_479&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/633&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/633&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Q5t5o/dJMb86n0uQw/OssifwJ3vlVCs4l7pCalkk/img.png?width=800&amp;amp;height=401&amp;amp;face=0_0_800_401,https://scrap.kakaocdn.net/dn/IpALC/dJMb83SlNyl/id3Hrtj6Ey0AFwcSZk7zi1/img.png?width=800&amp;amp;height=401&amp;amp;face=0_0_800_401,https://scrap.kakaocdn.net/dn/59OfI/dJMb86O4ERg/8qLv31Dj7MWQhEYzLngcuk/img.png?width=1235&amp;amp;height=479&amp;amp;face=0_0_1235_479');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Gradient Descent Method: 경사하강법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Gradient Descent Method (경사하강법) : 1. 정의 및 수식Steepest Gradient Descent Method로도 불리는Gradient Descent Method(경사하강법)는 여러 Optimization 방법 중 가장 많이 사용되는 방법들 중 하나임.training set $X$&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gradient descent는 다음과 같이 parameter를 update함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega}_{k+1} = \boldsymbol{\omega}_k - \eta_k \nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, gradient의 반대 방향으로 이동함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 Newton method는 다음과 같이 update함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega}_{k+1} = \boldsymbol{\omega}_k - \eta_k \mathbf{H}_k^{-1}\nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차이는 $\mathbf{H}_k^{-1}$의 존재임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Gradient descent는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;gradient&lt;/b&gt; &lt;/span&gt;정보만 사용함.&lt;/li&gt;
&lt;li&gt;Newton method는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;gradient&lt;/b&gt;&lt;/span&gt;에 더해 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Hessian matrix&lt;/b&gt;&lt;/span&gt;도 사용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Hessian matrix&lt;/b&gt;는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;목적 함수의 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;2차 미분 정보 (=Hessian)&lt;/b&gt;&lt;/span&gt;를 담고 있음.&lt;/li&gt;
&lt;li&gt;즉, 목적 함수의 curvature(곡률)를 나타냄.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 Newton method는 단순히 어느 방향으로 내려갈지만 보는 것이 아니라, &lt;br /&gt;각 방향으로 목적함수가 얼마나 휘어져 있는지도 고려함.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. Newton Method의 문제점&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Newton method&lt;/b&gt;&lt;/span&gt;는 2차 정보를 사용하므로 gradient descent보다 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;빠르게 수렴&lt;/b&gt;&lt;/span&gt;할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 실제 사용에서는 다음 문제가 있음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Hessian matrix $\mathbf{H}_k$를 직접 계&lt;/b&gt;&lt;/span&gt;산해야 함&lt;/li&gt;
&lt;li&gt;Hessian matrix의 크기가 $m \times m$이므로 parameter 수가 많으면 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;계산량과 메모리 사용량이 커짐&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Hessian inverse $\mathbf{H}_k^{-1}$를 직접 구하는 비용이 큼&lt;/li&gt;
&lt;li&gt;Hessian이 positive definite가 아니면 descent direction이 보장되지 않을 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, Newton method는 이론적으로 강력하지만, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;고차원 문제에서는 계산 부담이 큼&lt;/b&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 parameter vector가 다음과 같다고 하자.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega} =&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;\omega_1 \\&lt;br /&gt;\omega_2 \\&lt;br /&gt;\vdots \\&lt;br /&gt;\omega_m&lt;br /&gt;\end{bmatrix}&lt;br /&gt;\in \mathbb{R}^m$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 Hessian matrix는 다음 크기를 가짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{H} \in \mathbb{R}^{m \times m}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;parameter 수 $m$ 이 커질수록 Hessian matrix를 저장하고 계산하는 비용이 급격히 커짐.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. Quasi-Newton Methods&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Quasi-Newton methods는 &lt;br /&gt;&lt;u&gt;Newton method의 아이디어를 유지&lt;/u&gt;하되, &lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Hessian matrix를 직접 계산하지 않는 방법들&lt;/b&gt;&lt;/span&gt;임.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Newton method에서는 다음과 같은 direction을 사용함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{p}_k = -\mathbf{H}_k^{-1}\nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Quasi-Newton method에서는 $\mathbf{H}_k^{-1}$ 대신 &lt;span style=&quot;color: #ee2323;&quot;&gt;이를 근사한 matrix $\mathbf{M}_k$를 사용&lt;/span&gt;함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{p}_k = -\mathbf{M}_k \nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여기서 $\mathbf{M}_k$는 inverse Hessian approximation임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{M}_k \approx \mathbf{H}_k^{-1}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Quasi-Newton method의 핵심은 다음과 같음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Hessian matrix를 직접 계산하지 않음&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;gradient 변화량을 이용해 curvature 정보를 추정&lt;/b&gt;&lt;/span&gt;함&lt;/li&gt;
&lt;li&gt;Newton method와 비슷한 search direction을 만들려고 함&lt;/li&gt;
&lt;li&gt;gradient descent보다 빠른 수렴을 기대할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;BFGS&lt;/b&gt;&lt;/span&gt;는 &lt;br /&gt;이러한 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Quasi-Newton method&lt;/b&gt;&lt;/span&gt; 중 &lt;br /&gt;가장 널리 사용되는 방법 중 하나임.&lt;/span&gt;&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. BFGS의 핵심 아이디어&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS는 &lt;u&gt;&lt;b&gt;Hessian을 직접 계산하지 않고&lt;/b&gt;&lt;/u&gt;, 반복 과정에서 얻은 두 정보를 이용함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;첫 번째는 &lt;span style=&quot;color: #ee2323;&quot;&gt;parameter 변화량&lt;/span&gt;임.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{s}_k = \boldsymbol{\omega}_{k+1} - \boldsymbol{\omega}_k$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;두 번째는 &lt;span style=&quot;color: #ee2323;&quot;&gt;gradient 변화량&lt;/span&gt;임.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{y}_k = \nabla L(\boldsymbol{\omega}_{k+1}) - \nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, BFGS는 다음 두 vector를 이용해 목적 함수의 curvature를 간접적으로 추정함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\mathbf{s}_k$: &lt;u&gt;parameter가 어느 방향으로 얼마나 이동&lt;/u&gt;했는지&lt;/li&gt;
&lt;li&gt;$\mathbf{y}_k$: &lt;u&gt;그 이동에 따라 gradient가 얼마나 변했는지&lt;/u&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;gradient의 변화는 함수의 curvature 정보를 포함&lt;/b&gt;&lt;/span&gt;함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;따라서 Hessian을 직접 계산하지 않아도, &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;parameter 변화량과 gradient 변화량을 이용&lt;/b&gt;&lt;/span&gt;하면 &lt;br /&gt;curvature를 어느 정도 추정할 수 있음.&lt;/span&gt;&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. Secant Condition&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Hessian matrix는 gradient의 변화율&lt;/b&gt;&lt;/span&gt;을 나타냄.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 이상적으로는 다음 관계가 성립해야 함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{H}_{k+1}\mathbf{s}_k \approx \mathbf{y}_k$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;secant condition(할선 조건)&lt;/b&gt;&lt;/span&gt;이라고 함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;u&gt;Inverse Hessian approximation을 사용하는 경우&lt;/u&gt;에는 다음처럼 쓸 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\mathbf{M}_{k+1}\mathbf{y}_k = \mathbf{s}_k&lt;br /&gt;$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여기서 $\mathbf{M}_{k+1}$은 다음 iteration에서 사용할 inverse Hessian approximation임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, BFGS는 다음 조건을 만족하도록 $\mathbf{M}_k$를 update함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{M}_{k+1}\mathbf{y}_k&lt;br /&gt;= \mathbf{s}_k$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 조건의 의미는 다음과 같음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;gradient 변화량 $\mathbf{y}_k$&lt;/b&gt;&lt;/span&gt;에 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;inverse Hessian approximation&lt;/b&gt;&lt;/span&gt;을 곱하면&lt;/li&gt;
&lt;li&gt;실제 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;parameter 변화량 $\mathbf{s}_k$와 일치&lt;/b&gt;&lt;/span&gt;하도록 만들겠다는 것임&lt;/li&gt;
&lt;li&gt;즉, 현재까지 관찰한 변화에 대해서는 Newton method와 비슷한 관계를 만족하도록 matrix를 보정함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. BFGS Update Formula&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Inverse Hessian approximation을 $\mathbf{M}_k$라고 하면, BFGS update는 다음과 같이 주어짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{M}_{k+1} =&lt;br /&gt;\left(&lt;br /&gt;\mathbf{I} - \rho_k \mathbf{s}_k \mathbf{y}_k^\top&lt;br /&gt;\right)&lt;br /&gt;\mathbf{M}_k&lt;br /&gt;\left(&lt;br /&gt;\mathbf{I} -&lt;br /&gt;\rho_k \mathbf{y}_k \mathbf{s}_k^\top&lt;br /&gt;\right) +&lt;br /&gt;\rho_k \mathbf{s}_k \mathbf{s}_k^\top$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \rho_k = \frac{1}{\mathbf{y}_k^\top \mathbf{s}_k}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 식은 처음 보면 복잡하지만, 핵심은 단순함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기존 inverse Hessian approximation $\mathbf{M}_k$를 유지함&lt;/li&gt;
&lt;li&gt;새롭게 관찰한 $\mathbf{s}_k$, $\mathbf{y}_k$ 정보를 반영함&lt;/li&gt;
&lt;li&gt;secant condition을 만족하도록 matrix를 보정함&lt;/li&gt;
&lt;li&gt;positive definite 성질을 유지하려고 함&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 보통 다음 조건이 필요함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{y}_k^\top \mathbf{s}_k &amp;gt; 0 $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 조건은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;curvature condition&lt;/b&gt;&lt;/span&gt;이라고 볼 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS에서 이 조건이 만족되면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\mathbf{M}_k$가 positive definite일 때&lt;/li&gt;
&lt;li&gt;$\mathbf{M}_{k+1}$도 positive definite가 됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. BFGS의 반복 절차&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS의 전체 흐름은 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1.초기 parameter $\boldsymbol{\omega}_0$ 선택&lt;br /&gt;2.초기 inverse Hessian approximation $\mathbf{M}_0$ 선택&lt;br /&gt;3.현재 gradient $\nabla L(\boldsymbol{\omega}_k)$ 계산&lt;br /&gt;4.search direction 계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{p}_k = -\mathbf{M}_k \nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5.line search를 통해 learning rate $\eta_k$ 결정&lt;br /&gt;6.parameter update&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega}_{k+1} = \boldsymbol{\omega}_k +\eta_k \mathbf{p}_k$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;7.parameter 변화량 계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{s}_k = \boldsymbol{\omega}_{k+1} - \boldsymbol{\omega}_k$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;8.gradient 변화량 계산&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{y}_k = \nabla L(\boldsymbol{\omega}_{k+1}) - \nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;9.$\mathbf{M}_k$를 $\mathbf{M}_{k+1}$로 update&lt;br /&gt;10.수렴 조건을 만족할 때까지 반복&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리하면 BFGS의 update는 다음 한 줄로 볼 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega}_{k+1} = \boldsymbol{\omega}_k - \eta_k \mathbf{M}_k \nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gradient descent와 비슷해 보이지만, gradient 앞에 $\mathbf{M}_k$ 가 곱해져 있다는 점이 핵심 차이임.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;9. Gradient Descent와의 비교.&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gradient descent는 gradient의 반대 방향으로 이동함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{p}_k = - \nabla L(\boldsymbol{\omega}_k) $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 update는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega}_{k+1} = \boldsymbol{\omega}_k - \eta_k \nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 BFGS는 gradient에 inverse Hessian approximation을 곱해서 이동 방향을 정함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{p}_k= - \mathbf{M}_k \nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 update는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\boldsymbol{\omega}_{k+1} =&lt;br /&gt;\boldsymbol{\omega}_k +\eta_k \mathbf{p}_k&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega}_{k+1} = \boldsymbol{\omega}_k - \eta_k&lt;br /&gt;\mathbf{M}_k&lt;br /&gt;\nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비교하면 다음과 같음.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;Gradient Descent&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;BFGS&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;사용 정보&lt;/td&gt;
&lt;td&gt;Gradient&lt;/td&gt;
&lt;td&gt;Gradient + curvature approximation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hessian 계산&lt;/td&gt;
&lt;td&gt;사용하지 않음&lt;/td&gt;
&lt;td&gt;직접 계산하지 않고 근사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;이동 방향&lt;/td&gt;
&lt;td&gt;$-\nabla L(\boldsymbol{\omega}_k)$&lt;/td&gt;
&lt;td&gt;$-\mathbf{M}_k\nabla L(\boldsymbol{\omega}_k)$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Learning rate&lt;/td&gt;
&lt;td&gt;사용&lt;/td&gt;
&lt;td&gt;사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;수렴 속도&lt;/td&gt;
&lt;td&gt;느릴 수 있음&lt;/td&gt;
&lt;td&gt;보통 더 빠름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;메모리 사용량&lt;/td&gt;
&lt;td&gt;작음&lt;/td&gt;
&lt;td&gt;큼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;고차원 문제 적합성&lt;/td&gt;
&lt;td&gt;상대적으로 좋음&lt;/td&gt;
&lt;td&gt;원래 BFGS는 부담이 큼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gradient descent는 함수의 기울기만 보고 이동함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS는 gradient에 곡률 정보를 반영한 matrix를 곱해서, 더 적절한 방향과 scale로 이동하려고 함.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. Newton Method와 비교&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Newton method는 정확한 Hessian matrix를 사용함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{p}_k = -\mathbf{H}_k^{-1}\nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS는 inverse Hessian을 직접 계산하지 않고, 이를 근사한 $\mathbf{M}_k$를 사용함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{p}_k = -\mathbf{M}_k \nabla L( \boldsymbol{ \omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차이점은 다음과 같음.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;Newton Method&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;BFGS&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hessian&lt;/td&gt;
&lt;td&gt;직접 계산&lt;/td&gt;
&lt;td&gt;직접 계산하지 않음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hessian inverse&lt;/td&gt;
&lt;td&gt;직접 또는 선형 시스템으로 처리&lt;/td&gt;
&lt;td&gt;반복적으로 근사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;곡률 정보&lt;/td&gt;
&lt;td&gt;정확한 2차 정보&lt;/td&gt;
&lt;td&gt;gradient 변화로부터 근사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;계산 비용&lt;/td&gt;
&lt;td&gt;큼&lt;/td&gt;
&lt;td&gt;Newton보다 작음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;수렴 속도&lt;/td&gt;
&lt;td&gt;매우 빠를 수 있음&lt;/td&gt;
&lt;td&gt;빠른 편&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;구현 안정성&lt;/td&gt;
&lt;td&gt;Hessian 상태에 민감&lt;/td&gt;
&lt;td&gt;line search와 함께 안정적으로 사용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Newton method의 &amp;ldquo;2차 정보를 활용한다&amp;rdquo;는 장점은 어느 정도 유지하면서,&lt;/li&gt;
&lt;li&gt;Hessian 계산 부담을 줄인 방법이라고 볼 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;11. BFGS에서 Line Search가 중요한 이유: leraning rate의 중요성&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS에서는 search direction $\mathbf{p}_k$를 구한 뒤, learning rate $\eta_k$를 정해야 함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega}_{k+1} =&lt;br /&gt;\boldsymbol{\omega}_k + \eta_k \mathbf{p}_k $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 $\eta_k$를 너무 크게 잡으면 목적 함수 값이 오히려 발산할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반대로 $\eta_k$를 너무 작게 잡으면 수렴이 느려짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 BFGS에서는 보통 line search를 사용해 적절한 $\eta_k$를 선택함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Line search는 현재 direction $\mathbf{p}_k$ 를 따라 어느 정도 이동할지를 결정하는 절차임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 다음 1차원 문제를 푸는 것과 비슷함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\underset{\eta}{\min} L(\boldsymbol{\omega}_k + \eta \mathbf{p}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 구현에서는 exact하게 최소화하기보다는, Wolfe condition 같은 조건을 만족하는 $\eta_k$를 찾는 방식이 자주 사용됨.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;12. Positive Definite와 Descent Direction&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS에서 $\mathbf{M}_k$ 는 inverse Hessian approximation임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 $\mathbf{M}_k$가 positive definite이라면,&lt;br /&gt;BFGS direction은 descent direction이 됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS direction은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{p}_k = - \mathbf{M}_k \nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 direction이 descent direction이라는 것은 다음이 성립한다는 뜻임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\nabla L(\boldsymbol{\omega}_k)^\top \mathbf{p}_k &amp;lt; 0&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 대입하여 살펴보자:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\nabla L(\boldsymbol{\omega}_k)^\top \mathbf{p}_k&lt;br /&gt;= - \nabla L(\boldsymbol{\omega}_k)^\top&lt;br /&gt;\mathbf{M}_k \nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\mathbf{M}_k)$가 positive definite이면 다음이 성립함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\nabla L(\boldsymbol{\omega}_k)^\top&lt;br /&gt;\mathbf{M}_k&lt;br /&gt;\nabla L(\boldsymbol{\omega}_k) &amp;gt;0&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\nabla L(\boldsymbol{\omega_k})^\top \mathbf{p}_k &amp;lt; 0 $$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가 됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, $\mathbf{M}_k$가 positive definite이면 $\mathbf{p}_k$는 목적 함수 값을 감소시키는 방향이 됨.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;13. 응용: L-BFGS&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;i&gt;&lt;b&gt;BFGS&lt;/b&gt;&lt;/i&gt;는 inverse Hessian approximation matrix $\mathbf{M}_k$를 저장해야 함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;parameter 수가 $m$개라면 $\mathbf{M}_k$의 크기는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;m \times m&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 parameter 수가 많으면 메모리 사용량이 매우 커짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 해결하기 위해 나온 방법이 L-BFGS(Limited-memory BFGS)임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;L-BFGS는 전체 matrix를 저장하지 않고, 최근 몇 번의 $\mathbf{s}_k$, $\mathbf{y}_k$ 만 저장함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;BFGS: 전체 inverse Hessian approximation matrix 저장&lt;/li&gt;
&lt;li&gt;L-BFGS: 최근 update vector들만 저장&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 때문에 L-BFGS는 고차원 optimization problem에서 더 자주 사용됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 일반적인 deep learning 학습에서는 SGD, Adam, AdamW 등이 더 많이 사용됨.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;14. 응용: L-BFGS-B&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;L-BFGS-B는 L-BFGS에 &lt;i&gt;&lt;b&gt;bound constraint &lt;/b&gt;&lt;/i&gt;를 추가한 방법임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 다음과 같은 문제를 풀 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\underset{\boldsymbol{\omega}}{\min} L(\boldsymbol{\omega}) \\ \text{s. t. } l_i \le \omega_i \le u_i$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 $l_i$와 $u_i$는 각각 parameter $\omega_i$의 lower bound와 upper bound임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 어떤 parameter가 반드시 양수여야 한다면 다음과 같은 constraint를 둘 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\omega_i \ge 0$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 같이 bound constraint가 추가된 경우는 L-BGFS-B를 사용하며&lt;br /&gt;&lt;code&gt;scipy.optimize.minimize&lt;/code&gt;에서 &lt;code&gt;method=&quot;L-BFGS-B&quot;&lt;/code&gt;를 지정하여 이용가능.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;15. BFGS를 사용하는 경우&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS는 다음과 같은 경우에 적합함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;목적 함수가 differentiable한 경우&lt;/li&gt;
&lt;li&gt;gradient를 계산할 수 있는 경우&lt;/li&gt;
&lt;li&gt;parameter 수가 너무 크지 않은 경우&lt;/li&gt;
&lt;li&gt;gradient descent보다 빠른 수렴이 필요한 경우&lt;/li&gt;
&lt;li&gt;Hessian을 직접 계산하기에는 부담스러운 경우&lt;/li&gt;
&lt;li&gt;목적 함수가 비교적 smooth한 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 다음 경우에는 주의가 필요함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;parameter 수가 매우 큰 deep learning model&lt;/li&gt;
&lt;li&gt;gradient noise가 큰 stochastic optimization 문제&lt;/li&gt;
&lt;li&gt;목적 함수가 매끄럽지 않은 경우&lt;/li&gt;
&lt;li&gt;memory cost가 중요한 문제&lt;/li&gt;
&lt;li&gt;mini-batch 기반 학습처럼 gradient가 매번 크게 흔들리는 문제&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, BFGS는 작은 규모 또는 중간 규모의 smooth optimization problem에서 권장됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;매우 큰 neural network를 stochastic gradient로 학습하는 상황에서는&lt;br /&gt;일반적으로 Adam, AdamW, SGD with momentum 등이 더 자주 사용됨.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;16. Linear Regression과 BFGS&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Linear regression의 OLS objective function은 다음과 같이 쓸 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$L(\boldsymbol{\omega})&lt;br /&gt;=\frac{1}{2m}&lt;br /&gt;\left\|&lt;br /&gt;\mathbf{y} - \mathbf{X}\boldsymbol{\omega}&lt;br /&gt;\right\|_2^2$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제는 closed-form solution이 존재함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega} =&lt;br /&gt;(\mathbf{X}^\top \mathbf{X})^{-1}&lt;br /&gt;\mathbf{X}^\top&lt;br /&gt;\mathbf{y}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, Normal Equation을 직접 풀려면 $\mathbf{X}^\top \mathbf{X}$가 invertible하다는 조건이 필요함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;invertible 하지 않더라도 OLS는 convex quadratic problem이므로,&lt;br /&gt;BFGS를 사용하여 풀 수도 있음 (물론 GD도 가능).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 OLS만 놓고 보면 보통은 다음 다른 방법들이 더 직접적임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Normal equation&lt;/li&gt;
&lt;li&gt;QR decomposition&lt;/li&gt;
&lt;li&gt;SVD&lt;/li&gt;
&lt;li&gt;Gradient descent&lt;/li&gt;
&lt;li&gt;SGD&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Directed methods 가 존재하는 OLS 보다는,&lt;/li&gt;
&lt;li&gt;closed-form solution이 없거나 직접 계산하기 어려운 smooth nonlinear optimization 문제에서 더 의미가 큼.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;17. Python에서의 사용 예&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;scipy.optimize.minimize&lt;/code&gt;를 사용하면 BFGS를 쉽게 사용할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 예제에서는 다음 목적 함수를 최소화함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ L(\boldsymbol{\omega}) = (\omega_1 - 1)^2 + (\omega_2 + 2)^2$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 함수의 최소점은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\boldsymbol{\omega}^{\ast} =&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;1 \\&lt;br /&gt;-2&lt;br /&gt;\end{bmatrix}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Python 코드는 다음과 같음.&lt;/p&gt;
&lt;pre class=&quot;python&quot; data-ke-language=&quot;python&quot;&gt;&lt;code&gt;import numpy as np
from scipy.optimize import minimize


# 목적 함수 정의
# L(w1, w2) = (w1 - 1)^2 + (w2 + 2)^2
def objective(omega):
    # omega는 parameter vector임.
    # omega[0] = w1, omega[1] = w2
    w1, w2 = omega

    return (w1 - 1) ** 2 + (w2 + 2) ** 2


# gradient 정의
def gradient(omega):
    # 각 parameter에 대한 편미분을 계산함.
    # dL/dw1 = 2(w1 - 1)
    # dL/dw2 = 2(w2 + 2)
    w1, w2 = omega

    return np.array([
        2 * (w1 - 1),
        2 * (w2 + 2),
    ])


# 초기 parameter
omega0 = np.array([0.0, 0.0])


# BFGS 실행
result = minimize(
    fun=objective,      # 최소화할 목적 함수
    x0=omega0,          # 초기 parameter
    jac=gradient,       # gradient 함수
    method=&quot;BFGS&quot;,      # BFGS 사용
)

print(result.x)         # 최적 parameter
print(result.fun)       # 최소 목적 함수 값
print(result.success)   # 최적화 성공 여부&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출력은 대략 다음과 같음.&lt;/p&gt;
&lt;pre class=&quot;yaml&quot;&gt;&lt;code&gt;[ 1. -2.]
0.0
True&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 &lt;code&gt;result.x&lt;/code&gt;는 최적화된 parameter vector $\boldsymbol{\omega}$에 해당함.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;요약&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS는 Newton method와 gradient descent 사이에 있는 중요한 optimization algorithm임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심 정리는 다음과 같음:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;BFGS는 Quasi-Newton method의 대표 알고리즘임&lt;/li&gt;
&lt;li&gt;Hessian matrix를 직접 계산하지 않음&lt;/li&gt;
&lt;li&gt;gradient 변화량을 이용해 inverse Hessian을 근사함&lt;/li&gt;
&lt;li&gt;gradient descent보다 빠르게 수렴하는 경우가 많음&lt;/li&gt;
&lt;li&gt;parameter update는 다음 형태를 가짐&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boldsymbol{\omega}_{k+1} =\boldsymbol{\omega}_k - \eta_k \mathbf{M}_k \nabla L(\boldsymbol{\omega}_k)$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\mathbf{M}_k$는 inverse Hessian approximation임&lt;/li&gt;
&lt;li&gt;full BFGS는 $m \times m$ matrix를 저장하므로 parameter 수가 많으면 부담이 큼&lt;/li&gt;
&lt;li&gt;고차원 문제에서는 L-BFGS가 더 많이 사용됨&lt;/li&gt;
&lt;li&gt;bound constraint가 있으면 L-BFGS-B를 사용할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 BFGS는 다음 한 문장으로 정리할 수 있음.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BFGS는 Hessian을 직접 계산하지 않고,&lt;br /&gt;gradient의 변화로부터 curvature 정보를 추정하여&lt;br /&gt;Newton method에 가까운 search direction을 만들어내는&lt;br /&gt;&lt;b&gt;Quasi-Newton optimization algorithm&lt;/b&gt; 임.&lt;/p&gt;
&lt;/blockquote&gt;</description>
      <category>Programming/ML</category>
      <category>BFGS</category>
      <category>Hessian</category>
      <category>Newton</category>
      <category>Optimization</category>
      <category>Quasi</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/961</guid>
      <comments>https://dsaint31.tistory.com/961#entry961comment</comments>
      <pubDate>Mon, 27 Apr 2026 16:15:02 +0900</pubDate>
    </item>
    <item>
      <title>Linear Regression (Summary)</title>
      <link>https://dsaint31.tistory.com/960</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;0. Linear Regression 분류&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/960#1.%20Linear%20Regression%20%EC%9D%B4%EB%9E%80%3F-1-1&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&lt;b&gt;Linear&amp;nbsp;Regression&lt;/b&gt; &lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;├──&amp;nbsp;1.&amp;nbsp;Error&amp;nbsp;model&amp;nbsp;기준 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── &lt;a href=&quot;https://dsaint31.tistory.com/960#2.%20OLS-1-4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OLS&lt;/a&gt; 계열 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;│&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── X: fixed or error-free &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;│&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; ├── y: noise 있음 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;│&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &lt;/span&gt;└── $\text{Var}(\varepsilon) = \sigma^2\mathbf{I}$&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;│ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; ├── &lt;a href=&quot;https://dsaint31.tistory.com/960#4-1.%20WLS-1-10&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;WLS&lt;/a&gt; 계열 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; │&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;├── X: fixed or error-free &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; │&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;├── y: noise 있음 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; │ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;&amp;nbsp;└── $\text{Var}(\varepsilon) = \text{diag}(\sigma_1^2, \sigma_2^2, \dots, \sigma_m^2)$&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; │ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; ├── &lt;a href=&quot;https://dsaint31.tistory.com/960#4-2.%20GLS-1-11&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;GLS&lt;/a&gt; 계열 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; │&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;├── X: fixed or error-free &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; │&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;├── y: noise 있음 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; │&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;└── $\text{Var}(\varepsilon) = \boldsymbol{\Omega}$&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; │ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; └── &lt;a href=&quot;https://dsaint31.tistory.com/960#5.%20TLS-1-12&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;TLS&lt;/a&gt; 계열 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; ├── X: noise 있음 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt; ├──&amp;nbsp;y:&amp;nbsp;noise&amp;nbsp;있음 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; └── [X&amp;nbsp;&amp;nbsp;y] 전체의 perturbation 최소화 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;├──&amp;nbsp;2.&amp;nbsp;&lt;a href=&quot;https://dsaint31.tistory.com/848&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Regularization&lt;/a&gt;&amp;nbsp;기준 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;No&amp;nbsp;penalty &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;│&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; ├──&amp;nbsp;&lt;a href=&quot;https://dsaint31.tistory.com/960#2.%20OLS-1-4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OLS &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; ├──&amp;nbsp;WLS &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;│&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;├──&amp;nbsp;GLS &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;└── (Standard) TLS &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;│ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; └── Penalized / Regularized &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;├── &lt;b&gt;&lt;a href=&quot;https://dsaint31.tistory.com/960#3-1.%20Ridge%20Regression-1-6&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Ridge&lt;/a&gt;: L2 penalty &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt; ├── &lt;b&gt;&lt;a href=&quot;https://dsaint31.tistory.com/960#3-2.%20LASSO%20Regression-1-7&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Lasso&lt;/a&gt;: L1 penalty &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt; ├── &lt;b&gt;&lt;a href=&quot;https://dsaint31.tistory.com/960#3-3.%20Elastic%20Net-1-8&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Elastic Net&lt;/a&gt;: L1 + L2 penalty &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt; ├── Penalized WLS &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt; ├── Penalized GLS &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt; └── Regularized TLS &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;│ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;└──&amp;nbsp;3.&amp;nbsp;Optimization&amp;nbsp;/&amp;nbsp;Solver&amp;nbsp;기준 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;├── &lt;a href=&quot;https://dsaint31.tistory.com/274#Normal%20Equation-1-5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Normal equation&lt;/a&gt; 기반 &lt;a href=&quot;https://dsaint31.tistory.com/276&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;closed-form &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── &lt;a href=&quot;https://dsaint31.tistory.com/960#2.%20OLS-1-4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;OLS &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; └── $\boldsymbol{\omega}^* = (\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top \mathbf{y}$&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; │ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── WLS &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; │ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;└── $\boldsymbol{\omega}^* = (\mathbf{X}^\top \mathbf{W} \mathbf{X})^{-1}\mathbf{X}^\top \mathbf{W} \mathbf{y}$&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; │ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── GLS &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; │ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;└── $\boldsymbol{\omega}^* = (\mathbf{X}^\top \boldsymbol{\Omega}^{-1} \mathbf{X})^{-1} \mathbf{X}^\top \boldsymbol{\Omega}^{-1} \mathbf{y}$&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; │ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; └── Ridge &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;└── $\boldsymbol{\omega}^* = (\mathbf{X}^\top \mathbf{X} + \lambda \mathbf{I})^{-1} \mathbf{X}^\top \mathbf{y}$&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; ├── Direct decomposition 기반 solver &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp;├── &lt;a href=&quot;https://dsaint31.tistory.com/887#2.%20QR%20Decomposition-1-4&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;QR decomposition &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;└── OLS, WLS, GLS에 사용 가능 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt; │ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt; ├── &lt;a href=&quot;https://dsaint31.tistory.com/657&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;SVD &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt; &amp;nbsp;│ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;├── OLS의 rank-deficient case에 사용 가능&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;│&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;│&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;├&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;──&amp;nbsp;&lt;/span&gt; Ridge 에서 가장 안정적인 Solver임.&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt; &lt;/span&gt;│&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;└── Standard TLS의 대표적 solver &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;│ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt; &lt;/span&gt;└── Cholesky decomposition &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;└── &lt;b&gt;Ridge&lt;/b&gt;, WLS, GLS 등 positive definite system에 사용 가능 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; │ &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt; └── Iterative optimization 기반 solver &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── &lt;a href=&quot;https://dsaint31.tistory.com/633&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Gradient Descent &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;├── &lt;a href=&quot;https://dsaint31.tistory.com/633#2.%20Batch%2C%20Mini-batch%2C%20and%20Stochastic%20GD-1-6&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Stochastic Gradient Descent &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;├── Coordinate Descent &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;│&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt; └──&amp;nbsp;Lasso,&amp;nbsp;Elastic&amp;nbsp;Net에서&amp;nbsp;자주&amp;nbsp;사용 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;├── &lt;a href=&quot;https://dsaint31.tistory.com/961&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;LBFGS &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Nanum Gothic';&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; └── 기타 numerical optimization&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2752&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/be88ww/dJMcaiwjqEI/rWlCDbFF8ZFAKahD5zzR70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/be88ww/dJMcaiwjqEI/rWlCDbFF8ZFAKahD5zzR70/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/be88ww/dJMcaiwjqEI/rWlCDbFF8ZFAKahD5zzR70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbe88ww%2FdJMcaiwjqEI%2FrWlCDbFF8ZFAKahD5zzR70%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;447&quot; data-origin-width=&quot;2752&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Linear Regression 이란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Linear Regression(선형회귀)은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;입력 feature와 target 사이의 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;선형 관계(linear relationship)&lt;/b&gt;&lt;/span&gt;를 가정하여&lt;/li&gt;
&lt;li&gt;continuous target 값을 예측하는 대표적인 regression model임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;linear regression(선형회귀)를 matrix(행렬)로 쓰면 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\mathbf{y} = \mathbf{X}\boldsymbol{\omega} + \boldsymbol{\varepsilon}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;학습된 linear regression model의 예측값은 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\hat{\mathbf{y}} = \mathbf{X} \hat{\boldsymbol{\omega}}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;target과 predicted value의 오차는 residual이라 불리며 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\mathbf{e} = \mathbf{y} - \hat{\mathbf{y}}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 항의 차원은 보통 다음과 같음.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;기호&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;의미&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;차원&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$\mathbf{X}$&lt;/td&gt;
&lt;td&gt;design matrix&lt;/td&gt;
&lt;td&gt;$m \times n$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$\boldsymbol{\omega}$&lt;/td&gt;
&lt;td&gt;parameter, &lt;a href=&quot;https://dsaint31.tistory.com/958#coefficient-1&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;coefficient&lt;/a&gt; vector&lt;/td&gt;
&lt;td&gt;$n \times 1$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$\hat{\boldsymbol{\omega}}$&lt;/td&gt;
&lt;td&gt;estimated parameter vector&lt;/td&gt;
&lt;td&gt;$n \times 1$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$\mathbf{y}$&lt;/td&gt;
&lt;td&gt;target, response vector&lt;/td&gt;
&lt;td&gt;$m \times 1$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$\hat{\mathbf{y}}$&lt;/td&gt;
&lt;td&gt;fitted value, predicted response vector&lt;/td&gt;
&lt;td&gt;$m \times 1$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$\boldsymbol{\varepsilon}$&lt;/td&gt;
&lt;td&gt;error vector&lt;/td&gt;
&lt;td&gt;$m \times 1$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$\mathbf{e}$&lt;/td&gt;
&lt;td&gt;residual vector&lt;/td&gt;
&lt;td&gt;$m \times 1$&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$m$은 sample 수, $n$는 feature 수임.&lt;/li&gt;
&lt;li&gt;$\boldsymbol{\varepsilon}$는 실제 data-generating process에서 발생한다고 가정하는 이론적 error term이며, 직접 관측되지 않음.&lt;/li&gt;
&lt;li&gt;반면 $\mathbf{e}$는 학습된 model의 predicted value와 실제 target의 차이로 계산되는 residual vector임.&lt;/li&gt;
&lt;li&gt;즉, residual은 관측 불가능한 error term의 proxy로 사용되지만, 두 값이 완전히 같은 것은 아님.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이해를 돕기 위해 훈련데이터로 구성된 desing matrix는 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{X} = \begin{bmatrix} - (\mathbf{x}_1)^\top - \\ - (\mathbf{x}_2)^\top - \\ \vdots \\ - (\mathbf{x}_m)^\top - \\ \end{bmatrix} \in \mathbb{R}^{m \times n}$$&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;참고로, model이 linear하다고 하는 것은 &lt;br /&gt;regression 문제에서는 output이 parameters의 linear combination으로 표현되거나, &lt;br /&gt;classification 문제에서는 decision boundary가 hyperplane 형태로 표현되는 경우를 의미함.&lt;br /&gt;&lt;br /&gt;classification에서도 decision function은 regression의 prediction formula와 마찬가지로&lt;br /&gt;$f(x)=\boldsymbol{\omega}^\top \mathbf{x} + b$ 이며, &lt;br /&gt;이 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;decision function이 0이 되는 점들의 집합&lt;/b&gt;&lt;/span&gt;이 바로 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;hyperplane (decision boundary)&lt;/b&gt;&lt;/span&gt;임.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;linear regression model의 예측식(prediction function)은 보통 두 가지 형태 중 하나로 기술됨.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1-1. Affine Form&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\hat{y}_i = \boldsymbol{\omega}^\top \mathbf{x}_i + b&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 $b \in \mathbb{R}$는&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; intercept 또는 bias&lt;/b&gt;&lt;/span&gt;라고 불림.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/652&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.01.03 - [.../Linear Algebra] - [LA] Linear and Affine: Summary&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1782345166682&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[LA] Linear and Affine: Summary&quot; data-og-description=&quot;Linear vs. Affinelinear combination과 linear transform에 같은 linear가 붙는 이유둘 다 원점을 기준으로 한 vector space에서scaling과 addition으로 표현되며,원점 고정성(origin-fixing property)과 선형성(linearity) 같은 lin&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/652&quot; data-og-url=&quot;https://dsaint31.tistory.com/652&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/clsl7m/dJMb89ynGak/hvGQhdWk5cwAnRm98oQT31/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/b2XTQY/dJMb84qiDda/kUiUKpuHMA9gdlEswKF2l0/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/d4gDCM/dJMb81G7wOS/m4qeYrOw2zKOxbCn4vkMh1/img.png?width=1672&amp;amp;height=941&amp;amp;face=0_0_1672_941&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/652&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/652&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/clsl7m/dJMb89ynGak/hvGQhdWk5cwAnRm98oQT31/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/b2XTQY/dJMb84qiDda/kUiUKpuHMA9gdlEswKF2l0/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/d4gDCM/dJMb81G7wOS/m4qeYrOw2zKOxbCn4vkMh1/img.png?width=1672&amp;amp;height=941&amp;amp;face=0_0_1672_941');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[LA] Linear and Affine: Summary&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Linear vs. Affinelinear combination과 linear transform에 같은 linear가 붙는 이유둘 다 원점을 기준으로 한 vector space에서scaling과 addition으로 표현되며,원점 고정성(origin-fixing property)과 선형성(linearity) 같은 lin&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1-2. Linear Form (or Homogeneous coordinate form)&lt;/h3&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;모든 Linear transformation은 matrix와의 곱으로 표현가능함.&lt;br /&gt;Affine Form에서 bias를 더하는 부분을 없애기 위해선 &lt;a href=&quot;https://dsaint31.tistory.com/742#1-2.%20Homogeneous%20Coordinates%EC%9D%98%20%ED%99%95%EC%9E%A5%EA%B3%BC%20%EB%B3%80%ED%99%98-1-3&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Homogeneous Coordinate&lt;/a&gt; 를 사용하면 됨.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;intercept를 parameter vector와 input vector에 포함하면 다음처럼 쓸 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\hat{y}_i = {\boldsymbol{\omega}'}^\top \mathbf{x}'_i&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 $\mathbf{x}'_i$와 $\boldsymbol{\omega}'$는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\mathbf{x}'_i =&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;1 \\&lt;br /&gt;x_{i1} \\&lt;br /&gt;x_{i2} \\&lt;br /&gt;\vdots \\&lt;br /&gt;x_{in}&lt;br /&gt;\end{bmatrix}&lt;br /&gt;\in \mathbb{R}^{n+1},&lt;br /&gt;\qquad&lt;br /&gt;\boldsymbol{\omega}' =&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;b \\&lt;br /&gt;\omega_1 \\&lt;br /&gt;\omega_2 \\&lt;br /&gt;\vdots \\&lt;br /&gt;\omega_n&lt;br /&gt;\end{bmatrix}&lt;br /&gt;\in \mathbb{R}^{n+1}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;{\boldsymbol{\omega}'}^\top \mathbf{x}'_i =&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;b &amp;amp; \omega_1 &amp;amp; \omega_2 &amp;amp; \cdots &amp;amp; \omega_n&lt;br /&gt;\end{bmatrix}&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;1 \\&lt;br /&gt;x_{i1} \\&lt;br /&gt;x_{i2} \\&lt;br /&gt;\vdots \\&lt;br /&gt;x_{in}&lt;br /&gt;\end{bmatrix}&lt;br /&gt;=&lt;br /&gt;b + \sum_{j=1}^{n} \omega_j x_{ij}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 방식은 affine model을 homogeneous coordinate 형태로 바꾸어 linear form으로 표현한 것임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리하면 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\mathbf{x}_i =&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;x_{i1} \\&lt;br /&gt;x_{i2} \\&lt;br /&gt;\vdots \\&lt;br /&gt;x_{in}&lt;br /&gt;\end{bmatrix}&lt;br /&gt;\in \mathbb{R}^{n},&lt;br /&gt;\qquad&lt;br /&gt;\mathbf{x}'_i =&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;1 \\&lt;br /&gt;x_{i1} \\&lt;br /&gt;x_{i2} \\&lt;br /&gt;\vdots \\&lt;br /&gt;x_{in}&lt;br /&gt;\end{bmatrix}&lt;br /&gt;\in \mathbb{R}^{n+1}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\boldsymbol{\omega} =&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;\omega_1 \\&lt;br /&gt;\omega_2 \\&lt;br /&gt;\vdots \\&lt;br /&gt;\omega_n&lt;br /&gt;\end{bmatrix}&lt;br /&gt;\in \mathbb{R}^{n},&lt;br /&gt;\qquad&lt;br /&gt;\boldsymbol{\omega}' =&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;b \\&lt;br /&gt;\omega_1 \\&lt;br /&gt;\omega_2 \\&lt;br /&gt;\vdots \\&lt;br /&gt;\omega_n&lt;br /&gt;\end{bmatrix}&lt;br /&gt;\in \mathbb{R}^{n+1}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주의할 점은 $\mathbf{x}'_i$와 $\boldsymbol{\omega}'$를 $ (n+1) \times 1$이라고 써도 되지만, 보통은 vector space를 나타낼 때 $\mathbb{R}^{n+1}$로 표기함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후로는 편의를 위해 intercept를 포함한 방식을 기본으로 사용하고, &lt;br /&gt;표기는&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\mathbf{X'} \rightarrow \mathbf{X}, \boldsymbol{\omega}' \rightarrow \boldsymbol{\omega}, \mathbf{x}' \rightarrow \mathbf{x}$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로 바꾸어서 사용한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. OLS&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/274&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.04.28 - [Programming/ML] - [Fitting] Ordinary Least Squares : OLS, 최소자승법&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777126126292&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Fitting] Ordinary Least Squares : OLS, 최소자승법&quot; data-og-description=&quot;Ordinary Least Squares : OLS, 최소자승법Solution을 구할 수 없는 Over-determined system에서 solution의 approximation을 구하는 가장 기본적인 방법임.Machine Learning에서 Supervised Learning의 대표적인 task인 Regression을 &quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/274&quot; data-og-url=&quot;https://dsaint31.tistory.com/274&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bDLKw4/dJMb887bxg2/yO1hzWK0NUJR02A5QcSMm0/img.png?width=603&amp;amp;height=342&amp;amp;face=0_0_603_342,https://scrap.kakaocdn.net/dn/1yir2/dJMb85vRHFf/bklDbhXzLKIyE08LfNGdMK/img.png?width=603&amp;amp;height=342&amp;amp;face=0_0_603_342,https://scrap.kakaocdn.net/dn/Adz6b/dJMb81GZ3hJ/k5CZhQa0XAj8uoAoKccJW1/img.png?width=603&amp;amp;height=342&amp;amp;face=0_0_603_342&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/274&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/274&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bDLKw4/dJMb887bxg2/yO1hzWK0NUJR02A5QcSMm0/img.png?width=603&amp;amp;height=342&amp;amp;face=0_0_603_342,https://scrap.kakaocdn.net/dn/1yir2/dJMb85vRHFf/bklDbhXzLKIyE08LfNGdMK/img.png?width=603&amp;amp;height=342&amp;amp;face=0_0_603_342,https://scrap.kakaocdn.net/dn/Adz6b/dJMb81GZ3hJ/k5CZhQa0XAj8uoAoKccJW1/img.png?width=603&amp;amp;height=342&amp;amp;face=0_0_603_342');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Fitting] Ordinary Least Squares : OLS, 최소자승법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Ordinary Least Squares : OLS, 최소자승법Solution을 구할 수 없는 Over-determined system에서 solution의 approximation을 구하는 가장 기본적인 방법임.Machine Learning에서 Supervised Learning의 대표적인 task인 Regression을&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OLS(Ordinary Least Squares)는 $y$ 방향의 residual의 제곱(squared)합을 최소화(least)함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\underset{\boldsymbol{\omega}}{\min}\left\| \mathbf{y} - \mathbf{X} \boldsymbol{\omega} \right\|_2^2$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;residual vector $\mathbf{e}$는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{e} = \mathbf{y} - \mathbf{X}\boldsymbol{\omega}, \qquad \mathbf{e} \in \mathbb{R}^{m}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OLS의 기본 error covariance assumption은 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \operatorname{Var}(\boldsymbol{\varepsilon}) = \sigma^2 \mathbf{I}_m$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 sample의 error variance가 같음: $\text{Var}(\varepsilon_i)= \sigma^2$&lt;/li&gt;
&lt;li&gt;sample 간 error covariance가 0임: $\text{Cov}(\varepsilon_i , \varepsilon_j)=0 \quad, i\ne j$&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. Regularization - Penalty term&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OLS 의 objective function 에 penalty term이 추가된 경우로 설명하는 것이 일반적.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(단, WLS, GLS, TLS 등에도 Penalty term을 추가할 수 있음)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주의: Regularization이 된 경우는 Feature Scaling을 해줘야 제대로 동작함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Ridge, LASSO, Elastic Net의 penalty는 coefficient 크기에 직접 작용하므로,&lt;/li&gt;
&lt;li&gt;feature scale이 서로 다르면 penalty가 feature별로 공정하게 적용되지 않을 수 있음.&lt;/li&gt;
&lt;li&gt;단, intercept(=bias) 는 penalty 대상에서 제외하는 게 일반적임.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-1. Ridge Regression&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/947&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2025.11.06 - [Programming/ML] - Ridge Regression&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777126181561&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Ridge Regression&quot; data-og-description=&quot;명칭의 유래Ridge: &amp;quot;산등성이&amp;quot; 또는 &amp;quot;융기&amp;quot;를 의미하는 영어 단어L2-Regularization Term 추가 시 loss function의 contour가 융기된 형태로 변형되는 데에서 유래됨.역사적 배경Tikhonov regularization (1963)과 수학&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/947&quot; data-og-url=&quot;https://dsaint31.tistory.com/947&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/jfXL4/dJMb8U8Wi6W/oVk2BqyRgLhQvObWH6jL4k/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/cFDP8X/dJMb9kmfsnd/JhukoWLecIzo9UAe9Vsnw0/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/f5BVp/dJMb9b3ULSJ/TAXhzmamcBTMDWHJUWnHgk/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/947&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/947&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/jfXL4/dJMb8U8Wi6W/oVk2BqyRgLhQvObWH6jL4k/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/cFDP8X/dJMb9kmfsnd/JhukoWLecIzo9UAe9Vsnw0/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/f5BVp/dJMb9b3ULSJ/TAXhzmamcBTMDWHJUWnHgk/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Ridge Regression&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;명칭의 유래Ridge: &quot;산등성이&quot; 또는 &quot;융기&quot;를 의미하는 영어 단어L2-Regularization Term 추가 시 loss function의 contour가 융기된 형태로 변형되는 데에서 유래됨.역사적 배경Tikhonov regularization (1963)과 수학&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ridge Regression은 OLS objective에 L2 penalty를 추가한 방법임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;참고로 intercept $b$ 는 penalty 대상에서 제외하는게 일반적임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 $\mathbf{X}$와 $\boldsymbol{\omega}$ 는 Affine 에서 사용된 형태임($b$가 penalty에서 빠지므로)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Objective function 은 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\underset{\boldsymbol{\omega}, b}{\min} \frac{1}{2m} \| \mathbf{y} - (\mathbf{X} \boldsymbol{\omega} + b\mathbf{1}) \|^2_2 + \alpha \| \boldsymbol{\omega} \| ^2_2$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ridge는 다음 형태의 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;closed-form solution&lt;/b&gt;&lt;/span&gt;을 가질 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\boldsymbol{\omega}^* _{Ridge}&lt;br /&gt;=&lt;br /&gt;\left(&lt;br /&gt;\mathbf{X}^\top \mathbf{X} + \alpha\mathbf{I}_n \right)^{-1} \mathbf{X}^\top \mathbf{y}&lt;br /&gt;$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;위 식은 intercept 처리와 centering을 단순화한 표현임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Closed Form을 가지므로 Direct 방식의 svd, &lt;b&gt;cholesky&lt;/b&gt; 등을 사용할 수 있으나, &lt;br /&gt;lsqr, &lt;b&gt;sparse_cg (sparse input)&lt;/b&gt;, sab, saga, &lt;b&gt;lbfgs (positive=True)&lt;/b&gt; 등의 iterative 방식도 사용가능함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ridge_regression.html?utm_source=chatgpt.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ridge_regression.html?utm_source=chatgpt.com&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777129098661&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;ridge_regression&quot; data-og-description=&quot;Precision of the solution. Note that tol has no effect for solvers &amp;lsquo;svd&amp;rsquo; and &amp;lsquo;cholesky&amp;rsquo;. Changed in version 1.2: Default value changed from 1e-3 to 1e-4 for consistency with other linear models.&quot; data-og-host=&quot;scikit-learn.org&quot; data-og-source-url=&quot;https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ridge_regression.html?utm_source=chatgpt.com&quot; data-og-url=&quot;https://scikit-learn/stable/modules/generated/sklearn.linear_model.ridge_regression.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/xIZ4M/dJMb88F7E8M/TOpuMF1cGKxcMGMB6sLIv1/img.png?width=277&amp;amp;height=150&amp;amp;face=0_0_277_150&quot;&gt;&lt;a href=&quot;https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ridge_regression.html?utm_source=chatgpt.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ridge_regression.html?utm_source=chatgpt.com&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/xIZ4M/dJMb88F7E8M/TOpuMF1cGKxcMGMB6sLIv1/img.png?width=277&amp;amp;height=150&amp;amp;face=0_0_277_150');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;ridge_regression&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Precision of the solution. Note that tol has no effect for solvers &amp;lsquo;svd&amp;rsquo; and &amp;lsquo;cholesky&amp;rsquo;. Changed in version 1.2: Default value changed from 1e-3 to 1e-4 for consistency with other linear models.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;scikit-learn.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-2. LASSO Regression&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/948&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2025.11.08 - [Programming/ML] - LASSO Regression&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777126284945&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;LASSO Regression&quot; data-og-description=&quot;명칭의 유래LASSO: Least Absolute Shrinkage and Selection Operator 의 약자이름에서 알 수 있듯이,절대값(absolute value) 기반의shrinkage(축소)와feature selection(특성 선택)을 동시에 수행하는 회귀 기법&amp;ldquo;Shrinkage&amp;rdquo;&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/948&quot; data-og-url=&quot;https://dsaint31.tistory.com/948&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dXpiBP/dJMb8SpKFPt/CToW63Gvrq9KE8oMkXjOX0/img.jpg?width=341&amp;amp;height=420&amp;amp;face=0_0_341_420,https://scrap.kakaocdn.net/dn/E7f7i/dJMb88F7EWB/JjH5UyuWMMM9xv2iglCQPk/img.jpg?width=341&amp;amp;height=420&amp;amp;face=0_0_341_420,https://scrap.kakaocdn.net/dn/PkOGq/dJMb8956kFM/BoiONZhasmjcx3OSc4YXf0/img.png?width=602&amp;amp;height=399&amp;amp;face=0_0_602_399&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/948&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/948&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dXpiBP/dJMb8SpKFPt/CToW63Gvrq9KE8oMkXjOX0/img.jpg?width=341&amp;amp;height=420&amp;amp;face=0_0_341_420,https://scrap.kakaocdn.net/dn/E7f7i/dJMb88F7EWB/JjH5UyuWMMM9xv2iglCQPk/img.jpg?width=341&amp;amp;height=420&amp;amp;face=0_0_341_420,https://scrap.kakaocdn.net/dn/PkOGq/dJMb8956kFM/BoiONZhasmjcx3OSc4YXf0/img.png?width=602&amp;amp;height=399&amp;amp;face=0_0_602_399');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;LASSO Regression&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;명칭의 유래LASSO: Least Absolute Shrinkage and Selection Operator 의 약자이름에서 알 수 있듯이,절대값(absolute value) 기반의shrinkage(축소)와feature selection(특성 선택)을 동시에 수행하는 회귀 기법&amp;ldquo;Shrinkage&amp;rdquo;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LASSO는 OLS objective에 L1 penalty를 추가한 방법임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\underset{\boldsymbol{\omega}, b}{\min} \frac{1}{2m} \left\| \mathbf{y} -&lt;br /&gt;( \mathbf{X}\boldsymbol{\omega} + b\mathbf{1} ) \right\|_2^2 + \alpha \|\boldsymbol{\omega}\|_1&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LASSO는 weight coefficient shrinkage와 feature selection 효과를 가짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LASSO 의 특징:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OLS + L1 penalty&lt;/li&gt;
&lt;li&gt;sparse weights 를 만듦 (weight shrinkage)&lt;/li&gt;
&lt;li&gt;일반적으로 &lt;b&gt;coordinate descent (iterative 방식)&lt;/b&gt;로 풂&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3-3. Elastic Net&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/?h=elastic#4-elasticnet&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/?h=elastic#4-elasticnet&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777126350997&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;BME&quot; data-og-description=&quot;bagging boosting ensemble machine learning random forest regression scikit-learn support vector machine [ML] Classic Regressor (Summary) DeepLearning 계열을 제외한 Regressor 모델들을 간단하게 정리함. ​ 분류 Instance Based Algorithm Mod&quot; data-og-host=&quot;dsaint31.me&quot; data-og-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/?h=elastic#4-elasticnet&quot; data-og-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/?h=elastic#4-elasticnet&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/edxKCc/dJMb88F7EW8/XAKfSJoo9u2V3WSFSMVBw0/img.png?width=2752&amp;amp;height=1536&amp;amp;face=0_0_2752_1536&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/?h=elastic#4-elasticnet&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/?h=elastic#4-elasticnet&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/edxKCc/dJMb88F7EW8/XAKfSJoo9u2V3WSFSMVBw0/img.png?width=2752&amp;amp;height=1536&amp;amp;face=0_0_2752_1536');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;BME&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;bagging boosting ensemble machine learning random forest regression scikit-learn support vector machine [ML] Classic Regressor (Summary) DeepLearning 계열을 제외한 Regressor 모델들을 간단하게 정리함. ​ 분류 Instance Based Algorithm Mod&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.me&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Elastic Net은 L1 penalty와 L2 penalty를 함께 사용하는 방법임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\underset{\boldsymbol{\omega}, b}{\min}\frac{1}{2m}&lt;br /&gt;\left \| \mathbf{y} - ( \mathbf{X} \boldsymbol{\omega} + b\mathbf{1} ) \right\|_2^2 + \alpha \left( \rho \| \boldsymbol{\omega} \|_1 + \frac{1-\rho}{2} \|\boldsymbol{\omega} \|_2^2 \right)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 $\rho$는 L1과 L2의 비율을 조절하는 값임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;scikit-learn에서는 이를 &lt;code&gt;l1_ratio&lt;/code&gt;라고 부름.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;L2 penalty 쪽의 $\frac{1}{2}$ 는 미분 시 $2$가 사라지도록 하기 위한 관례적 상수임.&lt;/li&gt;
&lt;li&gt;따라서 개념적으로는 $\rho$와 $1-\rho$의 혼합으로 이해하면 됨.&lt;/li&gt;
&lt;li&gt;일반적으로&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;coordinate descent (iterative 방식)&lt;/b&gt;로 풂&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. Error Variance 의 차이&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OLS는 $\mathbf{X}$를 fixed 또는 error-free로 두고, $\mathbf{y}$에만 error term $\boldsymbol{\varepsilon}$이 있다고 가정함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OLS의 기본 가정은 각 sample의 error variance가 동일하고, 서로 다른 sample의 error term 간 covariance가 0이라는 것임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WLS와 GLS도 OLS와 마찬가지로 $\mathbf{X}$는 fixed 또는 error-free로 두지만, $\mathbf{y}$의 error term $\boldsymbol{\varepsilon}$에 대한 covariance matrix를 다르게 가정함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;WLS: 각 sample의 error variance가 다를 수 있으나, 서로 다른 sample의 error term 간 covariance는 0이라고 가정함.&lt;/li&gt;
&lt;li&gt;GLS: 각 sample의 error variance가 다를 수 있으며, 서로 다른 sample의 error term 간 covariance도 0이 아닐 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4-1. WLS&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/738&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.06.13 - [.../Math] - [Math] Weighted Least Squares&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777126392274&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] Weighted Least Squares&quot; data-og-description=&quot;Weighted Least Squares(WLS)는sample마다 error variance가 다를 수 있다고 보고,각 residual 제곱항에 보통 $\frac{1}{\sigma_i^2}$에 비례하는 weight을 주어 추정하는 Least Squares 방법임.아래와 같이 error term의 variance&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/738&quot; data-og-url=&quot;https://dsaint31.tistory.com/738&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/xKroo/dJMb9eTSmwr/e5p3kIPaiVcRgiBLh9hAN1/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474,https://scrap.kakaocdn.net/dn/cF29p3/dJMb82MFODY/8RURGtX44udY6iXQlMIyD1/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474,https://scrap.kakaocdn.net/dn/GfUwP/dJMb9dHqSZD/HqLLftUnFeYqojpsLtOmuk/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/738&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/738&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/xKroo/dJMb9eTSmwr/e5p3kIPaiVcRgiBLh9hAN1/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474,https://scrap.kakaocdn.net/dn/cF29p3/dJMb82MFODY/8RURGtX44udY6iXQlMIyD1/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474,https://scrap.kakaocdn.net/dn/GfUwP/dJMb9dHqSZD/HqLLftUnFeYqojpsLtOmuk/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] Weighted Least Squares&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Weighted Least Squares(WLS)는sample마다 error variance가 다를 수 있다고 보고,각 residual 제곱항에 보통 $\frac{1}{\sigma_i^2}$에 비례하는 weight을 주어 추정하는 Least Squares 방법임.아래와 같이 error term의 variance&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WLS(Weighted Least Squares)는 sample마다 error variance가 다르다고 보는 방법임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, error covariance matrix가 diagonal matrix인 경우임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\operatorname{Var}(\boldsymbol{\varepsilon}) =&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;\sigma_1^2 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;0 &amp;amp; \sigma_2^2 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; \sigma_m^2 \\&lt;br /&gt;\end{bmatrix}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 WLS의 error covariance matrix 차원은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\operatorname{Var}(\boldsymbol{\varepsilon})&lt;br /&gt;\in&lt;br /&gt;\mathbb{R}^{m \times m}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WLS objective는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\underset{\boldsymbol{\omega}}{\min}&lt;br /&gt;\left(&lt;br /&gt;\mathbf{y}&lt;br /&gt;-&lt;br /&gt;\mathbf{X} \boldsymbol{\omega}&lt;br /&gt;\right)^\top&lt;br /&gt;\mathbf{W}&lt;br /&gt;\left(&lt;br /&gt;\mathbf{y}&lt;br /&gt;-&lt;br /&gt;\mathbf{X}\boldsymbol{\omega}&lt;br /&gt;\right) \\ \underset{\boldsymbol{\omega}}{\min} \sum^m_{i=1} w_i (y_i - \mathbf{x}_i^\top \boldsymbol{\omega})^2$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 $\mathbf{W}$는 weight matrix임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\mathbf{W}&lt;br /&gt;=&lt;br /&gt;\begin{bmatrix}&lt;br /&gt;w_1 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;0 &amp;amp; w_2 &amp;amp; \cdots &amp;amp; 0 \\&lt;br /&gt;\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br /&gt;0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; w_m&lt;br /&gt;\end{bmatrix}&lt;br /&gt;\in&lt;br /&gt;\mathbb{R}^{m \times m}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 weight는 error variance의 inverse에 비례함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;w_i \propto \frac{1}{\sigma_i^2}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, measurement error variance가 큰 sample은 덜 믿고, variance가 작은 sample은 더 크게 반영함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;WLS 의 solution 은 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\boldsymbol{\omega}^*_{WLS}&lt;br /&gt;=&lt;br /&gt;\left(&lt;br /&gt;\mathbf{X}^\top&lt;br /&gt;\mathbf{W}&lt;br /&gt;\mathbf{X}&lt;br /&gt;\right)^{-1}&lt;br /&gt;\mathbf{X}^\top&lt;br /&gt;\mathbf{W}&lt;br /&gt;\mathbf{y}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차원은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\mathbf{X}^\top&lt;br /&gt;\mathbf{W}&lt;br /&gt;\mathbf{X}&lt;br /&gt;\in&lt;br /&gt;\mathbb{R}^{(n+1)\times(n+1)}&lt;br /&gt;$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4-2. GLS&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GLS(Generalized Least Squares)는 WLS보다 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;더 일반적인 Least Squares&lt;/b&gt;&lt;/span&gt;임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;WLS는 error covariance matrix가 diagonal인 경우로 각 sample에서의 error variance가 다를 수 있지만 각각은 독립인데 반해,&lt;/li&gt;
&lt;li&gt;GLS는 error covariance matrix가 일반적인 $m \times m$ matrix 로서, 각 sample에서의 error variance가 다를 수 있으면서 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;각각이 항상 독립이 보장되지 않는 경우&lt;/b&gt;&lt;/span&gt;임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Error &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;covariance&lt;/b&gt; &lt;/span&gt;matrix는 다음과 같음 (대각행렬로 제한되지 않음):&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\operatorname{Var}(\boldsymbol{\varepsilon})&lt;br /&gt;=&lt;br /&gt;\sigma^2 \mathbf{\Omega}&lt;br /&gt;$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\mathbf{\Omega}$ :
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Scale-free error covariancee matrix (or Structure matrix)&lt;/li&gt;
&lt;li&gt;이는 error간의 상관관계 구조와 상대적인 가중치만을 담고 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;covariance (공분산) 에 대한 보다 자세한 내용은 다음을 참고:&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/278&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.05.01 - [.../Math] - [Statistics] Covariance vs. Correlation:&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778288399179&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Statistics] Covariance vs. Correlation:&quot; data-og-description=&quot;Covariance (공분산)&amp;quot;Covariance&amp;quot; is the raw version of correlation.두 random variable(확률변수)가 얼마나 (선형적으로) 같이 변하는 정도를 나타냄.여러 random variables 에서는 matrix로 기재됨(covariance matrix, $\Sigma$).ma&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/278&quot; data-og-url=&quot;https://dsaint31.tistory.com/278&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/I3CvX/dJMb9jOrcnB/4Qs5QbU3hnzr4lASjKqPh0/img.png?width=800&amp;amp;height=364&amp;amp;face=0_0_800_364,https://scrap.kakaocdn.net/dn/qlbQR/dJMb9iaVqCD/PDgFsvwN9dLHzhLKKfAafk/img.png?width=800&amp;amp;height=364&amp;amp;face=0_0_800_364,https://scrap.kakaocdn.net/dn/jcNjK/dJMb9jgBAXg/nEpJkIWl34YWpUIZtNSSak/img.png?width=1024&amp;amp;height=467&amp;amp;face=0_0_1024_467&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/278&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/278&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/I3CvX/dJMb9jOrcnB/4Qs5QbU3hnzr4lASjKqPh0/img.png?width=800&amp;amp;height=364&amp;amp;face=0_0_800_364,https://scrap.kakaocdn.net/dn/qlbQR/dJMb9iaVqCD/PDgFsvwN9dLHzhLKKfAafk/img.png?width=800&amp;amp;height=364&amp;amp;face=0_0_800_364,https://scrap.kakaocdn.net/dn/jcNjK/dJMb9jgBAXg/nEpJkIWl34YWpUIZtNSSak/img.png?width=1024&amp;amp;height=467&amp;amp;face=0_0_1024_467');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Statistics] Covariance vs. Correlation:&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Covariance (공분산)&quot;Covariance&quot; is the raw version of correlation.두 random variable(확률변수)가 얼마나 (선형적으로) 같이 변하는 정도를 나타냄.여러 random variables 에서는 matrix로 기재됨(covariance matrix, $\Sigma$).ma&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\mathbf{\Omega} \in \mathbb{R}^{m \times m}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 원소는 다음을 의미함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\sigma^2 \Omega_{ij}&lt;br /&gt;=&lt;br /&gt;\operatorname{Cov}&lt;br /&gt;\left(&lt;br /&gt;\varepsilon^{(i)},&lt;br /&gt;\varepsilon^{(j)}&lt;br /&gt;\right)&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, GLS는 다음을 허용함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;sample마다 error variance가 다름&lt;/li&gt;
&lt;li&gt;&lt;u&gt;&lt;b&gt;서로 다른 sample의 error가 correlated&lt;/b&gt; &lt;/u&gt;될 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GLS objective는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\underset{\mathbf{\omega}}{\min}&lt;br /&gt;\left(&lt;br /&gt;\mathbf{y}&lt;br /&gt;-&lt;br /&gt;\mathbf{X}\boldsymbol{\omega}&lt;br /&gt;\right)^T&lt;br /&gt;\mathbf{\Omega}^{-1}&lt;br /&gt;\left(&lt;br /&gt;\mathbf{y}&lt;br /&gt;-&lt;br /&gt;\mathbf{X}\boldsymbol{\omega}&lt;br /&gt;\right)&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;GLS 해는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\boldsymbol{\omega}^*_{GLS}&lt;br /&gt;=&lt;br /&gt;\left(&lt;br /&gt;\mathbf{X}^\top&lt;br /&gt;\mathbf{\Omega}^{-1}&lt;br /&gt;\mathbf{X}&lt;br /&gt;\right)^{-1}&lt;br /&gt;\mathbf{X}^\top&lt;br /&gt;\mathbf{\Omega}^{-1}&lt;br /&gt;\mathbf{y}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OLS, WLS, GLS의 포함 관계는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\text{OLS} \subset \text{WLS} \subset \text{GLS}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 여기서 포함 관계는 &amp;ldquo;error covariance structure의 일반성&amp;rdquo; 기준임.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. TLS&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/747&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.06.22 - [Programming/ML] - [Fitting] Total Least Squares Regression&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777126469158&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Fitting] Total Least Squares Regression&quot; data-og-description=&quot;Total Least Squares (TLS) RegressionTotal Least Squares (TLS) 회귀는 데이터의 모든 방향에서의 오차를 최소화하는 회귀 방법임.이는 특히 독립 변수 와 종속 변수 모두에 오차가 포함되어 있는 경우에 유용함&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/747&quot; data-og-url=&quot;https://dsaint31.tistory.com/747&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bEhPEt/dJMb83kvDff/XbpyhSVpseEsHRRxlTPeEk/img.jpg?width=800&amp;amp;height=626&amp;amp;face=0_0_800_626,https://scrap.kakaocdn.net/dn/bdSn3m/dJMb81fVjzc/CkgZAZx7p0OsaJfbvsUtSk/img.jpg?width=800&amp;amp;height=626&amp;amp;face=0_0_800_626,https://scrap.kakaocdn.net/dn/wdnZP/dJMb9kT5EoL/MXyMjyz2boWVUhxwXTEtcK/img.jpg?width=1163&amp;amp;height=911&amp;amp;face=0_0_1163_911&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/747&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/747&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bEhPEt/dJMb83kvDff/XbpyhSVpseEsHRRxlTPeEk/img.jpg?width=800&amp;amp;height=626&amp;amp;face=0_0_800_626,https://scrap.kakaocdn.net/dn/bdSn3m/dJMb81fVjzc/CkgZAZx7p0OsaJfbvsUtSk/img.jpg?width=800&amp;amp;height=626&amp;amp;face=0_0_800_626,https://scrap.kakaocdn.net/dn/wdnZP/dJMb9kT5EoL/MXyMjyz2boWVUhxwXTEtcK/img.jpg?width=1163&amp;amp;height=911&amp;amp;face=0_0_1163_911');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Fitting] Total Least Squares Regression&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Total Least Squares (TLS) RegressionTotal Least Squares (TLS) 회귀는 데이터의 모든 방향에서의 오차를 최소화하는 회귀 방법임.이는 특히 독립 변수 와 종속 변수 모두에 오차가 포함되어 있는 경우에 유용함&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TLS(Total Least Squares)는 OLS, WLS, GLS와 관점이 다름.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OLS, WLS, GLS는 기본적으로 $\mathbf{X}$는 fixed 또는 error-free라고 보고, $\mathbf{y}$ 쪽 residual을 최소화함.&lt;/li&gt;
&lt;li&gt;반면 TLS는 $\mathbf{X}$와 $\mathbf{y}$ 양쪽에 measurement error가 있다고 봄.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OLS 계열에서는 이상적인 경우의 모델은 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbf{y}=\mathbf{X}\boldsymbol{\omega}+\boldsymbol{\varepsilon}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 TLS에서는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;관측된 $\mathbf{X}$와 $\mathbf{y}$ 모두 오차를 포함&lt;/b&gt;&lt;/span&gt;한다고 봄.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\left( \mathbf{X} + \Delta \mathbf{X} \right)\boldsymbol{\omega}&lt;br /&gt;=&lt;br /&gt;\mathbf{y} + \Delta \mathbf{y}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TLS는 다음 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;perturbation&lt;/b&gt; &lt;/span&gt;(작은 변화량,수정량을 뜻함: correction)을 최소화함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;( $&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;[ \mathbf{&lt;/span&gt;&lt;span&gt;X}&lt;/span&gt;&lt;span&gt; \mathbf{&lt;/span&gt;&lt;span&gt;y} &lt;/span&gt;&lt;span&gt;]$&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; 전체의 Euclidean perturbation을 최소화하기 때문에 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Feature Scaling이 매우 중요&lt;/b&gt;&lt;/span&gt;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\underset{\Delta \mathbf{X}, \Delta \mathbf{y}, \boldsymbol{\omega}}{\min}&lt;br /&gt;\|&lt;br /&gt;\left[&lt;br /&gt;\Delta \mathbf{X}&lt;br /&gt;\&lt;br /&gt;\Delta \mathbf{y}&lt;br /&gt;\right]&lt;br /&gt;\|_F^2&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;subject to&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;( \mathbf{X} + \Delta \mathbf{X}) \boldsymbol{\omega}&lt;br /&gt;=&lt;br /&gt;\mathbf{y} + \Delta \mathbf{y}&lt;br /&gt;$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여기서 $\| \mathbf{A} \| _F = \displaystyle \sqrt{ \sum^m_{i=1} \sum^n_{j=1} a^2 _{ij} }$ 이며, Frobenius norm이라고 불림.&lt;/li&gt;
&lt;li&gt;위의 식에선 $\mathbf{X}$와 $\mathbf{y}$에서 발생한 모든 correction (or error) 의 제곱합임.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\Delta \mathbf{X}$와 $\Delta \mathbf{y}$는 &lt;br /&gt;실제 관측값에 섞여 있다고 가정하는 &lt;br /&gt;measurement error 또는 &lt;br /&gt;해당 error를 제거하기 위한 작은 correction으로 해석됨.&lt;br /&gt;즉, 이들의 모든 원소를 각각 제곱하여 합한 값을 최소화하는 것이 TLS에서 요구됨.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TLS에서 augmented data matrix는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\mathbf{A}&lt;br /&gt;=&lt;br /&gt;[&lt;br /&gt;\mathbf{X}&lt;br /&gt;\&lt;br /&gt;\mathbf{y}&lt;br /&gt;]&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;차원은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\mathbf{A}&lt;br /&gt;\in&lt;br /&gt;\mathbb{R}^{m \times (n+2)}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 $\mathbf{X}$가 intercept column을 이미 포함하므로 $(n+1)$개의 column을 가지고, $\mathbf{y}$ column이 하나 더 붙어 총 $(n+2)$개 column이 됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;Standard TLS는 &lt;br /&gt;보통 SVD를 이용해 풂.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;TLS 의 특징&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\mathbf{X}$ 와 $\mathbf{y}$ 양쪽에 measurement error 존재&lt;/li&gt;
&lt;li&gt;vertical residual이 아니라 orthogonal residual 관점&lt;/li&gt;
&lt;li&gt;augmented matrix $\left[ \mathbf{X} \ \mathbf{y} \right]$ 사용&lt;/li&gt;
&lt;li&gt;대표 solver: SVD&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 TLS는&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; SVD 기반 closed-form/direct solution이 가능&lt;/b&gt;&lt;/span&gt;하지만,&lt;br /&gt;penalty, 구조 제약, weight, robustness 조건등이 들어간 TLS는&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;iterative optimization으로 푸는 것이 보다 일반적&lt;/b&gt;&lt;/span&gt;임.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고: 차원 정리&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;intercept를 포함한 경우임.&lt;/p&gt;
&lt;table style=&quot;height: 302px;&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px; text-align: center;&quot;&gt;&lt;b&gt;기호&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 21px; text-align: center;&quot;&gt;&lt;b&gt;의미&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 21px; text-align: center;&quot;&gt;&lt;b&gt;차원&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$m$&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;sample 수&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;scalar&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$n$&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;feature 수&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;scalar&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$\mathbf{X}$&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;intercept 포함 design matrix&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$m \times (n+1)$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$\boldsymbol{\omega}$&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;itercept 포함 parameter vector&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$(n+1) \times 1$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$\mathbf{y}$&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;target vector&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$m \times 1$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$\hat{\mathbf{y}}$&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;predicted value vector&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$m \times 1$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$\mathbf{e}$&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;residual vector&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$m \times 1$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$\boldsymbol{\varepsilon}$&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;error vector&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$m \times 1$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$\mathbf{W}$&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;WLS weight matrix&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$m \times m$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$\mathbf{\Omega}$&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;GLS error covariance matrix&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$m \times m$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$\mathbf{X}^\top \mathbf{X}$&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;feature-feature Gram matrix&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$(n+1)\times(n+1)$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$\mathbf{X}^\top \mathbf{W} \mathbf{X}$&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;WLS parameter system matrix&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$(n+1)\times(n+1)$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;${\mathbf{X}}^\top \mathbf{\Omega}^{-1} \mathbf{X}$&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;GLS parameter system matrix&lt;/td&gt;
&lt;td style=&quot;height: 17px;&quot;&gt;$(n+1)\times(n+1)$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$[\mathbf{X}\ \mathbf{y}]$&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;TLS augmented matrix, intercept 포함&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$m \times (n+2)$&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;요약&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;sample 수를 $m$, feature 수를 $n$으로 두면, intercept를 포함한 design matrix는 $\mathbf{X}\in\mathbb{R}^{m\times (n+1)}$임.&lt;/li&gt;
&lt;li&gt;OLS는 $y$ 방향 residual의 제곱합을 최소화하는 기본 least squares임.&lt;/li&gt;
&lt;li&gt;Ridge, LASSO, Elastic Net은 OLS objective에 regularization penalty를 추가한 penalized least squares 계열임.&lt;/li&gt;
&lt;li&gt;WLS는 sample별 error variance가 다를 때 diagonal weight matrix $\mathbf{W}\in\mathbb{R}^{m\times m}$를 사용하는 방법임.&lt;/li&gt;
&lt;li&gt;GLS는 sample error들 사이의 covariance까지 포함하여 $\mathbf{\Omega}\in\mathbb{R}^{m\times m}$를 사용하는 WLS의 일반화임.&lt;/li&gt;
&lt;li&gt;TLS는 $X$와 $y$ 양쪽에 measurement error가 있다고 보고, vertical residual이 아니라 orthogonal residual 또는 total perturbation을 최소화하는 방법임.&lt;/li&gt;
&lt;li&gt;Normal equation, QR, SVD, WLS direct solve, GLS direct solve는 direct linear algebra 계열이고, GD, SGD, coordinate descent는 iterative optimization 계열임.&lt;/li&gt;
&lt;li&gt;OLS와 WLS에서는 feature scaling이 필수는 아니지만, Penalized Linear Regression과 TLS에서는 scale이 objective function에 직접적인 영향을 주므로 일반적으로 scaling을 수행해야 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;같이보면 좋은 자료들&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1777292587763&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;BME&quot; data-og-description=&quot;bagging boosting ensemble machine learning random forest regression scikit-learn support vector machine [ML] Classic Regressor (Summary) DeepLearning 계열을 제외한 Regressor 모델들을 간단하게 정리함. ​ 분류 Instance Based Algorithm Mod&quot; data-og-host=&quot;dsaint31.me&quot; data-og-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/&quot; data-og-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dxFWo7/dJMb9aKH2lv/aOq76AkLdqVDUj2ytr8FeK/img.png?width=2752&amp;amp;height=1536&amp;amp;face=0_0_2752_1536&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch01/ch01_41/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dxFWo7/dJMb9aKH2lv/aOq76AkLdqVDUj2ytr8FeK/img.png?width=2752&amp;amp;height=1536&amp;amp;face=0_0_2752_1536');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;BME&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;bagging boosting ensemble machine learning random forest regression scikit-learn support vector machine [ML] Classic Regressor (Summary) DeepLearning 계열을 제외한 Regressor 모델들을 간단하게 정리함. ​ 분류 Instance Based Algorithm Mod&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.me&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/278&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.05.01 - [.../Math] - [Statistics] Covariance vs. Correlation:&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778288448263&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Statistics] Covariance vs. Correlation:&quot; data-og-description=&quot;Covariance (공분산)&amp;quot;Covariance&amp;quot; is the raw version of correlation.두 random variable(확률변수)가 얼마나 (선형적으로) 같이 변하는 정도를 나타냄.여러 random variables 에서는 matrix로 기재됨(covariance matrix, $\Sigma$).ma&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/278&quot; data-og-url=&quot;https://dsaint31.tistory.com/278&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/I3CvX/dJMb9jOrcnB/4Qs5QbU3hnzr4lASjKqPh0/img.png?width=800&amp;amp;height=364&amp;amp;face=0_0_800_364,https://scrap.kakaocdn.net/dn/qlbQR/dJMb9iaVqCD/PDgFsvwN9dLHzhLKKfAafk/img.png?width=800&amp;amp;height=364&amp;amp;face=0_0_800_364,https://scrap.kakaocdn.net/dn/jcNjK/dJMb9jgBAXg/nEpJkIWl34YWpUIZtNSSak/img.png?width=1024&amp;amp;height=467&amp;amp;face=0_0_1024_467&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/278&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/278&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/I3CvX/dJMb9jOrcnB/4Qs5QbU3hnzr4lASjKqPh0/img.png?width=800&amp;amp;height=364&amp;amp;face=0_0_800_364,https://scrap.kakaocdn.net/dn/qlbQR/dJMb9iaVqCD/PDgFsvwN9dLHzhLKKfAafk/img.png?width=800&amp;amp;height=364&amp;amp;face=0_0_800_364,https://scrap.kakaocdn.net/dn/jcNjK/dJMb9jgBAXg/nEpJkIWl34YWpUIZtNSSak/img.png?width=1024&amp;amp;height=467&amp;amp;face=0_0_1024_467');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Statistics] Covariance vs. Correlation:&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Covariance (공분산)&quot;Covariance&quot; is the raw version of correlation.두 random variable(확률변수)가 얼마나 (선형적으로) 같이 변하는 정도를 나타냄.여러 random variables 에서는 matrix로 기재됨(covariance matrix, $\Sigma$).ma&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/738&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.06.13 - [.../Math] - [Math] Weighted Least Squares&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778288456266&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] Weighted Least Squares&quot; data-og-description=&quot;Weighted Least Squares(WLS)는sample마다 error variance가 다를 수 있다고 보고,각 residual 제곱항에 보통 $\frac{1}{\sigma_i^2}$에 비례하는 weight을 주어 추정하는 Least Squares 방법임.아래와 같이 error term의 variance&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/738&quot; data-og-url=&quot;https://dsaint31.tistory.com/738&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Gsjb8/dJMb9kT7fXE/J8my8tAPg6vJiN22rQH3q1/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474,https://scrap.kakaocdn.net/dn/cgqzqv/dJMb9gxpIHT/8JMBszcjNFpOeibE2etyW0/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474,https://scrap.kakaocdn.net/dn/AlRsK/dJMb9bv6yje/DxOOFzjg5OonDqz4Zqz2H1/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/738&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/738&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Gsjb8/dJMb9kT7fXE/J8my8tAPg6vJiN22rQH3q1/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474,https://scrap.kakaocdn.net/dn/cgqzqv/dJMb9gxpIHT/8JMBszcjNFpOeibE2etyW0/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474,https://scrap.kakaocdn.net/dn/AlRsK/dJMb9bv6yje/DxOOFzjg5OonDqz4Zqz2H1/img.png?width=646&amp;amp;height=474&amp;amp;face=0_0_646_474');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] Weighted Least Squares&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Weighted Least Squares(WLS)는sample마다 error variance가 다를 수 있다고 보고,각 residual 제곱항에 보통 $\frac{1}{\sigma_i^2}$에 비례하는 weight을 주어 추정하는 Least Squares 방법임.아래와 같이 error term의 variance&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/747&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.06.22 - [Programming/ML] - [Fitting] Total Least Squares Regression&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778288464003&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Fitting] Total Least Squares Regression&quot; data-og-description=&quot;Total Least Squares (TLS) RegressionTotal Least Squares (TLS) 회귀는 데이터의 모든 방향에서의 오차를 최소화하는 회귀 방법임.이는 특히 독립 변수 와 종속 변수 모두에 오차가 포함되어 있는 경우에 유용함&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/747&quot; data-og-url=&quot;https://dsaint31.tistory.com/747&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gFBQA/dJMb9lMfLt2/WxvQrg5LkmQDi4WKCqAK5k/img.jpg?width=800&amp;amp;height=626&amp;amp;face=0_0_800_626,https://scrap.kakaocdn.net/dn/pYvC8/dJMb9eTTTQb/Oy89kXAYM68vQKkWvCzxt1/img.jpg?width=800&amp;amp;height=626&amp;amp;face=0_0_800_626,https://scrap.kakaocdn.net/dn/c6dkSe/dJMb88e4ZsE/3KOpREFZG9UW5j2Xkrytu1/img.jpg?width=1163&amp;amp;height=911&amp;amp;face=0_0_1163_911&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/747&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/747&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gFBQA/dJMb9lMfLt2/WxvQrg5LkmQDi4WKCqAK5k/img.jpg?width=800&amp;amp;height=626&amp;amp;face=0_0_800_626,https://scrap.kakaocdn.net/dn/pYvC8/dJMb9eTTTQb/Oy89kXAYM68vQKkWvCzxt1/img.jpg?width=800&amp;amp;height=626&amp;amp;face=0_0_800_626,https://scrap.kakaocdn.net/dn/c6dkSe/dJMb88e4ZsE/3KOpREFZG9UW5j2Xkrytu1/img.jpg?width=1163&amp;amp;height=911&amp;amp;face=0_0_1163_911');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Fitting] Total Least Squares Regression&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Total Least Squares (TLS) RegressionTotal Least Squares (TLS) 회귀는 데이터의 모든 방향에서의 오차를 최소화하는 회귀 방법임.이는 특히 독립 변수 와 종속 변수 모두에 오차가 포함되어 있는 경우에 유용함&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/ML</category>
      <category>GLS</category>
      <category>linear regression</category>
      <category>regression</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/960</guid>
      <comments>https://dsaint31.tistory.com/960#entry960comment</comments>
      <pubDate>Sat, 25 Apr 2026 23:16:56 +0900</pubDate>
    </item>
    <item>
      <title>Bootstrap Sampling 기반 Accuracy 추정 지표</title>
      <link>https://dsaint31.tistory.com/959</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;941&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bQBYG8/dJMcaarUtxg/OHsugbNgM8Tlb9CEjWxfNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bQBYG8/dJMcaarUtxg/OHsugbNgM8Tlb9CEjWxfNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bQBYG8/dJMcaarUtxg/OHsugbNgM8Tlb9CEjWxfNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbQBYG8%2FdJMcaarUtxg%2FOHsugbNgM8Tlb9CEjWxfNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;450&quot; data-origin-width=&quot;1672&quot; data-origin-height=&quot;941&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;0. 왜 Bootstrap Accuracy Estimation이 필요한가&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델 성능 평가의 이상적인 방법은 독립적인 test set을 사용하는 것임.&lt;/li&gt;
&lt;li&gt;하지만 데이터가 부족한 경우, 충분한 test set을 확보하기 어려움.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Bootstrap accuracy estimation은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;복원 추출(sampling with replacement)&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; 을 반복(Bootstrap Iteration)하여&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;하나의 dataset으로 여러 training/evaluation 조합을 만들고&amp;nbsp;&lt;/li&gt;
&lt;li&gt;이를 통해 모델의 일반화 성능을 추정하는 방법임.&lt;/li&gt;
&lt;li&gt;단일 train/test split 의 경우와 비교하여 &quot;분산(variance)을 줄인 &lt;b&gt;보다 안정적인 성능 추정&quot;&lt;/b&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt; 이 가능&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/732&quot;&gt;2024.06.05 - [.../Math] - [ML] Bootstrap Sampling&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778580107118&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Bootstrap Sampling&quot; data-og-description=&quot;Bootstrap Sampling을 이해하고 활용하기Bootstrap Sampling이란 무엇인가?Bootstrap Sampling은 통계학(Statistics)과 데이터 과학(Data Science)에서 널리 사용되는 강력한 방법론(Methodology) 중 하나임.이는 기존의 데&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/732&quot; data-og-url=&quot;https://dsaint31.tistory.com/732&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bmMOA6/dJMb8958mDU/ySU0bnQer2sG1lyiIv6C5k/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554,https://scrap.kakaocdn.net/dn/x89hF/dJMb9frJ8AF/7N6HmN4djuVRFkMgHwYCO1/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554,https://scrap.kakaocdn.net/dn/bFWI2k/dJMb9aKJMK8/W90OEAw40eCKkuoYIjnhsK/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/732&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/732&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bmMOA6/dJMb8958mDU/ySU0bnQer2sG1lyiIv6C5k/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554,https://scrap.kakaocdn.net/dn/x89hF/dJMb9frJ8AF/7N6HmN4djuVRFkMgHwYCO1/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554,https://scrap.kakaocdn.net/dn/bFWI2k/dJMb9aKJMK8/W90OEAw40eCKkuoYIjnhsK/img.png?width=784&amp;amp;height=554&amp;amp;face=0_0_784_554');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Bootstrap Sampling&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Bootstrap Sampling을 이해하고 활용하기Bootstrap Sampling이란 무엇인가?Bootstrap Sampling은 통계학(Statistics)과 데이터 과학(Data Science)에서 널리 사용되는 강력한 방법론(Methodology) 중 하나임.이는 기존의 데&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 어떻게 평가하느냐에 따라&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;낙관적(optimistic) 또는&lt;/li&gt;
&lt;li&gt;비관적(pessimistic) 편향(bias)이 발생함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 보정하는 방향으로 다음 순서로 발전해 왔음:&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1402&quot; data-origin-height=&quot;176&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sKWtr/dJMb990mhpb/nwYfk7EUrgc4fr0j8utCWk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sKWtr/dJMb990mhpb/nwYfk7EUrgc4fr0j8utCWk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sKWtr/dJMb990mhpb/nwYfk7EUrgc4fr0j8utCWk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsKWtr%2FdJMb990mhpb%2FnwYfk7EUrgc4fr0j8utCWk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;800&quot; height=&quot;100&quot; data-origin-width=&quot;1402&quot; data-origin-height=&quot;176&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문서는 간단한 예제를 통해 이들을 비교 설명함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문서에 다룬 것 외에도 Optimism-corrected Accuracy도 있음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/963&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2026.05.26 - [Programming/ML] - Optimism-corrected Accuracy&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779773049936&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Optimism-corrected Accuracy&quot; data-og-description=&quot;Optimism-corrected accuracy는bootstrap sampling을 통해resubstitution accuracy에 포함된 낙관적 bias를추정하고 보정한 accuracy임.여기서 optimism은 다음을 의미함.model이 학습에 사용한 data에서 평가될 때, 실제 일&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/963&quot; data-og-url=&quot;https://dsaint31.tistory.com/963&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/nLmDT/dJMb9jOtd9p/oCPbLn5rjylPdO6QImlU9K/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/DrlJ0/dJMb8SpOm58/uljCFwdS5f406wi0798u9K/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/MKVzI/dJMb8QMisfX/cJLlR1Pl1KZgBCienNJEd0/img.png?width=1672&amp;amp;height=941&amp;amp;face=0_0_1672_941&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/963&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/963&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/nLmDT/dJMb9jOtd9p/oCPbLn5rjylPdO6QImlU9K/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/DrlJ0/dJMb8SpOm58/uljCFwdS5f406wi0798u9K/img.png?width=800&amp;amp;height=450&amp;amp;face=0_0_800_450,https://scrap.kakaocdn.net/dn/MKVzI/dJMb8QMisfX/cJLlR1Pl1KZgBCienNJEd0/img.png?width=1672&amp;amp;height=941&amp;amp;face=0_0_1672_941');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Optimism-corrected Accuracy&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Optimism-corrected accuracy는bootstrap sampling을 통해resubstitution accuracy에 포함된 낙관적 bias를추정하고 보정한 accuracy임.여기서 optimism은 다음을 의미함.model이 학습에 사용한 data에서 평가될 때, 실제 일&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 예제 설정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이하 모든 설명에서 다음 4-class 분류 문제를 공통 예제로 사용함.&lt;/p&gt;
&lt;table data-ke-align=&quot;alignCenter&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;항목&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;값&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;샘플 수 $N$&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;클래스&lt;/td&gt;
&lt;td&gt;C1, C2, C3, C4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;실제 클래스 분포 $\hat{p}_k$&lt;/td&gt;
&lt;td&gt;$[0.40,\ 0.30,\ 0.20,\ 0.10]$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;예측 클래스 분포 $\hat{q}_k$&lt;/td&gt;
&lt;td&gt;$[0.40,\ 0.30,\ 0.20,\ 0.10]$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bootstrap Iteration 갯수 $B$&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Bootstrap 실험을 통해 다음 두 평균 accuracy 값을 얻었다고 가정함:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \begin{aligned} \text{Acc}_{\text{train}} &amp;amp;= 0.95 \quad \text{(평균 훈련셋 accuracy, optimistic)} \\ \text{Acc}_{\text{OOB}} &amp;amp;= 0.72 \quad \text{(평균 OOB accuracy, pessimistic)}\end{aligned}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span&gt;&lt;span aria-hidden=&quot;true&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;$\text{Acc}_\text{train}$는 Resubstitution Estimate라고&amp;nbsp; 불리며, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;bootstrap iteration마다 훈련에 사용되었던 자기 bootstrap sample에서 다시 평가한 평균 accuracy 임.&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span&gt;$\text{Acc}_\text{OOB}$&lt;/span&gt;&lt;/span&gt;는 각 bootstrap iteration에서 선택되지 않은 out-of-bag (OOB) sample을 이용해 평가한 accuracy임&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Resubstitution Estimate&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2-1. Concept&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Bootstrap Iteration (b)마다 bootstrap sample $\mathcal{D}^{*(b)}$를 복원 추출로 생성함.&lt;/li&gt;
&lt;li&gt;각 bootstrap sample $\mathcal{D}^{*(b)}$로 모델 $\mathcal{M}^{(b)}$를 학습함.&lt;/li&gt;
&lt;li&gt;학습에 사용한 동일한 bootstrap sample $\mathcal{D}^{*(b)}$에서 다시 평가한 accuracy를 (b)-th resubstitution accuracy라고 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\text{Acc}_{\text{resub}}^{(b)} = \text{Acc}\left(\mathcal{M}^{(b)}, \mathcal{D}^{*(b)}\right)&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 bootstrap 전체에 대한 평균 resubstitution accuracy는 다음과 같이 정의됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{Acc}_{\text{resub}} = \frac{1}{B} \sum_{b=1}^{B} \text{Acc}\left(\mathcal{M}^{(b)}, \mathcal{D}^{*(b)}\right)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 예제에서 $\text{Acc}_{\text{resub}} = 0.95$ 로 둔 값이 이에 해당함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이는 각 bootstrap model을 &lt;b&gt;자신이 학습한 데이터로 다시 평가한 값&lt;/b&gt;이므로,&lt;/li&gt;
&lt;li&gt;training accuracy라고 볼 수 있지만 더 정확한 명칭은 &lt;b&gt;평균 resubstitution accuracy (=mean resubstitution estimate)&lt;/b&gt;임.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt; resubstitution이 붙은 이유는 &lt;br /&gt;&lt;b&gt;학습에 사용한 sample을 평가 단계에서 다시 대입해서 사용하기 때문&lt;/b&gt; &lt;/span&gt;&lt;/blockquote&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2-2. Problem: Optimistic Bias&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Resubstitution estimate는 학습에 사용한 sample을 다시 평가에 사용하므로 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;낙관적 편향(optimistic bias)&lt;/b&gt;&lt;/span&gt;을 가짐.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;즉, $\mathcal{M}^{(b)}$ 는 이미 $\mathcal{D}^{*(b)}$를 이용해 학습되었고,&lt;/li&gt;
&lt;li&gt;평가도 같은 $\mathcal{D}^{*(b)}$에서 수행되므로&lt;/li&gt;
&lt;li&gt;&lt;u&gt;&lt;b&gt;실제 일반화 성능보다 accuracy가 높게 추정&lt;/b&gt;&lt;/u&gt;될 수 있음 (=&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Optimistic bias&lt;/b&gt;&lt;/span&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 다음과 같은 경우 낙관적 편향이 더 커질 수 있음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;sample 수가 적은 경우&lt;/li&gt;
&lt;li&gt;모델 복잡도가 높은 경우&lt;/li&gt;
&lt;li&gt;class imbalance가 심한 경우&lt;/li&gt;
&lt;li&gt;소수 클래스 sample이 bootstrap sample 안에서 반복적으로 중복 선택되는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 C4처럼 원본 dataset에 sample이 2개뿐인 소수 클래스는 bootstrap sample 안에서 같은 sample이 여러 번 중복될 수 있음.&lt;br /&gt;이 경우 모델은 해당 sample을 사실상 외운 상태(Memorization)가 되어 &lt;br /&gt;training accuracy는 높게 나오지만, 실제 unseen sample에 대한 일반화 성능은 훨씬 낮을 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 resubstitution estimate는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델의 학습 데이터 적합 정도를 확인하는 용도 등으로&amp;nbsp;사용할 수 있지만,&lt;/li&gt;
&lt;li&gt;일반화 성능 추정치로는 부적절함.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;3. Ordinary Bootstrap Estimate&lt;/h2&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;3-1. Concept&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 bootstrap sample $\mathcal{D}^{*(b)}$ 로 훈련한 모델 $\mathcal{M}^{(b)}$을&lt;/li&gt;
&lt;li&gt;&lt;b&gt;원본 dataset 전체&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;$\mathcal{D}$로 평가하고 이를 $B$회 평균냄.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;$$\text{Acc}_{\text{ordinary_boot}} = \frac{1}{B}\sum_{b=1}^{B} \text{Acc}(\mathcal{M}^{(b)}, \mathcal{D})$$&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;참고로, 이 값은 위의 예제에서 구하진 않음.&lt;/p&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;3-2. Problem: Optimistic Bias&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;이 방식도 optimistic bais가 발생.&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt; test set으로 사용되는 $\mathcal{D}$에 이론적으로 63.2%가량의 훈련 샘플이 포함&lt;/b&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;되기 때문임.&lt;/li&gt;
&lt;li&gt;따라서 prediction error 기준으로는 error를 과소추정하고, &lt;br /&gt;accuracy 기준으로는 성능을 과대평가하는 optimistic bias가 발생한다.&lt;/li&gt;
&lt;li&gt;특히 sample 수가 적거나 class imbalance가 심한 multi-class 문제에서는,&lt;br /&gt;훈련 중 본 sample에 대한 높은 성능이 전체 accuracy를 크게 끌어올릴 수 있다.&lt;/li&gt;
&lt;li&gt;특히 C4처럼 샘플이 2개뿐인 소수 클래스도 훈련셋에서는 100% accuracy를 낼 수 있어, 실제 일반화 성능 대비 크게 과장된 수치가 됨.&lt;/li&gt;
&lt;li&gt;적은 수의 데이터를 가진 경우와 멀티 클래스인 경우에&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b&gt;사용 비권장.&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Resubstitution estimate보다는 낫지만, &lt;br /&gt;여전히 training data가 evaluation data에 섞이므로 accuracy가 과대평가될 수 있음.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. OOB (Out-of-Bag) Bootstrap&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4-1. Concept&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sampling with replacement 특성상&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 샘플이 특정 bootstrap $\mathcal{D}^{*(b)}$ 에서 제외될 이론적 확률이 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$P(\text{excluded}) = \left(1 - \frac{1}{N}\right)^N \approx e^{-1} \approx 0.368$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 제외된 샘플들을 &lt;b&gt;OOB sample&lt;/b&gt; $\mathcal{D}^{\text{OOB}(b)}$ 이라 함.&lt;/li&gt;
&lt;li&gt;완벽하게 훈련에 사용되지 않은 샘플들이므로 &lt;b&gt;독립적인 평가가 가능&lt;/b&gt;함.&lt;/li&gt;
&lt;li&gt;전체 20개 샘플 중 평균 $20 \times 0.368 \approx 7.4$개가 OOB sample로 사용됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \text{Acc}_{\text{OOB}} = \frac{1}{N} \sum_{i=1}^{N} \text{Acc}\!\left( \left\{ \mathcal{M}^{(b)} \mid i \notin \mathcal{D}^{*(b)} \right\}, \mathbf{x}_i \right) = 0.72$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$N$ : the number of samples,&lt;/li&gt;
&lt;li&gt;$\mathcal{M}^{(b)}$ : the model trained on the $b$-th bootstrap sample,&lt;/li&gt;
&lt;li&gt;$\mathcal{D}^{*(b)}$ : is the $b$-th bootstrap training set,&lt;/li&gt;
&lt;li&gt;$i \notin \mathcal{D}^{*(b)}$ : sample $i$ is out-of-bag for model $\mathcal{M}^{(b)}$&lt;/li&gt;
&lt;li&gt;$\text{Acc}(\cdot)$ : the prediction accuracy evaluated using the OOB models for sample $\mathbf{x}_i$&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/746&quot;&gt;2024.06.20 - [.../Math] - [ML] Out of Bag: 유도하기.&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1778584644349&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Out of Bag: 유도하기.&quot; data-og-description=&quot;Out of Bag (OOB)란?Out of Bag (OOB)는 Bagging (Bootstrap aggregating)과 같이 Bootstraping을 이용한 Ensemble Model에 등장하는 용어. Bootstrap Sampling을 사용할 경우, 특정 predictor를 훈련시킬 때 sample point는 여러번 사용&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/746&quot; data-og-url=&quot;https://dsaint31.tistory.com/746&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/clg9RG/dJMb9jOrCrU/X1YNK68Kq3HaAGvYMrdFU0/img.jpg?width=800&amp;amp;height=368&amp;amp;face=0_0_800_368,https://scrap.kakaocdn.net/dn/Y97Eh/dJMb9cBMLDd/nzHXWg5aJlGZStZsUAUFJ1/img.jpg?width=800&amp;amp;height=368&amp;amp;face=0_0_800_368,https://scrap.kakaocdn.net/dn/jDOAX/dJMb9jOrCrT/KUz10l2uAhBaUGoVcOC651/img.jpg?width=960&amp;amp;height=442&amp;amp;face=0_0_960_442&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/746&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/746&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/clg9RG/dJMb9jOrCrU/X1YNK68Kq3HaAGvYMrdFU0/img.jpg?width=800&amp;amp;height=368&amp;amp;face=0_0_800_368,https://scrap.kakaocdn.net/dn/Y97Eh/dJMb9cBMLDd/nzHXWg5aJlGZStZsUAUFJ1/img.jpg?width=800&amp;amp;height=368&amp;amp;face=0_0_800_368,https://scrap.kakaocdn.net/dn/jDOAX/dJMb9jOrCrT/KUz10l2uAhBaUGoVcOC651/img.jpg?width=960&amp;amp;height=442&amp;amp;face=0_0_960_442');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Out of Bag: 유도하기.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Out of Bag (OOB)란?Out of Bag (OOB)는 Bagging (Bootstrap aggregating)과 같이 Bootstraping을 이용한 Ensemble Model에 등장하는 용어. Bootstrap Sampling을 사용할 경우, 특정 predictor를 훈련시킬 때 sample point는 여러번 사용&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4-2. Per-Class OOB / Training Sample Analysis&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignCenter&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;클래스&lt;/td&gt;
&lt;td&gt;비율&lt;/td&gt;
&lt;td&gt;전체 수 $N_k$&lt;/td&gt;
&lt;td&gt;기대 OOB 수 &lt;br /&gt;($\times 0.368$)&lt;/td&gt;
&lt;td&gt;기대 훈련 수 &lt;br /&gt;($\times 0.632$)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C1&lt;/td&gt;
&lt;td&gt;0.40&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;$\approx 2.94$&lt;/td&gt;
&lt;td&gt;$\approx 5.06$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C2&lt;/td&gt;
&lt;td&gt;0.30&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;$\approx 2.21$&lt;/td&gt;
&lt;td&gt;$\approx 3.79$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C3&lt;/td&gt;
&lt;td&gt;0.20&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;$\approx 1.47$&lt;/td&gt;
&lt;td&gt;$\approx 2.53$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;C4&lt;/td&gt;
&lt;td&gt;0.10&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;$\approx 0.74$&lt;/td&gt;
&lt;td&gt;$\approx 1.26$&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4-3. 문제점: Problem: Pessimistic Bias Worsens with More Classes&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OOB estimate는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;해당 bootstrap model 기준으로 학습에 사용되지 않은 sample을 평가하므로,&lt;/li&gt;
&lt;li&gt;앞서 resubstitution estimate나 ordinary bootstrap estimate보다 일반화 성능 평가에 가깝다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만, 데이터수가 적거나, 클래스 수가 많고 데이터가 불균형할수록 다음 세 가지 문제가 동시에 발생함:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 1. 소수 클래스 OOB 평가가 어려움:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C4 샘플이 2개 뿐이고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 C4 샘플이 bootstrap에 포함될 확률이 $\approx 0.632$이므로,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 샘플 모두 포함되어 C4의 OOB sample이 하나도 없을 확률이 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$P(\text{C4 OOB} = 0) \approx 0.632^2 \approx 0.40$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;즉 bootstrap의 약 &lt;b&gt;40%에서 C4에 대한 OOB 평가가 아예 불가능&lt;/b&gt;함.&lt;/li&gt;
&lt;li&gt;이는 $\text{Acc}_{\text{OOB}}$의 &lt;b&gt;분산(variance)을 크게 증가&lt;/b&gt;시킴.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 2. 다수 클래스 위주의 편향&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;C4의 OOB 평가가 불가능한 bootstrap에서는&lt;/li&gt;
&lt;li&gt;&lt;u&gt;C4의 성능(적은 수의 클래스에 대한 성능)이 전혀 반영되지 않으므로&lt;/u&gt;,&lt;/li&gt;
&lt;li&gt;$\text{Acc}_{\text{OOB}}$는&lt;span style=&quot;color: #ee2323;&quot;&gt; &lt;b&gt;다수 클래스(C1, C2) 위주&lt;/b&gt;로 편향&lt;/span&gt;됨.&lt;/li&gt;
&lt;li&gt;&lt;u&gt;모델이 C4를 전혀 맞추지 못해도 해당 bootstrap의 OOB accuracy에는 영향이 없음.&lt;/u&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;문제 3. 소수 클래스 훈련 부족에 의한 pessimistic bias 심화&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;6915&quot; data-start=&quot;6894&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;6915&quot; data-start=&quot;6894&quot; data-ke-size=&quot;size16&quot;&gt;C4는 원본 dataset에 2개뿐임.&lt;/p&gt;
&lt;p data-end=&quot;6973&quot; data-start=&quot;6917&quot; data-ke-size=&quot;size16&quot;&gt;하나의 bootstrap sample에서 C4가 학습에 사용되는 기대 sample 수는 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;$$2 \times 0.632 \approx 1.262$$&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 bootrtrap iteration에서 C4는 평균 &lt;b&gt;1.26개&lt;/b&gt;만으로 훈련해야 하므로 모델이 C4 패턴을 제대로 학습하기 어려움.&lt;/li&gt;
&lt;li&gt;OOB 평가에서 C4를 자주 틀리게 되어 $\text{Acc}_{\text{OOB}}$의 &lt;b&gt;pessimistic bias가 심화&lt;/b&gt;됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;OOB의 문제점 정리&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세 문제를 종합하면:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ \underbrace{\text{클래스 수} \uparrow}_{\text{소수 클래스 OOB 부족}} \Rightarrow \underbrace{\text{Var}(\text{Acc}_{\text{OOB}}) \uparrow}_{\text{추정 불안정}} + \underbrace{\text{Bias}(\text{Acc}_{\text{OOB}}) \downarrow}_{\text{비관적 편향 심화}}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이같은 OOB의 단점이 &lt;code&gt;.632&lt;/code&gt; 및 &lt;code&gt;.632+&lt;/code&gt; 보정이 등장하게 된 배경이 됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 OOB는 가장 나쁜(=비관적인) 결과가 나옴!&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. &lt;code&gt;.632&lt;/code&gt; Bootstrap&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5-1. Concept&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Basic Bootstrap의 optimistic bias (낙관적 편향)&lt;/b&gt;&lt;/span&gt; 와 &lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;OOB의 pessimistic bias (비관적 편향)&lt;/b&gt;&lt;/span&gt; 를&lt;/li&gt;
&lt;li&gt;&lt;b&gt;고정 가중치(fixed weight)&lt;/b&gt; 로 결합하여 보정하려는 방법.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 Accuracy 기준으로 살펴본 .632 Bootstrap 임:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{Acc}_{.632} = 0.368 \times \text{Acc}_{\text{resub}} + 0.632 \times \text{Acc}_{\text{OOB}}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$= 0.368 \times 0.95 + 0.632 \times 0.72 = 0.3496 + 0.4550 = \mathbf{0.805}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가중치 $0.632$는 각 샘플이 하나의 bootstrap에 포함될 확률 $1 - e^{-1} \approx 0.632$에서 자연스럽게 유도됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5-2. Problem: Residual Optimistic Bias under Overfitting&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\text{Acc}_{\text{train}} = 0.95$처럼 과적합이 심한 경우에도 훈련 accuracy가 항상 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;고정 비율 $0.368$만큼 반영&lt;/b&gt;&lt;/span&gt;됨.&lt;/li&gt;
&lt;li&gt;과적합 정도 차이가 있음에도 이를 고려하지 않고 항상 같은 가중치를 적용하는 것이 &lt;code&gt;.632&lt;/code&gt;의 근본적 한계임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 모델이 심하게 과적합되어 $\text{Acc}_\text{resub}$가 거의 의미없는 1.0 이 나온 경우에도, 이를 36.8% 를 반영함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;.632 bootstrap&lt;/b&gt;&lt;/span&gt;은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;resubstitution estimate보다는 덜 낙관적이지만,&lt;/li&gt;
&lt;li&gt;심한 과적합 상황에서는 여전히 낙관적 편향이 남을 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. &lt;code&gt;.632&lt;/code&gt;+ Bootstrap&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Efron &amp;amp; Tibshirani (1997)가 제안한 방법으로, &lt;code&gt;.632&lt;/code&gt;의 고정 가중치 문제를 해결함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;과적합(over-fit) 정도에 따라 가중치를 &lt;span style=&quot;color: #ee2323;&quot;&gt;동적으로 조정&lt;/span&gt;&lt;/b&gt;함.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Step 1. No-Information Accuracy $\gamma_{\text{acc}}$ 계산&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; No-information accuracy&lt;/b&gt;&lt;/span&gt;는 &lt;u&gt;feature와 label 사이에 유용한 관계가 없다고 가정&lt;/u&gt;했을 때 기대되는 accuracy임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;모델이 &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;학습 없이 클래스 분포&lt;/span&gt;만으로&lt;/b&gt; 예측할 때의 기대 accuracy.&lt;/li&gt;
&lt;li&gt;모델 성능의 &lt;b&gt;최저 기준선(baseline)&lt;/b&gt; 역할을 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\gamma_{\text{acc}} = \sum_{k=1}^{K} \hat{p}_k \cdot \hat{q}_k$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$= (0.40 \times 0.40) + (0.30 \times 0.30) + (0.20 \times 0.20) + (0.10 \times 0.10)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$= 0.16 + 0.09 + 0.04 + 0.01 = \mathbf{0.30}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;4-class 균등 분포라면 $\gamma_{\text{acc}} = 0.25$이지만, 클래스 불균형으로 인해 $0.30$이 됨.&lt;/li&gt;
&lt;li&gt;클래스 수 $K$가 커질수록 $\sum_k \hat{p}_k^2$이 감소하여 $\gamma_{\text{acc}}$는 낮아짐.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;class imbalance가 심하면 클래스 수가 증가하더라도&lt;/li&gt;
&lt;li&gt;$\acc\gamma_{\text{acc}}$ 가 반드시 낮아지지는 않음.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Step 2. Relative Overfitting Rate $\hat{R}$ 계산&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Accuracy 기준에서 relative overfitting rate를 다음과 같이 정의:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\hat{R} = \frac{\text{Acc}_{\text{train}} - \text{Acc}_{\text{OOB}}}{\text{Acc}_{\text{train}} - \gamma_{\text{acc}}} = \frac{0.95 - 0.72}{0.95 - 0.30} = \frac{0.23}{0.65} \approx \mathbf{0.354}$$&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;참고: Qualitative Meaning of $\hat{R}$&lt;/h4&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\hat{R}$은 단순히 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;train/OOB accuracy&lt;/b&gt;&lt;/span&gt;의 차이가 아니라,&lt;br /&gt;&lt;b&gt;&quot;그 차이가 얼마나 심각한가(얼마나 과적합 되었나)&quot;&lt;br /&gt;를 맥락 속에서 &lt;span style=&quot;color: #ee2323;&quot;&gt;정규화&lt;/span&gt;한 지표&lt;/b&gt;임.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\hat{R} = \frac{\overbrace{\text{Acc}_{\text{train}} - \text{Acc}_{\text{OOB}}}^{\text{실제 과적합 격차}}}{\underbrace{\text{Acc}_{\text{train}} - \gamma_{\text{acc}}}_{\text{최대 가능 과적합 격차}}} = \frac{\text{실제 과적합 격차}}{\text{최악 시나리오의 격차}}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;분자&lt;/b&gt; &lt;/span&gt;$(\text{Acc}_{\text{train}} - \text{Acc}_{\text{OOB}})$:
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;u&gt;모델이 실제로 과적합 격차&lt;/u&gt;.&lt;/li&gt;
&lt;li&gt;훈련셋과 OOB셋 간의 실제 성능 격차.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;분모&lt;/b&gt; &lt;/span&gt;$(\text{Acc}_{\text{train}} - \gamma_{\text{acc}})$:
&lt;ul style=&quot;list-style-type: circle;&quot; data-ke-list-type=&quot;circle&quot;&gt;
&lt;li&gt;&lt;u&gt;모델이 낼 수 있는 최대 가능 과적합 격차&lt;/u&gt;.&lt;/li&gt;
&lt;li&gt;훈련 accuracy가 아무런 의미 없는 수준인 $\gamma_{\text{acc}}$에서 최대로 부풀어 오를 때의 격차.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;$\hat{R}$은 &lt;b&gt;모델 신뢰도에 대한 지표&lt;/b&gt; 로서,&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;이 값이 클수록 낙관적인 훈련 accuracy를 &lt;b&gt;덜 신뢰&lt;/b&gt; 해야 함을 의미&lt;/span&gt;함.&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=&quot;height: 86px;&quot; data-ke-align=&quot;alignCenter&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; $\hat{R}$ 값 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; 정성적 의미 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; 가중치 $w$ 방향 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$\hat{R} \approx 0$&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;과적합 없음: train/OOB accuracy 거의 동일&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$w \to 0.632$ (.632와 동일)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$\hat{R} \approx 0.354$&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;&lt;b&gt;본 예제&lt;/b&gt;: 중간 수준의 과적합&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$w \approx 0.727$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$\hat{R} \approx 1$&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;심각한 과적합: 훈련 accuracy가 baseline 수준까지 과장&lt;/td&gt;
&lt;td style=&quot;height: 21px;&quot;&gt;$w \to 1.0$ (OOB만 사용)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Step 3. Dynamic Weight $w$ 계산&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; .632+&lt;/b&gt;&lt;/span&gt; bootstrap에서는&lt;u&gt; OOB accuracy에 부여할 가중치&lt;/u&gt; $w$를 다음과 같이 계산:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$w = \frac{0.632}{1 - 0.368 \times \hat{R}} = \frac{0.632}{1 - 0.368 \times 0.354} = \frac{0.632}{0.870} \approx \mathbf{0.727}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$w$는 항상 $[0.632,\ 1.0]$ 범위에서 결정됨.&lt;/li&gt;
&lt;li&gt;$w = 0.727 &amp;gt; 0.632$이므로, .632 estimator보다 OOB accuracy에 더 많은 가중치를 부여함.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Step 4. 최종 &lt;code&gt;.632+&lt;/code&gt; Accuracy&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; .632+&lt;/b&gt;&lt;/span&gt; accuracy는 다음과 같이 계산:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{Acc}_{.632+} = (1-w) \times \text{Acc}_{\text{train}} + w \times \text{Acc}_{\text{OOB}}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$= 0.273 \times 0.95 + 0.727 \times 0.72 = 0.259 + 0.524 = \mathbf{0.783}$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고: &lt;code&gt;.632&lt;/code&gt; vs &lt;code&gt;.632+&lt;/code&gt;: 가중치 비교&lt;/h2&gt;
&lt;table data-ke-align=&quot;alignCenter&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; $\text{Acc}_{\text{train}}$ 가중치 &lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt; $\text{Acc}_{\text{OOB}}$ 가중치 &lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.632&lt;/td&gt;
&lt;td&gt;$0.368$ (고정)&lt;/td&gt;
&lt;td&gt;$0.632$ (고정)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.632+&lt;/td&gt;
&lt;td&gt;$(1 - w) \leq 0.368$&lt;/td&gt;
&lt;td&gt;$w \geq 0.632$&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$w \geq 0.632$이므로 &lt;code&gt;.632+&lt;/code&gt;의 $\text{Acc}_{\text{OOB}}$ 가중치는 항상 &lt;code&gt;.632&lt;/code&gt;보다 크거나 같음.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 $\text{Acc}_{\text{train}} &amp;gt; \text{Acc}_{\text{OOB}}$인 모든 일반적인 과적합 상황에서 다음이 성립:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{Acc}_{.632+} \leq \text{Acc}_{.632} \quad \checkmark$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;예제: Extreme Overfitting Scenario Verification&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\text{Acc}_{\text{train}} = 1.0$, $\text{Acc}_{\text{OOB}} = \gamma_{\text{acc}} = 0.25$ (랜덤 수준, 4-class 균등)인 경우:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\hat{R} = \frac{1.0 - 0.25}{1.0 - 0.25} = 1.0$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$w = \frac{0.632}{1 - 0.368 \times 1.0} = \frac{0.632}{0.632} = 1.0$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{Acc}_{.632} = 0.368 \times 1.0 + 0.632 \times 0.25 = \mathbf{0.526}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{Acc}_{.632+} = 0 \times 1.0 + 1.0 \times 0.25 = \mathbf{0.250}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\hat{R} = 1.0$의 정성적 의미: &lt;u&gt;&lt;b&gt;실제 과적합 격차가 최대 가능 격차와 완전히 일치&lt;/b&gt;함&lt;/u&gt;.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;훈련된 모델의 일반적인 accuracy가&lt;/li&gt;
&lt;li&gt;아무런 의미 없는 수준($\gamma_{\text{acc}}$, No-information accuracy)과 같은&lt;/li&gt;
&lt;li&gt;최악의 시나리오가 실현된 상태임.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.632+&lt;/code&gt;는 $w = 1.0$으로 설정하여 과적합으로 좋은 듯이 보이는 resubstituion accuracy (=훈련셋에서의 accuracy)를 &lt;b&gt;완전히 무시&lt;/b&gt;함.&lt;/li&gt;
&lt;li&gt;반면 &lt;code&gt;.632&lt;/code&gt;는 이 상황을 감지하지 못하고 무의미한 $\text{Acc}_{\text{train}} = 1.0$을 여전히 $36.8%$ 반영하여 크게 과장된 $0.526$을 출력함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\underbrace{\hat{R} \to 1}_{\text{최악의 과적합}} \Rightarrow \underbrace{w \to 1}_{\text{훈련 accuracy 완전 배제}} \Rightarrow \underbrace{\text{Acc}_{.632+} \to \text{Acc}_{\text{OOB}}}_{\text{.632보다 낮아짐}}$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. 결론&lt;/h2&gt;
&lt;table data-ke-align=&quot;alignCenter&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;방법&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;계산식&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;결과&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;편향&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;b&gt;특징&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Basic Bootstrap&lt;/td&gt;
&lt;td&gt;$\text{Acc}_{\text{train}}$&lt;/td&gt;
&lt;td&gt;$0.950$&lt;/td&gt;
&lt;td&gt;낙관적 &amp;uarr;&amp;uarr;&lt;/td&gt;
&lt;td&gt;평가/훈련 데이터 중복&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OOB Bootstrap&lt;/td&gt;
&lt;td&gt;$\text{Acc}_{\text{OOB}}$&lt;/td&gt;
&lt;td&gt;$0.720$&lt;/td&gt;
&lt;td&gt;비관적 &amp;darr;&lt;/td&gt;
&lt;td&gt;훈련 63.2%만 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.632 Bootstrap&lt;/td&gt;
&lt;td&gt;$0.368 \times 0.95 + 0.632 \times 0.72$&lt;/td&gt;
&lt;td&gt;$0.805$&lt;/td&gt;
&lt;td&gt;약간 낙관적&lt;/td&gt;
&lt;td&gt;고정 가중치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;.632+ Bootstrap&lt;/td&gt;
&lt;td&gt;$0.273 \times 0.95 + 0.727 \times 0.72$&lt;/td&gt;
&lt;td&gt;$0.783$&lt;/td&gt;
&lt;td&gt;보정됨 ✓&lt;/td&gt;
&lt;td&gt;$\hat{R}$ 기반 동적 가중치&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\underbrace{\text{Basic}}_{\text{낙관적 편향}} \xrightarrow{\text{훈련/평가 분리}} \underbrace{\text{OOB}}_{\text{비관적 편향}} \xrightarrow{\text{고정 가중 결합}} \underbrace{\text{.632}}_{\text{잔존 낙관 편향}} \xrightarrow{\hat{R}\text{ 동적 보정}} \underbrace{\text{.632+}}_{\text{편향 최소화} \checkmark}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;.632+&lt;/code&gt;의 핵심은
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\hat{R}$이 &lt;b&gt;&quot;substitution accuracy를 얼마나 신뢰할 수 없는가&quot;를 동적으로 정량화($\hat{R}$)&lt;/b&gt;하고,&lt;/li&gt;
&lt;li&gt;이에 비례하여 더 신뢰할 수 있는 OOB accuracy의 비중을 높인다는 것임.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;4-class처럼 클래스가 많아 $\gamma_{\text{acc}}$가 낮아지면
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\hat{R}$의 분모가 커져 $\hat{R}$이 작아지고&lt;/li&gt;
&lt;li&gt;$w$가 $0.632$에 가까워짐.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;반대로 Overfit(과적합)이 심할수록
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\hat{R} \to 1$, $w \to 1$로 수렴하여&lt;/li&gt;
&lt;li&gt;OOB accuracy만을 신뢰하는 방향으로 자동 조정됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Random Forest는&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; OOB 방식을 기본 평가 방식으로 사용&lt;/b&gt;&lt;/span&gt;함 (대규모 데이터 권장)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적인&lt;b&gt; 소규모 데이터셋&lt;/b&gt;에서는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;.632&lt;/b&gt;&lt;/span&gt; 또는&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt; .632+&lt;/b&gt;&lt;/span&gt;를 권장함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;따라서 일반적으로 &lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;작은 dataset&lt;/span&gt;&lt;/b&gt;에서 &lt;u&gt;단순 &lt;b&gt;resubstitution estimate&lt;/b&gt;는 일반화 성능을 크게 과대평가&lt;/u&gt;할 수 있음.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;OOB estimate&lt;/b&gt;는 더 &lt;span style=&quot;color: #ee2323;&quot;&gt;현실적인 평가&lt;/span&gt;&lt;/u&gt;에 가깝지만, &lt;br /&gt;sample 수가 작거나 class imbalance가 심한 경우에는 불안정할 수 있음.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;.632&lt;/b&gt;&lt;/span&gt;와 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;.632+&lt;/b&gt;&lt;/span&gt;는 이러한 문제를 완화하기 위한 bootstrap 기반 보정 추정량이며, &lt;br /&gt;특히 &lt;u&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;.632+&lt;/b&gt;&lt;/span&gt;는 과적합 정도를 반영하여 가중치를 조정&lt;/u&gt;한다는 점에서 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;.632&lt;/b&gt;&lt;/span&gt;보다 더 나은 선택임.&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;References&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Efron, B. (1983). &lt;i&gt;Estimating the error rate of a prediction rule: improvement on cross-validation.&lt;/i&gt; Journal of the American Statistical Association.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.jstor.org/stable/2288636?seq=1&quot;&gt;https://www.jstor.org/stable/2288636?seq=1&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Efron, B., &amp;amp; Tibshirani, R. (1997). &lt;i&gt;Improvements on cross-validation: The .632+ bootstrap method.&lt;/i&gt; Journal of the American Statistical Association, 92(438), 548&amp;ndash;560.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.jstor.org/stable/2965703&quot;&gt;https://www.jstor.org/stable/2965703&lt;/a&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;같이보면 좋은 자료들&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779748731575&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;BME&quot; data-og-description=&quot;AUC F-score F2 PR ROC accuracy confusion matrix mAP macro micro precision recall sensitivity weighted Performance Measures for Classifiers Confusion matrix Confusion matrix(오차행렬, 혼동행렬)은 row는 label의 ideal class 를 나타내며, column&quot; data-og-host=&quot;dsaint31.me&quot; data-og-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&quot; data-og-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/fgW7O/dJMb9kT9dLQ/hxLk4S7KUKsNtVBIU2skok/img.png?width=1373&amp;amp;height=682&amp;amp;face=0_0_1373_682,https://scrap.kakaocdn.net/dn/bm2Vsp/dJMb9b3YixZ/kHqbk7vJjXzhbFgDQeXh8K/img.png?width=700&amp;amp;height=450&amp;amp;face=0_0_700_450,https://scrap.kakaocdn.net/dn/pcULf/dJMb9c9D7Rq/Ag1uZbINGrQH1bIw6dncnK/img.png?width=702&amp;amp;height=312&amp;amp;face=0_0_702_312&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch02/ml_cls_metrics/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/fgW7O/dJMb9kT9dLQ/hxLk4S7KUKsNtVBIU2skok/img.png?width=1373&amp;amp;height=682&amp;amp;face=0_0_1373_682,https://scrap.kakaocdn.net/dn/bm2Vsp/dJMb9b3YixZ/kHqbk7vJjXzhbFgDQeXh8K/img.png?width=700&amp;amp;height=450&amp;amp;face=0_0_700_450,https://scrap.kakaocdn.net/dn/pcULf/dJMb9c9D7Rq/Ag1uZbINGrQH1bIw6dncnK/img.png?width=702&amp;amp;height=312&amp;amp;face=0_0_702_312');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;BME&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;AUC F-score F2 PR ROC accuracy confusion matrix mAP macro micro precision recall sensitivity weighted Performance Measures for Classifiers Confusion matrix Confusion matrix(오차행렬, 혼동행렬)은 row는 label의 ideal class 를 나타내며, column&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.me&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://ds31x.tistory.com/307&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://ds31x.tistory.com/307&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1779748754576&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Classification 과 관련 metrics 에 대한 소개.&quot; data-og-description=&quot;이 문서는 AI, ML, 그리고 DL의 정의와 이들 간의 차이점을 설명하며,특히 ML의 supervised learning에서 가장 많이 다루는 task인 classification의 종류와 관련 metrics를 설명함.Classifier (분류기):정의: 주어진 &quot; data-og-host=&quot;ds31x.tistory.com&quot; data-og-source-url=&quot;https://ds31x.tistory.com/307&quot; data-og-url=&quot;https://ds31x.tistory.com/307&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/KLuox/dJMb83kzih0/H1dlbjKokA6U7jtzRbksmk/img.png?width=800&amp;amp;height=254&amp;amp;face=0_0_800_254,https://scrap.kakaocdn.net/dn/i77Jk/dJMb9efkgxG/qG4FvOwYCroftQpD7uUVh1/img.png?width=800&amp;amp;height=254&amp;amp;face=0_0_800_254&quot;&gt;&lt;a href=&quot;https://ds31x.tistory.com/307&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ds31x.tistory.com/307&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/KLuox/dJMb83kzih0/H1dlbjKokA6U7jtzRbksmk/img.png?width=800&amp;amp;height=254&amp;amp;face=0_0_800_254,https://scrap.kakaocdn.net/dn/i77Jk/dJMb9efkgxG/qG4FvOwYCroftQpD7uUVh1/img.png?width=800&amp;amp;height=254&amp;amp;face=0_0_800_254');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Classification 과 관련 metrics 에 대한 소개.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이 문서는 AI, ML, 그리고 DL의 정의와 이들 간의 차이점을 설명하며,특히 ML의 supervised learning에서 가장 많이 다루는 task인 classification의 종류와 관련 metrics를 설명함.Classifier (분류기):정의: 주어진&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ds31x.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/ML</category>
      <category>632</category>
      <category>Bootstrap</category>
      <category>classification</category>
      <category>estimation</category>
      <category>Metric</category>
      <category>ML</category>
      <category>OOB</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/959</guid>
      <comments>https://dsaint31.tistory.com/959#entry959comment</comments>
      <pubDate>Tue, 14 Apr 2026 13:48:46 +0900</pubDate>
    </item>
    <item>
      <title>XAI: Coefficient, Feature importance, and SHAP</title>
      <link>https://dsaint31.tistory.com/958</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;XAI는 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;eXplainable AI&lt;/b&gt;&lt;/span&gt;의 약어로,&lt;br /&gt;AI 모델이 왜 이같은 예측(결과)을 내어놓았는지를 설명하는 기술을 가리킴.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 XAI에서 사용되는 도구들인&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;coefficient,&lt;/li&gt;
&lt;li&gt;feature importance&lt;/li&gt;
&lt;li&gt;SHAP&lt;br /&gt;를 비교 설명함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사실 SHAP를 설명하기 위한 글로,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;통계분석이나 classic ML의 사용자들에게 익숙한 coefficient와 feautre importance를 통해&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SHAP의 특징을 설명하는 글임.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;coefficient&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;coefficient는 변수에 곱해지는 상수를 가리키는 용어로,&lt;br /&gt;ML에선 다음을 의미함:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보통 선형모델(linear model), 예를 들어
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Linear Regression이나&lt;/li&gt;
&lt;li&gt;Logistic Regression에서&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;변수에 곱해지는 계수&lt;/b&gt;&lt;/span&gt;를 가리킴 (parameter, weight).&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Logistic Regression에서&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;age&lt;/code&gt;의 coefficient가 양수이면 age가 커질수록 class 1(=Positive) 일 확률이 커짐.&lt;/li&gt;
&lt;li&gt;때문에, coefficient 절댓값이 크면 영향력이 크다는 해석이 가능함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이같은 해석은 가능하지만 다음을 고려해서 결론을 내려야 함:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;coefficient가 곱해지는 대상 변수의 feature scale 을 고려해야 한다.&lt;/li&gt;
&lt;li&gt;one-hot encoding 된 범주형 변수는 기준 범주(reference category)에 대한 상대 비교가 됨&lt;/li&gt;
&lt;li&gt;다른 변수와 상호작용이 큰 비선형 모델(feature간의 correlation이 큰 경우)에서는 coefficient로 영향력을 설명하기 어려움.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 coefficient는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;모델 (주로 선형)에서의 파라미터&quot; 로서&lt;/li&gt;
&lt;li&gt;관련 feature가 모델의 결과에 영향을 얼마나 주는지를 파악하는데 도움이 되나&lt;/li&gt;
&lt;li&gt;feature간 correlation이 크거나, feature간의 feature scale의 차이가 매우 차이가 나는 경우엔&lt;/li&gt;
&lt;li&gt;단순 절대값으로 결과에 영향력으로 판단해서는 안 됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로, Random Forest 같은 &lt;u&gt;&lt;b&gt;tree 모델에서는 아예 coefficient라는 개념 자체가 없다&lt;/b&gt;&lt;/u&gt;는 점도 유의해야 함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Random Forest 에선 feature importance를 통해&lt;/li&gt;
&lt;li&gt;특정 feature가 Random Forest 모델의 결과값에 대한 영향력을 파악할 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;feature importance&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;feature importance는 tree 기반 모델이 자주 제공하는 global &quot;중요도 요약값&quot; 이라고 할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 tree기반 모델에서 다음을 의미함:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 feature가 tree기반 모델에서 split에 많이 기여한 정도.&lt;/li&gt;
&lt;li&gt;즉, split를 통해 얼마나 impurity 감소(gini계수로 impurity정도 계산)에 공헌했는 지를 의미함: purity increament&lt;/li&gt;
&lt;li&gt;주로 상위 노드에서 사용되는 feature들이 높은 feature importance를 가짐.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 정량적인 예제가 필요하다면 다음을 참고:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/854&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.11.10 - [Programming/ML] - [ML] Feature Importances for Decision Tree&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1774329169622&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Feature Importances for Decision Tree&quot; data-og-description=&quot;이 문서는 Feature Importance를 Decision Tree에서 Gini Impurity Measure를 이용하여 계산하는 예제를 보여줌.Tree 예시 (depth = 3) [Root] (X1) [5:5] / \ Node1 Node2 (X2) (X3) [4:1] [1:4] / \ / \Leaf1 Leaf2 Leaf3 Leaf4[3:0] [1:1] [0:2] [&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/854&quot; data-og-url=&quot;https://dsaint31.tistory.com/854&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Gh4i3/dJMb81GWIXH/bcaWhxOWRoYsn3KSDfahZ0/img.png?width=800&amp;amp;height=411&amp;amp;face=0_0_800_411,https://scrap.kakaocdn.net/dn/cCMjb3/dJMb85WSOkN/b5V6KcsfecdxLIv6kZFqpK/img.png?width=800&amp;amp;height=411&amp;amp;face=0_0_800_411,https://scrap.kakaocdn.net/dn/cgCek3/dJMb82MCAxF/Og2hsrZLsC4pxQVXs6lbWk/img.png?width=1222&amp;amp;height=629&amp;amp;face=0_0_1222_629&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/854&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/854&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Gh4i3/dJMb81GWIXH/bcaWhxOWRoYsn3KSDfahZ0/img.png?width=800&amp;amp;height=411&amp;amp;face=0_0_800_411,https://scrap.kakaocdn.net/dn/cCMjb3/dJMb85WSOkN/b5V6KcsfecdxLIv6kZFqpK/img.png?width=800&amp;amp;height=411&amp;amp;face=0_0_800_411,https://scrap.kakaocdn.net/dn/cgCek3/dJMb82MCAxF/Og2hsrZLsC4pxQVXs6lbWk/img.png?width=1222&amp;amp;height=629&amp;amp;face=0_0_1222_629');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Feature Importances for Decision Tree&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이 문서는 Feature Importance를 Decision Tree에서 Gini Impurity Measure를 이용하여 계산하는 예제를 보여줌.Tree 예시 (depth = 3) [Root] (X1) [5:5] / \ Node1 Node2 (X2) (X3) [4:1] [1:4] / \ / \Leaf1 Leaf2 Leaf3 Leaf4[3:0] [1:1] [0:2] [&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국, feature importance는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델 전체 수준(global)에서&lt;/li&gt;
&lt;li&gt;그 feature가 얼마나 많이 사용되었는지를 정량적으로 보여주는 값임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 다음을 주의해야 함:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;coefficient의 경우 sign을 통해 어느 방향으로 영향을 주는지를 파악가능한 것과 달리,&lt;/li&gt;
&lt;li&gt;feature importance는 방향성을 전혀 애기해주지 않음.&lt;/li&gt;
&lt;li&gt;개별 sample에 대한 설명이 불가함.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 환자에선 age가 결과에 큰 영향을 주고,&lt;/li&gt;
&lt;li&gt;다른 환자에선 혈당이 큰 영향을 줄 수 있는데&lt;/li&gt;
&lt;li&gt;이를 feature importance로는 구분할 수 없음.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;범주형 변수를 one-hot encoding 할 경우, 해당 feature의 영향력이 분산됨 (보통은 다 더해서 다시 확인함).&lt;/li&gt;
&lt;li&gt;split에 미치는 영향이기 때문에 실제 중요도의 정도와 차이가 있을 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;SHAP&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;SHAP은 SHapley Additive exPlanations의 약자로, &lt;br /&gt;게임이론(game theory)의 Shapley value를 머신러닝 모델 해석에 적용한 설명 기법임.&lt;br /&gt;&lt;br /&gt;SHAP은 &lt;br /&gt;Lundberg와 Lee가 2017년에 발표한 논문 &lt;br /&gt;&quot;A Unified Approach to Interpreting Model Predictions&quot;를 통해 널리 소개됨.&lt;br /&gt;&lt;br /&gt;이는 각 feature가 예측값에 얼마나 기여했는지를 정량적으로 분해해 설명하는 방법으로&amp;nbsp;&lt;br /&gt;복잡한 비선형 모델에도 비교적 일관된 방식으로 적용가능하기 때문에&amp;nbsp;&lt;br /&gt;XAI의 대표 기법 중 하나로 인정됨.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SHAP는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 sample에서&lt;/li&gt;
&lt;li&gt;특정 feature가 예측 결과의 값(e.g. binary classification의 경우 postive일 확률값)을 얼마나 증가시켰는지 또는 감소시켰는지를 분해하여 보여줌.&lt;/li&gt;
&lt;li&gt;이들에 대한 절대값 평균을 취하여 각 feature가 모델 전체의 결과에 얼마나 기여하는지도 보여줌.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SHAP는 모델의 예측값을 다음으로 분해해서 보여줌:&lt;/p&gt;
&lt;pre class=&quot;1c&quot;&gt;&lt;code&gt;예측값 = &quot;base_value&quot; + &quot;각각의 feature의 기여도의 합&quot;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SAHP는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;개별 sample에 대해서 모델의 결과에 미친 각 feature의 영향을 정량화할 수 있으며,&lt;/li&gt;
&lt;li&gt;이들을 더하면 해당 sample에 대한 모델의 결과값이 됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같은 특징을 가짐:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;개별 샘플 수준(local explanation)에 적용하여 feature의 중요도를 비교 가능
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;local explanation 에선 특정 feature가 어느 방향(sign에 의해)으로 영향을 주는지도 파악 가능.&lt;/li&gt;
&lt;li&gt;주로 waterfall plot 을 사용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;전체 데이터 수준(global explanation)에 적용도 가능
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;mean absolute SHAP 를 각 feature로 구하면,&lt;/li&gt;
&lt;li&gt;전체 데이터에서 각 feature의 기여도를 파악할 수 있음.&lt;/li&gt;
&lt;li&gt;주로 summary plot을 사용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;sign이 의미를 가짐:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;binary classification의 경우:&lt;/li&gt;
&lt;li&gt;+면 class 1 방향으로 영향을 주고&lt;/li&gt;
&lt;li&gt;-면 class 1 반대 방향으로 영향을 줌.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;각 샘플의 예측을 feature별 기여도의 합으로 설명&lt;/b&gt; 가능.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;feature importance와 mean absolute SHAP는 &lt;br /&gt;비슷한 순서로 feature들을 정렬할 수도 있으나,&lt;br /&gt;정확히 일치하는 경우가 오히려 적음: 정의 차체가 다름.&lt;br /&gt;단, 기여도가 매우 큰 feature에선 &lt;br /&gt;두 경우 모두 큰 값을 가지기 쉬움.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Waterfall plot&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 waterfall plot으로 SHAP가 개별 sample에서 어떻게 결과가 나왔는지를 설명하는지를 보여준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 binary classification 모델에서 특정 샘플이 positive일 확률이 0.414가 나왔는데 이 결과가 어떻게 나왔는지를 각 feature의 기여도록 분해하여 보여줌.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;816&quot; data-origin-height=&quot;446&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cefOS3/dJMcagrkXp6/PJTnSSM7kGtWma0bvDHMkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cefOS3/dJMcagrkXp6/PJTnSSM7kGtWma0bvDHMkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cefOS3/dJMcagrkXp6/PJTnSSM7kGtWma0bvDHMkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcefOS3%2FdJMcagrkXp6%2FPJTnSSM7kGtWma0bvDHMkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;273&quot; data-origin-width=&quot;816&quot; data-origin-height=&quot;446&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;base value 는 $E[F(X)]=0.583$ 으로 feature값을 전혀 모를 때 positive라고 예측할 평균확률임.&lt;/li&gt;
&lt;li&gt;맨 아래의 smoking 의 값이 Former (예전 담배를 핌) 라는 것이 positive일 확률을 0.01 정도 올림.&lt;/li&gt;
&lt;li&gt;sex 가 Male 이라는 값을 가지는 점이 positive일 확률을 0.01 올림.&lt;/li&gt;
&lt;li&gt;주거 지역(region)이 incheon 이라는 것이 positive일 확률을 0.02 낮춤.&lt;/li&gt;
&lt;li&gt;bmi가 17.3 이라는 점이 positive 일 확률을 0.03 낮춤.&lt;/li&gt;
&lt;li&gt;glucose가 123.4라는 점이 확률을 0.08 올림.&lt;/li&gt;
&lt;li&gt;age가 20이라는 점이 확률을 0.21 낮춤.&lt;/li&gt;
&lt;li&gt;이들을 다 더함으로서 모델은 positive일 확률을 현재 sample $\textbf{x}$에 대해 0.414 로 구함.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Summary plot&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 SHAP가 전체 데이터를 사용하여 모델에서 예측에 각 feature가 어떻게 기여했는지를 보여주는 summary plot임.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;752&quot; data-origin-height=&quot;380&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkhqMJ/dJMcadVD5Cd/5dtp04hbhEHWmx7IiWHUy0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkhqMJ/dJMcadVD5Cd/5dtp04hbhEHWmx7IiWHUy0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkhqMJ/dJMcadVD5Cd/5dtp04hbhEHWmx7IiWHUy0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkhqMJ%2FdJMcadVD5Cd%2F5dtp04hbhEHWmx7IiWHUy0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;253&quot; data-origin-width=&quot;752&quot; data-origin-height=&quot;380&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;위에 있을수록 mean absolute SHAP 값이 큰 feature로 결과에 영향력이 더 크다고 볼 수 있음.&lt;/li&gt;
&lt;li&gt;glucose, age, bmi는 numerical data로 값이 클수록 붉은색의 원이고, 작을수록 푸른색임.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;세 feature 모두 큰 값일수록 positive인 확률값을 결과로 나오도록 기여함이 표시됨.&lt;/li&gt;
&lt;li&gt;단, glucose가 가장 큰 영향을 미치며, age는 그보다 작은 영향을 보임.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;bmi는 방향성은 보이나 영향력은 이 둘에 못 미침.(폭이 매 적음)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;회색으로 표시된 smoking과 region, sex는 categorical data 임.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;smoking 중 일부 class (현재 흡연을 나타내는 current)가 큰 영향을 주기 때문에 positive에 일부 큰 범위에 원이 존재.&lt;/li&gt;
&lt;li&gt;sex는 거의 영향을 주지 않으므로 매우 작은 범위의 기여도륵 보임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 summary plot과 water plot에 대한 mean absolute SHAP값의 table은 다음과 같음:&lt;/p&gt;
&lt;pre id=&quot;code_1774330175275&quot; class=&quot;shell&quot; data-ke-language=&quot;shell&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;   feature  mean_abs_shap
2  glucose       0.129659
0      age       0.102015
4  smoking       0.048772
5   region       0.029500
1      bmi       0.028513
3      sex       0.009546&lt;/code&gt;&lt;/pre&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;같이보면 좋은 자료&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://gist.github.com/ds31x/49096c1f1726149206a0b503adb38d57&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://gist.github.com/ds31x/49096c1f1726149206a0b503adb38d57&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1774615159394&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;xai_shap.ipynb&quot; data-og-description=&quot;xai_shap.ipynb. GitHub Gist: instantly share code, notes, and snippets.&quot; data-og-host=&quot;gist.github.com&quot; data-og-source-url=&quot;https://gist.github.com/ds31x/49096c1f1726149206a0b503adb38d57&quot; data-og-url=&quot;https://gist.github.com/ds31x/49096c1f1726149206a0b503adb38d57&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dI60mi/dJMb8ZvBiDz/vtW1ktC0QUKNS4ONojjof0/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640,https://scrap.kakaocdn.net/dn/br5jwM/dJMb8XR5ufv/LckvP4eVycnyukkJC3yeu1/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640&quot;&gt;&lt;a href=&quot;https://gist.github.com/ds31x/49096c1f1726149206a0b503adb38d57&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://gist.github.com/ds31x/49096c1f1726149206a0b503adb38d57&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dI60mi/dJMb8ZvBiDz/vtW1ktC0QUKNS4ONojjof0/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640,https://scrap.kakaocdn.net/dn/br5jwM/dJMb8XR5ufv/LckvP4eVycnyukkJC3yeu1/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;xai_shap.ipynb&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;xai_shap.ipynb. GitHub Gist: instantly share code, notes, and snippets.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;gist.github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/ML</category>
      <category>feature importance</category>
      <category>random forest</category>
      <category>SHAP</category>
      <category>XAI</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/958</guid>
      <comments>https://dsaint31.tistory.com/958#entry958comment</comments>
      <pubDate>Tue, 24 Mar 2026 14:42:14 +0900</pubDate>
    </item>
    <item>
      <title>airpod 분실... 키링의 모든 키들도 같이...</title>
      <link>https://dsaint31.tistory.com/957</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;에어팟을 잃어버림...&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;케이스 째로...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;키링의 키들도 같이...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ㅠㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Private Life</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/957</guid>
      <comments>https://dsaint31.tistory.com/957#entry957comment</comments>
      <pubDate>Mon, 9 Mar 2026 21:43:28 +0900</pubDate>
    </item>
    <item>
      <title>ULMFit : Transfer Learning for NLP</title>
      <link>https://dsaint31.tistory.com/956</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;356&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c4g5di/dJMcahJWtD8/GxRgP3xWj62uUs2fLaYqR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c4g5di/dJMcahJWtD8/GxRgP3xWj62uUs2fLaYqR1/img.png&quot; data-alt=&quot;Examples of three stages of ULMFiT training: (a) -training on general domain information to capture the general features of the languages used in environmental policymaking. (b) -a structure for performing fine-tuning on target task data using discriminative-based methods supported by slanted triangular learning algorithms. (c) -unfreezing operation to adapt the high-level representation of the responses while preserving the lower-level representations (Howard, J. 2018).&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c4g5di/dJMcahJWtD8/GxRgP3xWj62uUs2fLaYqR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4g5di%2FdJMcahJWtD8%2FGxRgP3xWj62uUs2fLaYqR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;251&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;356&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Examples of three stages of ULMFiT training: (a) -training on general domain information to capture the general features of the languages used in environmental policymaking. (b) -a structure for performing fine-tuning on target task data using discriminative-based methods supported by slanted triangular learning algorithms. (c) -unfreezing operation to adapt the high-level representation of the responses while preserving the lower-level representations (Howard, J. 2018).&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 그림의 원본은 &lt;a href=&quot;https://www.researchgate.net/figure/Examples-of-three-stages-of-ULMFiT-training-a-training-on-general-domain-information_fig2_384502200&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.researchgate.net/figure/Examples-of-three-stages-of-ULMFiT-training-a-training-on-general-domain-information_fig2_384502200&lt;/a&gt;&amp;nbsp;임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Averaged Stochastic Gradient Descent Weight-Dropped 3-Layer LSTM&lt;/b&gt;&lt;/span&gt; (AWD 3-Layer LSTM) 의 구조를 사용.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;상단의 learning rate에 대한 그래프들이 좌/우로 있는데,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;왼쪽은 layerindex $l$이 증가(upstream layer)할수록 학습률이 큼(Discrimitive Learning Rate)을 의미하고&lt;/li&gt;
&lt;li&gt;오른쪽은 학습이 진행($t$가 증가)될수록 학습률이 초기엔 증가하다 뒤로가면 감소(slanted triangular learning alogrithm)를 의미.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Layer 의 명암 그라디에션은 gradual unfreezing을 의미함 (백색의 layer들은 첨부터 freeze되지 않고 학습됨).&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;ULMFiT 란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ULMFiT (Universal Language Model Fine-tuning)&lt;/b&gt;은&lt;br /&gt;자연어 처리(Natural Language Processing) 분야에서&lt;br /&gt;&lt;u&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;전이학습(Transfer Learning)&lt;/b&gt;이 실질적으로 효과적임&lt;/span&gt;&lt;/u&gt;을 처음으로 명확히 입증한 연구.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ULMFiT은 구조가 아니라 &lt;span style=&quot;color: #ee2323;&quot;&gt;학습 전략의 전환&lt;/span&gt;을 통해&lt;br /&gt;현대 자연어 처리 모델의 기반을 마련한 연구이다.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://arxiv.org/abs/1801.06146&quot;&gt;Universal Language Model Fine-tuning for Text Classification, Jeremy Howard, Sebastian Ruder, 2018&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1768545989099&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Universal Language Model Fine-tuning for Text Classification&quot; data-og-description=&quot;Inductive transfer learning has greatly impacted computer vision, but existing approaches in NLP still require task-specific modifications and training from scratch. We propose Universal Language Model Fine-tuning (ULMFiT), an effective transfer learning m&quot; data-og-host=&quot;arxiv.org&quot; data-og-source-url=&quot;https://arxiv.org/abs/1801.06146&quot; data-og-url=&quot;https://arxiv.org/abs/1801.06146v5&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/N252L/dJMb8QefKXJ/FYHNJyxSLG2Vv4uF3Y7xE0/img.png?width=1200&amp;amp;height=700&amp;amp;face=0_0_1200_700,https://scrap.kakaocdn.net/dn/bXDjQN/dJMb8QefKXL/3s76TOsJW1UYeQ4ElDIL1K/img.png?width=1000&amp;amp;height=1000&amp;amp;face=0_0_1000_1000&quot;&gt;&lt;a href=&quot;https://arxiv.org/abs/1801.06146&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://arxiv.org/abs/1801.06146&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/N252L/dJMb8QefKXJ/FYHNJyxSLG2Vv4uF3Y7xE0/img.png?width=1200&amp;amp;height=700&amp;amp;face=0_0_1200_700,https://scrap.kakaocdn.net/dn/bXDjQN/dJMb8QefKXL/3s76TOsJW1UYeQ4ElDIL1K/img.png?width=1000&amp;amp;height=1000&amp;amp;face=0_0_1000_1000');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Universal Language Model Fine-tuning for Text Classification&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Inductive transfer learning has greatly impacted computer vision, but existing approaches in NLP still require task-specific modifications and training from scratch. We propose Universal Language Model Fine-tuning (ULMFiT), an effective transfer learning m&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;arxiv.org&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이후 등장하는 Transformer 계열 모델의 학습 패러다임에 중요한 영향을 미침.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;ULMFiT의 기본 개념&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ULMFiT은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;대규모 말뭉치(corpus)&lt;/b&gt;로&lt;/li&gt;
&lt;li&gt;사전학습(pretraining)된 &lt;b&gt;언어모델(Language Model)&lt;/b&gt;을 기반으로,&lt;/li&gt;
&lt;li&gt;새로운 문제에 맞게 단계적으로 미세조정(fine-tuning)하는 방법임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 이미지 처리 분야에서&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ImageNet으로 사전학습된 합성곱 신경망(Convolutional Neural Network)을&lt;/li&gt;
&lt;li&gt;새로운 분류 문제에 맞게 fine-tuning하는 방식과 개념적으로 동일하다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지에서 transfer learning은 다음을 참고: &lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch11_training/knowledge_transfer/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dsaint31.me/mkdocs_site/ML/ch11_training/knowledge_transfer/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1768546238922&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;BME&quot; data-og-description=&quot;Transfer Learning The application of skills, knowledge, and/or attitudes that were learned in one situation to another learning situation. (Perkins, 1992) 다른 학습 상황에 배운 기술, 지식 및/또는 태도를 적용하는 것. (퍼킨스, 1992&quot; data-og-host=&quot;dsaint31.me&quot; data-og-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch11_training/knowledge_transfer/&quot; data-og-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch11_training/knowledge_transfer/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bC6t4y/dJMb9kl6pPH/TChCFo0xSrUPxg7m6zGMEK/img.png?width=859&amp;amp;height=780&amp;amp;face=0_0_859_780,https://scrap.kakaocdn.net/dn/cBm2qN/dJMb9iaKI5M/mxGL635arbjB60YDrOuXLk/img.png?width=615&amp;amp;height=348&amp;amp;face=0_0_615_348,https://scrap.kakaocdn.net/dn/ded2xQ/dJMb9bvVSrJ/TxJkRlJ65kqnZClNHcJ9eK/img.png?width=425&amp;amp;height=258&amp;amp;face=0_0_425_258&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch11_training/knowledge_transfer/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch11_training/knowledge_transfer/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bC6t4y/dJMb9kl6pPH/TChCFo0xSrUPxg7m6zGMEK/img.png?width=859&amp;amp;height=780&amp;amp;face=0_0_859_780,https://scrap.kakaocdn.net/dn/cBm2qN/dJMb9iaKI5M/mxGL635arbjB60YDrOuXLk/img.png?width=615&amp;amp;height=348&amp;amp;face=0_0_615_348,https://scrap.kakaocdn.net/dn/ded2xQ/dJMb9bvVSrJ/TxJkRlJ65kqnZClNHcJ9eK/img.png?width=425&amp;amp;height=258&amp;amp;face=0_0_425_258');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;BME&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Transfer Learning The application of skills, knowledge, and/or attitudes that were learned in one situation to another learning situation. (Perkins, 1992) 다른 학습 상황에 배운 기술, 지식 및/또는 태도를 적용하는 것. (퍼킨스, 1992&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.me&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;ULMFiT의 3단계 학습 구조&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;448&quot; data-origin-height=&quot;125&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byUw1m/dJMcagEhkpI/vFYor9RLz7Iq6ZiiXLigC0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byUw1m/dJMcagEhkpI/vFYor9RLz7Iq6ZiiXLigC0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byUw1m/dJMcagEhkpI/vFYor9RLz7Iq6ZiiXLigC0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyUw1m%2FdJMcagEhkpI%2FvFYor9RLz7Iq6ZiiXLigC0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;448&quot; height=&quot;125&quot; data-origin-width=&quot;448&quot; data-origin-height=&quot;125&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ULMFiT은 다음의 &lt;b&gt;세 단계 학습 과정&lt;/b&gt;으로 구성됨:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;일반 언어모델 사전학습&lt;br /&gt;(General Language Model Pretraining)&lt;/li&gt;
&lt;li&gt;도메인 특화 언어모델 미세조정&lt;br /&gt;(Domain-specific Language Model Fine-tuning)&lt;/li&gt;
&lt;li&gt;과제 특화 미세조정&lt;br /&gt;(Task-specific Fine-tuning)&lt;/li&gt;
&lt;/ol&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고: Language Modeling의 정의&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1,2 번 과정에서 사용되는 &lt;b&gt;&lt;u&gt;Language Modeling(언어 모델링)&lt;/u&gt;&lt;/b&gt;&lt;u&gt;이란 다음과 같이 정의&lt;/u&gt;된다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;자연어(Natural Language)&lt;/b&gt;에서&lt;/li&gt;
&lt;li&gt;단어(word) 또는 토큰(token)들의 &lt;b&gt;순서(sequence)&lt;/b&gt;에 대해&lt;/li&gt;
&lt;li&gt;해당 시퀀스가 나타날 &lt;b&gt;확률(probability)&lt;/b&gt;을 모델링하는 과제(task)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 보다 구체적으로 표현하면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이전까지 관측된 단어들이 주어졌을 때,&lt;/li&gt;
&lt;li&gt;다음 단어가 등장할 확률을 예측하는 문제&lt;br /&gt;라고 할 수 있다&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1단계: General Language Model Pretraining&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 단계의 목적은 &lt;b&gt;범용적인 언어 표현(Language Representation)을 학습&lt;/b&gt;하는 것임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;위키피디아(Wikipedia)와 같은 대규모 일반 텍스트 사용&lt;/li&gt;
&lt;li&gt;문장의 다음 단어를 예측하는 언어모델 학습&lt;/li&gt;
&lt;li&gt;문법(grammar), 의미(semantics), 문맥(context)을 포괄적으로 학습&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 단계에서는 다음과 같은 기법을 적용하지 않음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Gradual Unfreezing (점진적 레이어 해제)&lt;/li&gt;
&lt;li&gt;Discriminative Learning Rates (레이어별 차등 학습률)&lt;/li&gt;
&lt;li&gt;Slanted Triangular Learning Rate (기울어진 삼각형 학습률 스케줄)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 보호해야 할 기존 지식이 없으며,&lt;br /&gt;장기적이고 안정적인 표현 학습이 목적이기 때문임.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2단계: Domain-specific Language Model Fine-tuning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 단계의 목적은&lt;br /&gt;이미 학습된 언어모델을 &lt;b&gt;특정 도메인(domain)&lt;/b&gt;의 언어 분포에 적응시키는 것임..&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;의료 문서, 리뷰 텍스트 등 도메인 특화 데이터 사용&lt;/li&gt;
&lt;li&gt;여전히 &amp;ldquo;다음 단어 예측&amp;rdquo;이라는 동일한 언어모델 과제 유지&lt;/li&gt;
&lt;li&gt;모델의 역할은 변하지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 단계에서는 다음 기법들이 &lt;b&gt;선택적으로&lt;/b&gt; 사용될 수 있음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Gradual Unfreezing (점진적 레이어 해제)&lt;/li&gt;
&lt;li&gt;Discriminative Learning Rates (레이어별 차등 학습률)&lt;/li&gt;
&lt;li&gt;Slanted Triangular Learning Rate (기울어진 삼각형 학습률 스케줄)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로는 낮은 학습률(learning rate)로 전체 모델을 미세조정하는 것만으로도 충분한 경우가 많음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 단계는 언어 지식을 새로 배우는 단계라기보다,&lt;br /&gt;&lt;u&gt;기존 지식의 &lt;b&gt;분포를 &lt;span style=&quot;color: #ee2323;&quot;&gt;특정 domain에 맞게 조정&lt;/span&gt;하는 단계&lt;/b&gt;&lt;/u&gt;로 이해할 수 있음.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3단계: Task-specific Fine-tuning&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 단계는 &lt;b&gt;ULMFiT의 핵심 단계&lt;/b&gt; 임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;언어모델 위에 분류기(classifier)를 추가&lt;/li&gt;
&lt;li&gt;감성 분류(sentiment classification), 문서 분류(document classification) 등 최종 과제 수행&lt;/li&gt;
&lt;li&gt;데이터 수가 적고 과제가 변경됨&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ULMFiT 를 설명할 때 Task로 classification이 사용되는 이유는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;classification은 &lt;br /&gt;당시 자연어 처리에서 대표적인 downstream task였고 &lt;br /&gt;소량 데이터 환경에서의 성능 향상을 명확히 보여주기 쉬운 task임.&lt;br /&gt;transfer learning의 효과를 직관적으로 비교 가능한 task이다 보니 많이 사용됨.&lt;br /&gt;다른 task가 안되는 건 아님.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 단계에서 pretraining으로 얻은 기존 언어 지식(language knowledge)이 손상될 위험이 커지며,&lt;br /&gt;이를 방지하기 위해 ULMFiT은 다음의 세 가지 핵심 기법을 제안한다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. Gradual Unfreezing&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(점진적 레이어 해제)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;처음에는 classifier (=head)만 학습&lt;/li&gt;
&lt;li&gt;이후 상위 레이어부터 순차적으로 학습 허용&lt;/li&gt;
&lt;li&gt;마지막으로 하위 레이어까지 미세조정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 방법은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;언어의 기본 구조를 담당하는 하위 레이어를 보호하는 데 목적이 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. Discriminative Learning Rates&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(레이어별 차등 학습률)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하위 레이어: 매우 작은 학습률&lt;/li&gt;
&lt;li&gt;상위 레이어 및 분류기: 상대적으로 큰 학습률&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기본적인 언어 표현은 유지하면서&lt;/li&gt;
&lt;li&gt;과제에 필요한 표현만 빠르게 현재 데이터 셋에 적응시킴.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. Slanted Triangular Learning Rate&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(기울어진 삼각형 학습률 스케줄) : slanted 는 그래프 등에서 비대칭인 형태를 의미.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;학습 초반: 학습률을 빠르게 증가&lt;/li&gt;
&lt;li&gt;학습 후반: 학습률을 점진적으로 감소&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 스케줄은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;초기 빠른 적응과&lt;/li&gt;
&lt;li&gt;후반 안정적 수렴을 동시에 달성하기 위한 기법임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\eta_t = \begin{cases} \eta_{\min} + \frac{t}{\text{cut_fraction} \cdot T} (\eta_{\max} - \eta_{\min}) &amp;amp; \text{if } t &amp;lt; \text{cut_fraction} \cdot T \\ \eta_{\min} + \frac{T - t}{(1 - \text{cut_fraction}) \cdot T} (\eta_{\max} - \eta_{\min}) &amp;amp; \text{otherwise} \end{cases}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\eta_t$ : Learning rate at time, $t = \text{current_epoch} \times \text{batches_per_epoch} + \text{current_batch_index}$&lt;/li&gt;
&lt;li&gt;$\eta_{\min}$ : Minimum learning rate. e.g. : $\frac{1}{32} \eta_{\max}$&lt;/li&gt;
&lt;li&gt;$\eta_{\max}$ : Maximum learning rate. e.g. : 0.01&lt;/li&gt;
&lt;li&gt;$T$ : 총 반복횟수 (Total number of iterations = # of epoch * iterations per batch )
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;epochs = 10,&amp;nbsp; training dataset size = 1000, batch size = 32 : $T=10\times \frac{1000}{32}\approx 313$&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;$\text{cut_fraction}$ : Fraction of iterations for increasing learning rate. e.g.: 0.1&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style2&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;ULMFiT과 Transformer 모델의 관계&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Transformer 구조(Attention-based Architecture)&lt;/b&gt;가&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;2018년 자연어 처리의 중심으로 자리 잡기 시작하였고,&lt;/li&gt;
&lt;li&gt;당시 대표적인 예가 &lt;b&gt;BERT (Bidirectional Encoder Representations from Transformers)&lt;/b&gt;, &lt;b&gt;GPT-1 (Improving Language Understanding by Generative Pre-Training)&lt;/b&gt; 였음.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ULMFiT은 Transformer 구조를 제안하지는 않았으나,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사전학습(pretraining)과 미세조정(fine-tuning)을 통해&lt;/li&gt;
&lt;li&gt;NLP에서 Knowledge transfer (=transfer leanring)이라는 학습 패러다임을 정립함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 그대로 Transformer 계열 모델에 계승됨.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ULMFiT: 언어모델 사전학습 후 fine-tuning&lt;/li&gt;
&lt;li&gt;&lt;b&gt;BERT&lt;/b&gt;: Transformer 인코더 사전학습 후 fine-tuning
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;문장을 &amp;ldquo;읽고 이해&amp;rdquo;하기 위한 모델: 문장 전체를 양방향으로 이해하는 데 특화&lt;/li&gt;
&lt;li&gt;Encoder-only Transformer&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GPT-1:&lt;/b&gt; Transformer 디코더 사전학습 후 fine-tuning
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;문장을 &amp;ldquo;한 단어씩 생성&amp;rdquo;하기 위한 모델: 이전 단어들을 바탕으로 다음 단어를 순차적으로 생성하는 데 특화&lt;/li&gt;
&lt;li&gt;Decoder-only Transformer&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2867&quot; data-origin-height=&quot;1839&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/roZfK/dJMcaivggCC/DrIrObbWIByKq5XlXRXqNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/roZfK/dJMcaivggCC/DrIrObbWIByKq5XlXRXqNk/img.png&quot; data-alt=&quot;https://towardsdatascience.com/a-complete-guide-to-bert-with-code-9f87602e4a11/?utm_source=chatgpt.com&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/roZfK/dJMcaivggCC/DrIrObbWIByKq5XlXRXqNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FroZfK%2FdJMcaivggCC%2FDrIrObbWIByKq5XlXRXqNk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;321&quot; data-origin-width=&quot;2867&quot; data-origin-height=&quot;1839&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://towardsdatascience.com/a-complete-guide-to-bert-with-code-9f87602e4a11/?utm_source=chatgpt.com&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Transformer 모델 성공의 기반&lt;/b&gt;&lt;/span&gt;은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Attention&lt;/b&gt; &lt;/span&gt;과&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;ULMFiT&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;라고 애기하는 경우가 많음.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;주의할 점:&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ULMFiT은 순환 신경망(&lt;b&gt;Recurrent Neural Network&lt;/b&gt;), 특히 LSTM 기반 으로 시작됨.&lt;/li&gt;
&lt;li&gt;Transformer는 자기주의(Self-Attention) 기반 구조&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Transformer&lt;/b&gt;&lt;/span&gt;는 LSTM 에 비해 보다 구조적으로 안정적이어서&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;ULMFiT에서 제안한 세부 fine-tuning 기법을 단순화&lt;/b&gt;&lt;/span&gt;하여 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ULMFit 은 &lt;b&gt;&amp;ldquo;대규모 사전학습 모델을 downstream task에 맞게 조정한다&amp;rdquo;는 핵심 사고방식&lt;/b&gt; 을 자연어 처리 모델 훈련에 적용시킴.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch16_RNN/RNN_intro&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dsaint31.me/mkdocs_site/ML/ch16_RNN/RNN_intro&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1768546382380&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;BME&quot; data-og-description=&quot;Recurrent Neural Network (순환신경망, RNN) time series data와 같은 sequential data를 다루는데 적합한 ANN. feedback connection을 가짐. 때문에 weight를 구분하여 가지는 layer들이 쌓이기도 하지만, feedback connection에 &quot; data-og-host=&quot;dsaint31.me&quot; data-og-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch16_RNN/RNN_intro&quot; data-og-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch16_RNN/RNN_intro/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/KSCho/dJMb8QefK0j/mQD8AYHW0TIHc3ry9hk3rK/img.png?width=947&amp;amp;height=281&amp;amp;face=0_0_947_281,https://scrap.kakaocdn.net/dn/bufktX/dJMb9kTWxVL/VtQF8v32V8n8P03Kb3nxU1/img.png?width=226&amp;amp;height=257&amp;amp;face=0_0_226_257&quot;&gt;&lt;a href=&quot;https://dsaint31.me/mkdocs_site/ML/ch16_RNN/RNN_intro&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.me/mkdocs_site/ML/ch16_RNN/RNN_intro&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/KSCho/dJMb8QefK0j/mQD8AYHW0TIHc3ry9hk3rK/img.png?width=947&amp;amp;height=281&amp;amp;face=0_0_947_281,https://scrap.kakaocdn.net/dn/bufktX/dJMb9kTWxVL/VtQF8v32V8n8P03Kb3nxU1/img.png?width=226&amp;amp;height=257&amp;amp;face=0_0_226_257');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;BME&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Recurrent Neural Network (순환신경망, RNN) time series data와 같은 sequential data를 다루는데 적합한 ANN. feedback connection을 가짐. 때문에 weight를 구분하여 가지는 layer들이 쌓이기도 하지만, feedback connection에&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.me&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;같이 보면 좋은 자료&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://ds31x.github.io/wiki/hf_transformer/hf_post_transformer/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://ds31x.github.io/wiki/hf_transformer/hf_post_transformer/&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1769824453573&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Language Model Taxonomy - Pretraining Paradigms and Encoder-Decoder Architectures&quot; data-og-description=&quot; &quot; data-og-host=&quot;ds31x.github.io&quot; data-og-source-url=&quot;https://ds31x.github.io/wiki/hf_transformer/hf_post_transformer/&quot; data-og-url=&quot;https://ds31x.github.io/wiki/hf_transformer/hf_post_transformer/&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bfqvXC/dJMb9kTXTs6/uOeWMDKJPP4J4yG0TXNSs0/img.jpg?width=350&amp;amp;height=350&amp;amp;face=0_0_350_350&quot;&gt;&lt;a href=&quot;https://ds31x.github.io/wiki/hf_transformer/hf_post_transformer/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ds31x.github.io/wiki/hf_transformer/hf_post_transformer/&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bfqvXC/dJMb9kTXTs6/uOeWMDKJPP4J4yG0TXNSs0/img.jpg?width=350&amp;amp;height=350&amp;amp;face=0_0_350_350');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Language Model Taxonomy - Pretraining Paradigms and Encoder-Decoder Architectures&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ds31x.github.io&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/ML</category>
      <category>knowledge transfer</category>
      <category>ML</category>
      <category>NLP</category>
      <category>Sequence</category>
      <category>time series</category>
      <category>transfer leaerning</category>
      <category>transformer</category>
      <category>ULMFit</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/956</guid>
      <comments>https://dsaint31.tistory.com/956#entry956comment</comments>
      <pubDate>Fri, 16 Jan 2026 15:53:35 +0900</pubDate>
    </item>
    <item>
      <title>감기...</title>
      <link>https://dsaint31.tistory.com/955</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;가족 구성원들이 돌아가면서...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;막내는 1월1일을 경계로 독감 A,B 모두 획득하시는 쾌거(??)를...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;휴일에 약먹고 자는 건 ㅠㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자고나니 1월 2일이네... ㅠㅠ&lt;/p&gt;</description>
      <category>Private Life</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/955</guid>
      <comments>https://dsaint31.tistory.com/955#entry955comment</comments>
      <pubDate>Fri, 2 Jan 2026 09:09:37 +0900</pubDate>
    </item>
    <item>
      <title>관용과 직무유기의 경계는...</title>
      <link>https://dsaint31.tistory.com/954</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로 실적지상주의를 정말 두려워하는터라...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;능력없이 은혜로 사는 빚진 자임을 항상 느끼고 있어서,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최선을 다한 경우엔 최대한 고려를 하려고 하는데...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서있라고 하면 앉고 싶고&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;앉으면 눕고 싶고...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;누으면 자고 싶은게 사람이라고...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정말 어디까지 막 나갈 수 있는지를 경쟁적으로 보여주는 한 학기였음...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 더 편의를 봐주는 건 직무유기 같은데... ㅠㅠ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;==;; 잔소리를 해봐야 그걸 들어야 하는 사람들은 아예 없는 경우...&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;몸도 아픈데... 정신적으로도 힘들다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Private Life</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/954</guid>
      <comments>https://dsaint31.tistory.com/954#entry954comment</comments>
      <pubDate>Mon, 8 Dec 2025 20:39:53 +0900</pubDate>
    </item>
    <item>
      <title>Shifted Impulse $\delta(t-a)$의 Laplace Transform</title>
      <link>https://dsaint31.tistory.com/953</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;986&quot; data-origin-height=&quot;1042&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/borjHb/dJMb99Y93NK/nI02hiESzsSqP5yvmYUQW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/borjHb/dJMb99Y93NK/nI02hiESzsSqP5yvmYUQW1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/borjHb/dJMb99Y93NK/nI02hiESzsSqP5yvmYUQW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FborjHb%2FdJMb99Y93NK%2FnI02hiESzsSqP5yvmYUQW1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;423&quot; data-origin-width=&quot;986&quot; data-origin-height=&quot;1042&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;0. Laplace Transform의 정의&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathcal{L}[x(t)]&lt;br /&gt;= \int_{0^-}^{\infty} x(t) e^{-st} dt$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 변환할 함수인 shifted impulse 대입&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$x(t) = \delta(t-a)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대입하면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$X(s)=\int_{0^-}^{\infty} \delta(t-a) e^{-st} dt$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\delta$의 위치가 적분 범위 안에 있는지 확인해야 적분의 값이 구해지는데,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Laplace 적분의 구간은 다음과 같음:&lt;br /&gt;$$0^- \le t &amp;lt; \infty$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, $a&amp;gt;0$이면 $\delta(t&amp;minus;a)$는 이 구간 안에 존재하므로, 적분값은 0이 되지 않음.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. $\delta$의 sifting 성질을 적용하기 위한 준비&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Dirac delta의 기본 성질: sifting property &lt;span style=&quot;color: #ee2323;&quot;&gt;(주의: shift가 아닌 sift임.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\int_{-\infty}^{\infty} \delta(t-a) f(t) dt = f(a)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/583&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.08.21 - [.../Signals and Systems] - [SS] Properties of Impulse Function&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1764741249321&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[SS] Properties of Impulse Function&quot; data-og-description=&quot;Impulse function (or Dirac delta function)은 이상적으로, 오직 한 점에서만 무한대의 값을 가지고,나머지에서는 0의 값을 가지며,적분시 면적인 1이 되는 함수 다른 function을 분석하거나, system의 response를 &quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/583&quot; data-og-url=&quot;https://dsaint31.tistory.com/583&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/NRy1y/hyZNCTtXR5/1S2DT81saVbQMsK9tFfF40/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448,https://scrap.kakaocdn.net/dn/bM4yhv/hyZO0ezmaJ/kgcffkBZvuMnc9o7NROa21/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448,https://scrap.kakaocdn.net/dn/IxAqB/hyZOHMoxt4/sFw2U9Q9cyiUGKedWAcah0/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/583&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/583&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/NRy1y/hyZNCTtXR5/1S2DT81saVbQMsK9tFfF40/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448,https://scrap.kakaocdn.net/dn/bM4yhv/hyZO0ezmaJ/kgcffkBZvuMnc9o7NROa21/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448,https://scrap.kakaocdn.net/dn/IxAqB/hyZOHMoxt4/sFw2U9Q9cyiUGKedWAcah0/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[SS] Properties of Impulse Function&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Impulse function (or Dirac delta function)은 이상적으로, 오직 한 점에서만 무한대의 값을 가지고,나머지에서는 0의 값을 가지며,적분시 면적인 1이 되는 함수 다른 function을 분석하거나, system의 response를&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 성질을 사용하기 위해서는 integrand를 다음 형태로 만들어야 함:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\delta(t-a) f(t)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러므로 &lt;b&gt;앞서의 적분에서 $f(t)$ 역할을 하는 함수는 명시적으로 다음과 같음&lt;/b&gt;:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boxed{f(t)= e^{-st}}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해 다음이 성립.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\delta(t-a) e^{-st} = \delta(t-a) f(t)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 sifting 성질을 적용할 수 있게 해줌.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. Sifting property를 Laplace 적분 구간에 맞게 적용&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;적분 구간이 $[0^-,\infty)$이고 $a&amp;gt;0$이므로,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\int_{0^-}^{\infty} \delta(t-a) f(t) dt = f(a)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$X(s)=f(a)=e^{-sa}$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 최종 결과&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathcal{L}[\delta(t-a)]=e^{-as}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;요약&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;Laplace integrand는 &lt;b&gt;$\delta(t-a)e^{-st}$&lt;/b&gt; 형태&lt;/li&gt;
&lt;li&gt;$\delta$의 sifting property를 사용: $\delta(t&amp;minus;a) f(t)$ 로 integrand를 바라보기&lt;/li&gt;
&lt;li&gt;Laplace transform 에선 &lt;b&gt;$f(t)=e^{-st}$&lt;/b&gt; 임.&lt;/li&gt;
&lt;li&gt;따라서 &lt;b&gt;$X(s)= f(a) = e^{-sa}$&lt;/b&gt; 가 얻어짐.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;같이보면 좋은 자료들&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/385&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.10.24 - [.../Signals and Systems] - [SS] Laplace Transform Table&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1764740411561&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[SS] Laplace Transform Table&quot; data-og-description=&quot;SignalLaplace TransformRoC...1$u(t)$$\frac{1}{s}$$\text{Re}(s)&amp;gt;0$참고2$u(t)-u(t-a)$$\frac{1-e^{-as}}{s}$$\text{Re}(s)&amp;gt;0$참고3$\delta(t)$1all complex plane 4$\delta(t-a)$$e^{-as}$all complex plane 5$e^{-at}u(t)$$\frac{1}{s+a}$$\text{Re}(s)&amp;gt;-a$참고6$\c&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/385&quot; data-og-url=&quot;https://dsaint31.tistory.com/385&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/iEwYF/hyZNxkjMOT/TrCficM9YlBYZnLbDukdF1/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402,https://scrap.kakaocdn.net/dn/bUXOy6/hyZOHMovw4/84Q8nfqrDr0vBD8V5XSyF0/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/385&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/385&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/iEwYF/hyZNxkjMOT/TrCficM9YlBYZnLbDukdF1/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402,https://scrap.kakaocdn.net/dn/bUXOy6/hyZOHMovw4/84Q8nfqrDr0vBD8V5XSyF0/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[SS] Laplace Transform Table&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SignalLaplace TransformRoC...1$u(t)$$\frac{1}{s}$$\text{Re}(s)&amp;gt;0$참고2$u(t)-u(t-a)$$\frac{1-e^{-as}}{s}$$\text{Re}(s)&amp;gt;0$참고3$\delta(t)$1all complex plane 4$\delta(t-a)$$e^{-as}$all complex plane 5$e^{-at}u(t)$$\frac{1}{s+a}$$\text{Re}(s)&amp;gt;-a$참고6$\c&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>.../Signals and Systems</category>
      <category>Laplace</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/953</guid>
      <comments>https://dsaint31.tistory.com/953#entry953comment</comments>
      <pubDate>Wed, 3 Dec 2025 14:40:27 +0900</pubDate>
    </item>
    <item>
      <title>From Laplace Transform To z-Transform</title>
      <link>https://dsaint31.tistory.com/952</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2752&quot; data-origin-height=&quot;1536&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xeXpk/dJMcabJsf7p/A06rzOOkeJ11sYT4PTdyGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xeXpk/dJMcabJsf7p/A06rzOOkeJ11sYT4PTdyGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xeXpk/dJMcabJsf7p/A06rzOOkeJ11sYT4PTdyGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxeXpk%2FdJMcabJsf7p%2FA06rzOOkeJ11sYT4PTdyGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;335&quot; data-origin-width=&quot;2752&quot; data-origin-height=&quot;1536&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;z-Transform 은 Laplace Transform의 Discrete Version임&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은 이를 유도해본다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 연속시간 Laplace Transform의 기본 구조&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연속시간 신호 $x(t)$에 대해 Lapalce Transform은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$X(s) = \int_{0}^{\infty} x(t) e^{-st} dt$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;복소지수항 $e^{-st}$&lt;/b&gt; 을 사용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 샘플링을 통한 이산신호 표현&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;샘플링 주기 $T$에서 얻는 이산신호는 $x[n] = x(nT)$ 로 정의됨&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이산신호를 연속시간에서 표현하면 &lt;b&gt;shifted impulse들의 가중합&lt;/b&gt; 이 됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$x_s(t) = \sum_{n=-\infty}^{\infty} x[n]\delta(t-nT)$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 샘플링된 신호의 Laplace Transform 계산&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Laplace Transform에 $x_s(t)$를 대입하면 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$X_s(s) = \sum_{n=-\infty}^{\infty} x[n] e^{-snT}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 결과는 &lt;b&gt;shift된 delta가 Laplace 영역에서 지수항으로 변환됨&lt;/b&gt;을 직접적으로 반영하는 구조임&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 변수 치환을 통한 z-transform 도출&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$z = e^{sT}$ 라는 치환을 적용하면&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{-snT} = z^{-n}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 얻어지는 구조임&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해, 다음이 얻어짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$X(z)=\sum_{n=-\infty}^{\infty} x[n] z^{-n}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 수식이 바로 &lt;b&gt;Z-transform의 정의&lt;/b&gt;임&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. Shifted impulse의 역할&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이산시간에서 임의 신호는 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$x[n]=\sum_{k=-\infty}^{\infty} x[k]\delta[n-k]$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;z-transform 적용 시 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\delta[n-k] \rightarrow z^{-k}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 연속시간에서 다음에 형태에 직접적으로 대응되는 것으로 이해가능함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\delta(t-a) \rightarrow e^{-as}$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. 요약&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;z-transform은 &lt;b&gt;&amp;ldquo;샘플링된 신호에 Laplace Transform을 적용한 뒤 (z=e^{sT})로 변수 치환한 결과&amp;rdquo;&lt;/b&gt; 로도 볼 수 있음.&lt;/li&gt;
&lt;li&gt;z-transform은 Laplace Transform의 &lt;b&gt;이산(discrete-time) 버전&lt;/b&gt;에 해당하는 구조임&lt;/li&gt;
&lt;li&gt;시간 이동이 지수항으로 변환되는 동일한 원리가 &lt;b&gt;연속시간(Laplace)&lt;/b&gt; 과 &lt;b&gt;이산시간(z-transform)&lt;/b&gt; 모두에서 유지되며 이와 치환이 같이 적용된 결과가 z-Transform임.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;같이 보면 좋은 자료들&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/397&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.11.30 - [.../Signals and Systems] - [SS] z-Transform: Introduction&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1764737127322&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[SS] z-Transform: Introduction&quot; data-og-description=&quot;1. z-Transform이란?Laplace Transform의 Discrete Version (or Generalization of DTFT)Continuous Time Signal과 System에서 Laplace Transform의 역할을Discrete Time Signal과 Discrete Time System에서 담당.수식적으로 보면, DTFT (Discrete Time&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/397&quot; data-og-url=&quot;https://dsaint31.tistory.com/397&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/OtZhM/hyZOMNHHVM/p9Ch9WX03O9PEfpQUnKnu1/img.png?width=367&amp;amp;height=102&amp;amp;face=0_0_367_102,https://scrap.kakaocdn.net/dn/foArr/hyZO2DpgXb/b3HRegTPfowcHidbT6pHVk/img.png?width=367&amp;amp;height=102&amp;amp;face=0_0_367_102&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/397&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/397&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/OtZhM/hyZOMNHHVM/p9Ch9WX03O9PEfpQUnKnu1/img.png?width=367&amp;amp;height=102&amp;amp;face=0_0_367_102,https://scrap.kakaocdn.net/dn/foArr/hyZO2DpgXb/b3HRegTPfowcHidbT6pHVk/img.png?width=367&amp;amp;height=102&amp;amp;face=0_0_367_102');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[SS] z-Transform: Introduction&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;1. z-Transform이란?Laplace Transform의 Discrete Version (or Generalization of DTFT)Continuous Time Signal과 System에서 Laplace Transform의 역할을Discrete Time Signal과 Discrete Time System에서 담당.수식적으로 보면, DTFT (Discrete Time&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>.../Signals and Systems</category>
      <category>z-transform</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/952</guid>
      <comments>https://dsaint31.tistory.com/952#entry952comment</comments>
      <pubDate>Wed, 3 Dec 2025 13:43:01 +0900</pubDate>
    </item>
    <item>
      <title>Overfitting (과적합)</title>
      <link>https://dsaint31.tistory.com/951</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Overfit이란&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ML에서 모델이 &lt;b&gt;주어진 훈련데이터에 너무 과하게 적응(adapt)&lt;/b&gt; 하여&lt;/li&gt;
&lt;li&gt;&lt;u&gt;Training dataset에서는 매우 좋은 성능&lt;/u&gt;을 보이지만,&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Unseen data (= validation/test set)에서는 성능이 급격히 떨어지는 현상 &lt;/b&gt;&lt;/span&gt;을 의미함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Model이 Training dataset에 지나치게 맞추어져서 generalization performance가 떨어지는 경우임.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Bias&amp;ndash;Variance 관점&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Overfit의 경우,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Training dataset에서는 &lt;b&gt;performance measure가 매우 좋기 때문에 bias가 매우 낮고&lt;/b&gt;,&lt;/li&gt;
&lt;li&gt;대신 &lt;b&gt;variance가 매우 커지는 특징&lt;/b&gt;을 보임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;bias 낮음 = training 성능은 좋다&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;variance 높음 = 데이터 샘플이 조금만 바뀌어도 예측 결과가 크게 요동(불안정)&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;training dataset의 &lt;u&gt;노이즈와 우연한 패턴까지 학습&lt;/u&gt;했기 때문에 발생.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/945&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2025.10.30 - [Programming/ML] - Bias-Variance Tradeoff&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1763643450397&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Bias-Variance Tradeoff&quot; data-og-description=&quot;Supervised Learning의 궁극적인 목표학습에 사용된 데이터 뿐만 아니라,한 번도 보지 못한 새로운 데이터에 대해서도 정확한 예측을 수행하는 능력, 즉일반화 성능(generalization performance)을 높이는 것&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/945&quot; data-og-url=&quot;https://dsaint31.tistory.com/945&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/kXNpr/hyZNx4HcJH/2BXeqYbL4BPmqUwR6c2r9k/img.png?width=466&amp;amp;height=334&amp;amp;face=0_0_466_334,https://scrap.kakaocdn.net/dn/Isd3Q/hyZN75sqvW/Ir4KBse2is660fWaSwUwO1/img.png?width=466&amp;amp;height=334&amp;amp;face=0_0_466_334,https://scrap.kakaocdn.net/dn/drIdWT/hyZOcMsJW3/Wcr0x6TkHv2T2EzzZVGIzk/img.png?width=466&amp;amp;height=334&amp;amp;face=0_0_466_334&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/945&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/945&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/kXNpr/hyZNx4HcJH/2BXeqYbL4BPmqUwR6c2r9k/img.png?width=466&amp;amp;height=334&amp;amp;face=0_0_466_334,https://scrap.kakaocdn.net/dn/Isd3Q/hyZN75sqvW/Ir4KBse2is660fWaSwUwO1/img.png?width=466&amp;amp;height=334&amp;amp;face=0_0_466_334,https://scrap.kakaocdn.net/dn/drIdWT/hyZOcMsJW3/Wcr0x6TkHv2T2EzzZVGIzk/img.png?width=466&amp;amp;height=334&amp;amp;face=0_0_466_334');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Bias-Variance Tradeoff&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Supervised Learning의 궁극적인 목표학습에 사용된 데이터 뿐만 아니라,한 번도 보지 못한 새로운 데이터에 대해서도 정확한 예측을 수행하는 능력, 즉일반화 성능(generalization performance)을 높이는 것&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;언제 발생하는가&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Overfitting은 다음과 같은 조건에서 주로 발생함:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;데이터의 특징(feature) 수에 비해 training sample 수가 너무 적은 경우&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;모델의 가설공간이 지나치게 크거나 복잡한 경우 (training dataset에 대해)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;parameters 개수가 과도하게 많음&lt;/li&gt;
&lt;li&gt;지나치게 복잡한 모델 (capacitance가 높은 모델)을 사용한 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Regularization이 너무 약하거나 없을 때&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;weights의 DoF(Degree of Freedom, 자유도)가 지나치게 커짐&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;데이터에 노이즈가 많고, 모델이 이를 그대로 학습한 경우&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Overfitting vs. Underfitting&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 그림은 &lt;b&gt;단순한 패턴을 가진 데이터에 대해 매우 복잡한 모델(고차 다항식/과도한 capacity)을 사용하여&lt;/b&gt;&lt;br /&gt;training set에 완벽히 맞추려다 over-fitting이 발생한 예를 나타냄.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1153&quot; data-origin-height=&quot;571&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brjv0G/dJMcag4YS7W/vBmfWBckAJ0kdcHhtT3s9K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brjv0G/dJMcag4YS7W/vBmfWBckAJ0kdcHhtT3s9K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brjv0G/dJMcag4YS7W/vBmfWBckAJ0kdcHhtT3s9K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbrjv0G%2FdJMcag4YS7W%2FvBmfWBckAJ0kdcHhtT3s9K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;297&quot; data-origin-width=&quot;1153&quot; data-origin-height=&quot;571&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/610&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.09.21 - [Programming/ML] - [ML] Underfit&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1763643577937&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Underfit&quot; data-og-description=&quot;Underfit이란ML 모델이 주어진 훈련데이터를 제대로 학습하지 못하여&amp;nbsp;Training dataset에서도 나쁜 performance를 보이는 경우를 가르킴.&amp;nbsp;Underfit의 경우 훈련데이터에서도 performance measure의 결과가 매우 &quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/610&quot; data-og-url=&quot;https://dsaint31.tistory.com/610&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dkB9j3/hyZNGAwlpY/tD1KxlMi3ZNELlVIBpVZnk/img.png?width=377&amp;amp;height=295&amp;amp;face=0_0_377_295,https://scrap.kakaocdn.net/dn/bbMxOF/hyZNFVUM9h/TgEc7kJr1GgKVBdbntdh3K/img.png?width=377&amp;amp;height=295&amp;amp;face=0_0_377_295,https://scrap.kakaocdn.net/dn/ZcHwb/hyZNLaLcXE/U7T0zRNEvK70zonZIZ4ja1/img.png?width=377&amp;amp;height=295&amp;amp;face=0_0_377_295&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/610&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/610&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dkB9j3/hyZNGAwlpY/tD1KxlMi3ZNELlVIBpVZnk/img.png?width=377&amp;amp;height=295&amp;amp;face=0_0_377_295,https://scrap.kakaocdn.net/dn/bbMxOF/hyZNFVUM9h/TgEc7kJr1GgKVBdbntdh3K/img.png?width=377&amp;amp;height=295&amp;amp;face=0_0_377_295,https://scrap.kakaocdn.net/dn/ZcHwb/hyZNLaLcXE/U7T0zRNEvK70zonZIZ4ja1/img.png?width=377&amp;amp;height=295&amp;amp;face=0_0_377_295');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Underfit&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Underfit이란ML 모델이 주어진 훈련데이터를 제대로 학습하지 못하여&amp;nbsp;Training dataset에서도 나쁜 performance를 보이는 경우를 가르킴.&amp;nbsp;Underfit의 경우 훈련데이터에서도 performance measure의 결과가 매우&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;해결방안&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Overfitting을 해결하기 위한 방법은 간단히 말하면 다음과 같음.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;모델의 복잡도를 감소시킴(=가설공간 축소).&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;parameters의 갯수 감소&lt;/li&gt;
&lt;li&gt;ANN의 경우, depth/width 줄이기&lt;/li&gt;
&lt;li&gt;모델 capacity를 데이터 양에 적절한 수준으로 감소시킴.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Regularization을 강화.&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;L2/L1 penalty 증가&lt;/li&gt;
&lt;li&gt;Dropout, BatchNorm 사용&lt;/li&gt;
&lt;li&gt;weight decay 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Training data의 양을 늘리기.&lt;/b&gt; **
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실제 데이터 확보&lt;/li&gt;
&lt;li&gt;또는 Data augmentation 수행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Feature selection/feature extraction을 통해 noise feature 제거&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PCA 등으로 차원 축소&lt;/li&gt;
&lt;li&gt;domain-specific feature engineering&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Early stopping 적용&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;validation loss가 증가하기 시작하면 학습 중단&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;주요사항.&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Underfit과 달리 &lt;b&gt;Overfit은 데이터 양 증가 만으로도 해결 가능&lt;/b&gt; 하며,&lt;br /&gt;&lt;u&gt;&lt;b&gt;Regularization&lt;/b&gt;&lt;/u&gt;과 &lt;u&gt;&lt;b&gt;모델 단순화&lt;/b&gt;&lt;/u&gt;를 통해 쉽게 제어할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Deep Learning 의 경우, 모델이 매우 복잡하기 때문에 대부분이 over-fitting을 해결하는 과정을 거침.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/848&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.10.27 - [Programming/ML] - [ML] Regularization&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1763643655326&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Regularization&quot; data-og-description=&quot;Regularization 이란?기계 학습과 딥러닝에서 Regularization은 모델이 overfitting(과적합)되지 않도록 도와주는 기법을 의미함.Overfitting(과적합)은 모델이 훈련 데이터에 너무 잘 맞아 새로운 데이터에 대&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/848&quot; data-og-url=&quot;https://dsaint31.tistory.com/848&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cen0H2/hyZNNHqcwg/kahVwjGbLB0w02k2N5GW1k/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/5Ma35/hyZNYa7dkH/ipMTdcagMt8rIZikXyFeoK/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/bVIpwL/hyZNXiXLyj/wieqDLa49bHnEOUr7z65Fk/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/848&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/848&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cen0H2/hyZNNHqcwg/kahVwjGbLB0w02k2N5GW1k/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/5Ma35/hyZNYa7dkH/ipMTdcagMt8rIZikXyFeoK/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/bVIpwL/hyZNXiXLyj/wieqDLa49bHnEOUr7z65Fk/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Regularization&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Regularization 이란?기계 학습과 딥러닝에서 Regularization은 모델이 overfitting(과적합)되지 않도록 도와주는 기법을 의미함.Overfitting(과적합)은 모델이 훈련 데이터에 너무 잘 맞아 새로운 데이터에 대&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/ML</category>
      <category>ML</category>
      <category>overfit</category>
      <category>과적합</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/951</guid>
      <comments>https://dsaint31.tistory.com/951#entry951comment</comments>
      <pubDate>Thu, 20 Nov 2025 22:02:34 +0900</pubDate>
    </item>
    <item>
      <title>Maximum-Likelihood Expectation-Maximization</title>
      <link>https://dsaint31.tistory.com/950</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;775&quot; data-origin-height=&quot;477&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rEeoF/dJMcahW24Ls/jHt2xjcnC8HnbMj9GUOB11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rEeoF/dJMcahW24Ls/jHt2xjcnC8HnbMj9GUOB11/img.png&quot; data-alt=&quot;https://www.openaccessjournals.com/articles/image-reconstruction-for-petct-scanners-past-achievements-and-future-challenges-11017.html&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rEeoF/dJMcahW24Ls/jHt2xjcnC8HnbMj9GUOB11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrEeoF%2FdJMcahW24Ls%2FjHt2xjcnC8HnbMj9GUOB11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;246&quot; data-origin-width=&quot;775&quot; data-origin-height=&quot;477&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://www.openaccessjournals.com/articles/image-reconstruction-for-petct-scanners-past-achievements-and-future-challenges-11017.html&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;PET에서의 MLEM은 Poisson 통계 모델에서의 MLE를 EM 알고리즘으로 푸는 것임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FBP에 비해, 느리지만 Poisson noise 억제에 강함&lt;/li&gt;
&lt;li&gt;OSEM, MAP-EM 등으로 속도 및 성능 개선 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/636&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.10.25 - [.../Math] - [Math] Poisson Distribution (포아송분포)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762753777490&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] Poisson Distribution (포아송분포)&quot; data-og-description=&quot;Poisson Distribution이란?아주 가끔 일어나는 사건(trial)에 대한 확률 분포 : 방사선 검출에 주로 사용되는 확률분포라 의료영상에서는 매우 많이 사용됨. 몇가지 예를 들면 다음과 같음:전체 인구수&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/636&quot; data-og-url=&quot;https://dsaint31.tistory.com/636&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gMGgp/hyZMFa43Mv/l7C1ItWUDvaRa8aUB4f8H0/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385,https://scrap.kakaocdn.net/dn/LBAcf/hyZNqjDjen/jJc4seaxoMcAzvp7bdy331/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385,https://scrap.kakaocdn.net/dn/bxEnxs/hyZNEuQT3r/g1bjQIAES4wFdLtvrJ9wDk/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/636&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/636&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gMGgp/hyZMFa43Mv/l7C1ItWUDvaRa8aUB4f8H0/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385,https://scrap.kakaocdn.net/dn/LBAcf/hyZNqjDjen/jJc4seaxoMcAzvp7bdy331/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385,https://scrap.kakaocdn.net/dn/bxEnxs/hyZNEuQT3r/g1bjQIAES4wFdLtvrJ9wDk/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] Poisson Distribution (포아송분포)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Poisson Distribution이란?아주 가끔 일어나는 사건(trial)에 대한 확률 분포 : 방사선 검출에 주로 사용되는 확률분포라 의료영상에서는 매우 많이 사용됨. 몇가지 예를 들면 다음과 같음:전체 인구수&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Poisson Likelihood 모델 설정&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 검출기 $i$에서의 측정값 $y_i$ 는 포아송 분포를 따른다고 가정:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$y_i \sim \text{Poisson} \left( \hat{y}_i = \sum_j p_{ij} \lambda_j \right)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 전체 log-likelihood 함수는 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\log \mathcal{L}(\boldsymbol{\lambda}) = \sum_i \left[ y_i \log \left( \sum_j p_{ij} \lambda_j \right) - \left( \sum_j p_{ij} \lambda_j \right) - \log y_i! \right]$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 $\log y_i!$는 $\lambda_j$ 에 독립이므로 생략 가능함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 통해 다음의 miximization problem으로 정의할 수 있음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\underset{\boldsymbol{\lambda} \geq 0}{\text{maximize}} \quad Q(\boldsymbol{\lambda}) = \sum_i \left[ y_i \log \left( \sum_j p_{ij} \lambda_j \right) - \sum_j p_{ij} \lambda_j \right]$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이는 utility function이므로 최대화를 수행.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;EM 방식으로는 다음 surrogate function을 최대화!: 이 과정은 &lt;code&gt;Jensen's inequality&lt;/code&gt;에 기반&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\lambda_j^{k+1} = \lambda_j^k \cdot \frac{1}{\sum_i p_{ij}} \sum_i p_{ij} \cdot \left( \frac{y_i}{\sum_{j'} p_{ij'} \lambda_{j'}^k} \right)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;요약하면 다음과 같음:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;objective function : $\log \mathcal{L}(\boldsymbol{\lambda})$&lt;/li&gt;
&lt;li&gt;최적화 방법: Expectation-Maximization (EM)&lt;/li&gt;
&lt;li&gt;solution update equation: multiplicative update (양수 유지 보장)&lt;/li&gt;
&lt;li&gt;정규화 항: $\sum_i p_{ij}$ - sensitivity normalization&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/317&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.06.02 - [.../Math] - [ML] Likelihood (우도, 기대값)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762753808602&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Likelihood (우도, 기대값)&quot; data-og-description=&quot;Likelihood (우도) : 더보기likelihood는 probability처럼 가능성을 나타낸다는 비슷한 측면도 있으나 다음과 같은 차이가 있음.probability처럼 likelihood는 상대적 비교는 가능 (즉, likelihood가 클수록 해당 even&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/317&quot; data-og-url=&quot;https://dsaint31.tistory.com/317&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/oqbcG/hyZMHGJBYc/fj1EUicHivcFZRTBz67v31/img.jpg?width=800&amp;amp;height=362&amp;amp;face=0_0_800_362,https://scrap.kakaocdn.net/dn/sYsU6/hyZNfWIa64/XyjOiKQ5Odk4XLA6V21kn0/img.jpg?width=800&amp;amp;height=362&amp;amp;face=0_0_800_362,https://scrap.kakaocdn.net/dn/9Obtj/hyZNE2HiAz/sZ33U1Fu9y5It8Sb2Rfkp0/img.png?width=1987&amp;amp;height=901&amp;amp;face=0_0_1987_901&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/317&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/317&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/oqbcG/hyZMHGJBYc/fj1EUicHivcFZRTBz67v31/img.jpg?width=800&amp;amp;height=362&amp;amp;face=0_0_800_362,https://scrap.kakaocdn.net/dn/sYsU6/hyZNfWIa64/XyjOiKQ5Odk4XLA6V21kn0/img.jpg?width=800&amp;amp;height=362&amp;amp;face=0_0_800_362,https://scrap.kakaocdn.net/dn/9Obtj/hyZNE2HiAz/sZ33U1Fu9y5It8Sb2Rfkp0/img.png?width=1987&amp;amp;height=901&amp;amp;face=0_0_1987_901');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Likelihood (우도, 기대값)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Likelihood (우도) : 더보기likelihood는 probability처럼 가능성을 나타낸다는 비슷한 측면도 있으나 다음과 같은 차이가 있음.probability처럼 likelihood는 상대적 비교는 가능 (즉, likelihood가 클수록 해당 even&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Mimum Likehood Expection Miximization 수식 **&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\lambda_j^{k+1} = \frac{\lambda_j^k}{\sum_i p_{ij}} \sum_i p_{ij} \cdot \left( \frac{y_i}{\sum_{j'} p_{ij'} \lambda_{j'}^k} \right)&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;where,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\lambda_j^k$ : $k$번째 iteration(반복)에서 픽셀 $j$에 대한 이미지 추정값&lt;/li&gt;
&lt;li&gt;$y_i$ : $i$번째 검출기에서의 측정값 (projection bin data, sinogram)&lt;/li&gt;
&lt;li&gt;$p_{ij}$ : system matrix(시스템 행렬)의 요소. 픽셀 $j$가 검출기 $i$에 기여하는 정도&lt;/li&gt;
&lt;li&gt;$\sum_{j'} p_{ij'} \lambda_{j'}^k $ : $i$ 검출기에 대한 예측값 - $\hat{y}_i$&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;MLEM - Iterative Reconstruction&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 수식은 MLEM 알고리즘의 업데이트 식임:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1.예측 측정값 계산 (forward projection):&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\hat{y}_i = \sum_{j'} p_{ij'} \lambda_{j'}^k$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2.실제와 예측의 비율 계산:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\frac{y_i}{\hat{y}_i}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3.백프로젝션 수행:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\sum_i p_{ij} \cdot \left( \frac{y_i}{\hat{y}_i} \right)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4.정규화 후 업데이트:&lt;/b&gt;&lt;br /&gt;$$\lambda_j^{k+1} = \lambda_j^k \cdot \frac{1}{\sum_i p_{ij}} \sum_i p_{ij} \cdot \left( \frac{y_i}{\hat{y}_i} \right)$$&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2712&quot; data-origin-height=&quot;1575&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IMQot/dJMcac2vxI5/pZDT7KX7knhgdhEb7M7mf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IMQot/dJMcac2vxI5/pZDT7KX7knhgdhEb7M7mf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IMQot/dJMcac2vxI5/pZDT7KX7knhgdhEb7M7mf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIMQot%2FdJMcac2vxI5%2FpZDT7KX7knhgdhEb7M7mf0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;290&quot; data-origin-width=&quot;2712&quot; data-origin-height=&quot;1575&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://gist.github.com/dsaint31x/5a46553d69055b93dcacc249c043bef5&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://gist.github.com/dsaint31x/5a46553d69055b93dcacc249c043bef5&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762753905817&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;pet_mlem_simul.ipynb&quot; data-og-description=&quot;pet_mlem_simul.ipynb. GitHub Gist: instantly share code, notes, and snippets.&quot; data-og-host=&quot;gist.github.com&quot; data-og-source-url=&quot;https://gist.github.com/dsaint31x/5a46553d69055b93dcacc249c043bef5&quot; data-og-url=&quot;https://gist.github.com/dsaint31x/5a46553d69055b93dcacc249c043bef5&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/PL6gQ/hyZNlP9FW4/pOGe6KXJyoVbnfk0lXz0kk/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640,https://scrap.kakaocdn.net/dn/qb8t6/hyZNB5Yv4Y/wjjpXLN7iOZQXkyxtuoMJ1/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640&quot;&gt;&lt;a href=&quot;https://gist.github.com/dsaint31x/5a46553d69055b93dcacc249c043bef5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://gist.github.com/dsaint31x/5a46553d69055b93dcacc249c043bef5&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/PL6gQ/hyZNlP9FW4/pOGe6KXJyoVbnfk0lXz0kk/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640,https://scrap.kakaocdn.net/dn/qb8t6/hyZNB5Yv4Y/wjjpXLN7iOZQXkyxtuoMJ1/img.png?width=1280&amp;amp;height=640&amp;amp;face=0_0_1280_640');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;pet_mlem_simul.ipynb&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;pet_mlem_simul.ipynb. GitHub Gist: instantly share code, notes, and snippets.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;gist.github.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Note:&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Poisson likelihood 기반임! (측정치는 counter의 결과이므로 항상 양의 정수로)&lt;/li&gt;
&lt;li&gt;분자: 측정값과 예측값의 비율&lt;/li&gt;
&lt;li&gt;분모: 픽셀별 시스템 응답의 총합으로 정규화&lt;/li&gt;
&lt;li&gt;음수 없음, 수렴 보장 (단, 느림)&lt;/li&gt;
&lt;li&gt;forward / backward projection 반복 구조&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;같이보면 좋은 자료&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/924&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2025.09.01 - [정리필요./PET, MRI and so on.] - Radon Transform and Inverse Radon Transform-FBP&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762760229172&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Radon Transform and Inverse Radon Transform-FBP&quot; data-og-description=&quot;정의Radon Transform(라돈 변환)은n차원 함수 $f(\textbf{x})$를 : ($\textbf{x}$는 n차원 vector임)$(n-1)$차원 hyperplane(초평면)에 대해projection integral(투영적분)한 값을 나타내는 transform(변환)이를 2D와 3D의 경우&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/924&quot; data-og-url=&quot;https://dsaint31.tistory.com/924&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/wqSxt/hyZNGe866d/Z9DEwbSUx1H8KGkxKaQFL0/img.png?width=800&amp;amp;height=539&amp;amp;face=0_0_800_539,https://scrap.kakaocdn.net/dn/czPtlY/hyZMxREo2s/QahhfacJKr1JfXKSW7d0T1/img.png?width=800&amp;amp;height=539&amp;amp;face=0_0_800_539,https://scrap.kakaocdn.net/dn/cCjVG4/hyZNKV9zsm/aKKLDm9Zt674MPJskXYxR1/img.png?width=821&amp;amp;height=1154&amp;amp;face=0_0_821_1154&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/924&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/924&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/wqSxt/hyZNGe866d/Z9DEwbSUx1H8KGkxKaQFL0/img.png?width=800&amp;amp;height=539&amp;amp;face=0_0_800_539,https://scrap.kakaocdn.net/dn/czPtlY/hyZMxREo2s/QahhfacJKr1JfXKSW7d0T1/img.png?width=800&amp;amp;height=539&amp;amp;face=0_0_800_539,https://scrap.kakaocdn.net/dn/cCjVG4/hyZNKV9zsm/aKKLDm9Zt674MPJskXYxR1/img.png?width=821&amp;amp;height=1154&amp;amp;face=0_0_821_1154');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Radon Transform and Inverse Radon Transform-FBP&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;정의Radon Transform(라돈 변환)은n차원 함수 $f(\textbf{x})$를 : ($\textbf{x}$는 n차원 vector임)$(n-1)$차원 hyperplane(초평면)에 대해projection integral(투영적분)한 값을 나타내는 transform(변환)이를 2D와 3D의 경우&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>정리필요./PET, MRI and so on.</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/950</guid>
      <comments>https://dsaint31.tistory.com/950#entry950comment</comments>
      <pubDate>Mon, 10 Nov 2025 15:01:04 +0900</pubDate>
    </item>
    <item>
      <title>Scintillator (섬광체)</title>
      <link>https://dsaint31.tistory.com/949</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;118&quot; data-origin-height=&quot;124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cD27Kt/dJMb99Y02Cp/3YbdzjqcX6pLVNQ5W0eXnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cD27Kt/dJMb99Y02Cp/3YbdzjqcX6pLVNQ5W0eXnK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cD27Kt/dJMb99Y02Cp/3YbdzjqcX6pLVNQ5W0eXnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcD27Kt%2FdJMb99Y02Cp%2F3YbdzjqcX6pLVNQ5W0eXnK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;118&quot; height=&quot;124&quot; data-origin-width=&quot;118&quot; data-origin-height=&quot;124&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;scintillator는 방사선이 물질과 상호작용할 때 &lt;b&gt;에너지를 흡수하고 빛(섬광, 주로 visible phothons)을 방출&lt;/b&gt;하는 물질을 가리킴.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방출된 빛은 &lt;b&gt;광센서(photo sensor)&lt;/b&gt;에 의해 전기 신호로 변환되어 방사선 검출에 사용&lt;/li&gt;
&lt;li&gt;전자가 여기(excited) 된 이후, 기저상태로 복귀 시 &lt;b&gt;가시광선 또는 근자외선 방출&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;433&quot; data-origin-height=&quot;177&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AB8X6/dJMcajHkxfE/QCad5u4nH8Q3HHFDDvJPPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AB8X6/dJMcajHkxfE/QCad5u4nH8Q3HHFDDvJPPK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AB8X6/dJMcajHkxfE/QCad5u4nH8Q3HHFDDvJPPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAB8X6%2FdJMcajHkxfE%2FQCad5u4nH8Q3HHFDDvJPPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;123&quot; data-origin-width=&quot;433&quot; data-origin-height=&quot;177&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주로 뒤에 광센서가 놓임:&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;445&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rgSpz/dJMcaf5Z4ZN/V0likV6V1Eu8U4zKp9uDqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rgSpz/dJMcaf5Z4ZN/V0likV6V1Eu8U4zKp9uDqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rgSpz/dJMcaf5Z4ZN/V0likV6V1Eu8U4zKp9uDqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrgSpz%2FdJMcaf5Z4ZN%2FV0likV6V1Eu8U4zKp9uDqK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;335&quot; data-origin-width=&quot;798&quot; data-origin-height=&quot;445&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 용어 구분&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;섬광체(scintillator)&lt;/b&gt;: 방사선을 감지하는 기능에 기반한 용어&lt;/li&gt;
&lt;li&gt;&lt;b&gt;크리스털(crystal)&lt;/b&gt;: 물질의 구조적 기반한 용어로 단결정 구조를 가리킴.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 scintillator 가 크리스털이지만, &lt;b&gt;모든 크리스털이 섬광체인 것은 아님.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/263&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.04.12 - [정리필요./의료기기의 이해] - Transducer&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762751118373&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Transducer&quot; data-og-description=&quot;DefinitionA transducer is a device that transforms a signal from one energy form to another energy form. 즉, 에너지의 형태를 변환시키는 장치 를 가리켜 Transducer라고 한다. 넓게 이야기하는 경우, 다루기 쉬운 형태로 신&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/263&quot; data-og-url=&quot;https://dsaint31.tistory.com/263&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/s7yHv/hyZNmO2NjF/QkJE6KgFqMUoQV1xMgzmeK/img.gif?width=256&amp;amp;height=256&amp;amp;face=0_0_256_256,https://scrap.kakaocdn.net/dn/7atSM/hyZNL8AAK9/jnMIaUe3coFNeKysthYhe1/img.gif?width=256&amp;amp;height=256&amp;amp;face=0_0_256_256&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/263&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/263&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/s7yHv/hyZNmO2NjF/QkJE6KgFqMUoQV1xMgzmeK/img.gif?width=256&amp;amp;height=256&amp;amp;face=0_0_256_256,https://scrap.kakaocdn.net/dn/7atSM/hyZNL8AAK9/jnMIaUe3coFNeKysthYhe1/img.gif?width=256&amp;amp;height=256&amp;amp;face=0_0_256_256');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Transducer&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;DefinitionA transducer is a device that transforms a signal from one energy form to another energy form. 즉, 에너지의 형태를 변환시키는 장치 를 가리켜 Transducer라고 한다. 넓게 이야기하는 경우, 다루기 쉬운 형태로 신&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 이상적인 scintillator 의 특성 : 방사선 검출기(or counter)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;높은 정지능(stopping power)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;높을수록 고에너지 광자 흡수 능력이 우수.&lt;/li&gt;
&lt;li&gt;밀도&amp;middot;원자번호에 비례&lt;/li&gt;
&lt;li&gt;BGO, LSO, LYSO, GSO은 정지능이 높아 PET용으로 적합&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;짧은 감쇠시간(decay time)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;빠른 빛 방출로 신속한 신호 처리 가능: 짧은 dead time.&lt;/li&gt;
&lt;li&gt;counter에서 사용될 경우 매우 중요함.&lt;/li&gt;
&lt;li&gt;PET처럼 높은 coincidence 분해능이 요구되는 경우 중요 (LSO, LYSO, GSO가 선호)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;높은 광자 산출량(light yield)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단위 MeV당 방출되는 광자의 개수로 측정됨.&lt;/li&gt;
&lt;li&gt;방출 광량이 많을수록 높은 sensitivity를 달성하기 쉬움.&lt;/li&gt;
&lt;li&gt;높을수록 높은 energy resoluton을 달성하기 쉬움.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CsI(Tl)이 매우 높으며(최대 65,000 ph/MeV), BGO는 낮은 것으로 유명함 (~8,000 ph/MeV)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;우수한 에너지 분해능(energy resolution)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서로 다른 에너지의 방사선 구분 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;기계적&amp;middot;화학적 안정성&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;온도&amp;middot;습기&amp;middot;충격에 강할수록 장기적으로 잘 동작하는 검출기를 만들기 쉬움.&lt;/li&gt;
&lt;li&gt;안정적인 성능 확보&lt;/li&gt;
&lt;li&gt;NaI(Tl)은 &lt;b&gt;습기에 매우 약함&lt;/b&gt;: 단, 제작이 쉽고 저가라 많이 사용됨.&lt;/li&gt;
&lt;li&gt;LSO/LYSO는 내구성과 화학적 안정성이 매우 우수함.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 실제 섬광체는 위의 특성 간 &lt;b&gt;trade-off&lt;/b&gt; 존재: 용도에 맞춰 선택 필요&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 섬광체 크기와 성능의 관계&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;360&quot; data-origin-height=&quot;301&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bh1JVw/dJMcahCKkVH/IaArImHBcvE3hB4Kf6EVfk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bh1JVw/dJMcahCKkVH/IaArImHBcvE3hB4Kf6EVfk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bh1JVw/dJMcahCKkVH/IaArImHBcvE3hB4Kf6EVfk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbh1JVw%2FdJMcahCKkVH%2FIaArImHBcvE3hB4Kf6EVfk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;360&quot; height=&quot;301&quot; data-origin-width=&quot;360&quot; data-origin-height=&quot;301&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;scintillator의 크기(area)를 증가시키는 경우 검출기간의 간격이 증가(=pixel의 크기 증가)하여 해상도가 감소하나 정지능은 향상됨.&lt;/li&gt;
&lt;li&gt;scintillator의 두께(thickness)를 증가시키는 경우 stopping power는 증가하나 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;산란&amp;middot;parallax error&lt;/b&gt;&lt;/span&gt;가 증가하여 해상도가 감소함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sensitivity와 spatial resolution간의 균형을 고려한 선택 필요.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;546&quot; data-origin-height=&quot;478&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwqes6/dJMcaf5Z4Lm/kKjuhYlFPl4r3v0wVkjPL1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwqes6/dJMcaf5Z4Lm/kKjuhYlFPl4r3v0wVkjPL1/img.png&quot; data-alt=&quot;PET, Molecular Imaging and Its Biological Applications, Michael E. Phelps&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwqes6/dJMcaf5Z4Lm/kKjuhYlFPl4r3v0wVkjPL1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbwqes6%2FdJMcaf5Z4Lm%2FkKjuhYlFPl4r3v0wVkjPL1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;350&quot; data-origin-width=&quot;546&quot; data-origin-height=&quot;478&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;PET, Molecular Imaging and Its Biological Applications, Michael E. Phelps&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;의료 영상 기기별 섬광체 크기 비교 (예)&lt;/b&gt;&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;사용 방사선&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;일반적 크기 (mm&amp;sup3;)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;특징&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;투영방사선촬영 / CT&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;X선 (낮은 에너지)&lt;/td&gt;
&lt;td&gt;0.5&amp;ndash;2 &amp;times; 0.5&amp;ndash;2 &amp;times; 3&amp;ndash;5&lt;/td&gt;
&lt;td&gt;해상도&amp;middot;정지능 균형 유지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;감마카메라 / SPECT&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;감마선&lt;/td&gt;
&lt;td&gt;3&amp;ndash;5 &amp;times; 3&amp;ndash;5 &amp;times; 6&amp;ndash;10&lt;/td&gt;
&lt;td&gt;감마선 감지 효율 중점&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;PET&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;511 keV 소멸광자&lt;/td&gt;
&lt;td&gt;2&amp;ndash;4 &amp;times; 2&amp;ndash;4 &amp;times; 10&amp;ndash;20&lt;/td&gt;
&lt;td&gt;콜리메이터 없이 해상도 확보, 정지능 한계 존재&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 주요 scintillator&lt;/h2&gt;
&lt;table style=&quot;height: 250px;&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 40px;&quot;&gt;
&lt;td style=&quot;height: 40px; width: 98px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Scintillator&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 40px; width: 70px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;주요용도&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 40px; width: 98px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;밀도 (g/cm&amp;sup3;)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 40px; width: 101px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;감쇠시간 (ns)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 40px; width: 149px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;광자산출량 &lt;br /&gt;(ph/MeV)&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 40px; width: 162px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;주요 장점&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 40px; width: 149px; text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;주요 단점&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;height: 38px; width: 98px;&quot;&gt;&lt;b&gt;CsI(Tl)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 70px;&quot;&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #333333; text-align: start;&quot;&gt;CT&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 98px;&quot;&gt;4.51&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 101px;&quot;&gt;1,000&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 149px;&quot;&gt;54k-65k&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 162px;&quot;&gt;높은 광량, 적절한 정지능&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 149px;&quot;&gt;감쇠시간이 매우 김.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;height: 19px; width: 98px;&quot;&gt;&lt;b&gt;GOS&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 70px;&quot;&gt;CT&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 98px;&quot;&gt;7.32&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 101px;&quot;&gt;600&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 149px;&quot;&gt;45k&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 162px;&quot;&gt;고밀도, 적절한 감쇠시간&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 149px;&quot;&gt;광량 낮음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;height: 38px; width: 98px;&quot;&gt;&lt;b&gt;NaI(Tl)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 70px;&quot;&gt;SPECT&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 98px;&quot;&gt;3.67&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 101px;&quot;&gt;230&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 149px;&quot;&gt;38k&amp;ndash;40k&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 162px;&quot;&gt;높은 광량, 짧은 감쇠시간&lt;/td&gt;
&lt;td style=&quot;height: 38px; width: 149px;&quot;&gt;습기 취약, 낮은 정지능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;height: 19px; width: 98px;&quot;&gt;&lt;b&gt;BGO&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 70px;&quot;&gt;PET&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 98px;&quot;&gt;7.13&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 101px;&quot;&gt;300&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 149px;&quot;&gt;8200&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 162px;&quot;&gt;높은 정지능&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 149px;&quot;&gt;낮은 광량&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;height: 19px; width: 98px;&quot;&gt;&lt;b&gt;LSO&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 70px;&quot;&gt;PET&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 98px;&quot;&gt;7.4&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 101px;&quot;&gt;40&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 149px;&quot;&gt;25k&amp;ndash;32k&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 162px;&quot;&gt;빠른 감쇠, 높은 광량&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 149px;&quot;&gt;고비용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;height: 19px; width: 98px;&quot;&gt;&lt;b&gt;LYSO&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 70px;&quot;&gt;PET&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 98px;&quot;&gt;7.1&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 101px;&quot;&gt;40&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 149px;&quot;&gt;25k&amp;ndash;32k&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 162px;&quot;&gt;LSO와 유사, 고감도&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 149px;&quot;&gt;고비용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;height: 19px; width: 98px;&quot;&gt;&lt;b&gt;GSO&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 70px;&quot;&gt;PET&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 98px;&quot;&gt;6.71&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 101px;&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 149px;&quot;&gt;8k&amp;ndash;10k&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 162px;&quot;&gt;적절한 특성&lt;/td&gt;
&lt;td style=&quot;height: 19px; width: 149px;&quot;&gt;정지능 낮음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;CsI(Tl)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;X-ray용 CT에서 흔히 사용&lt;/li&gt;
&lt;li&gt;긴 감쇠시간(~1 &amp;micro;s)과 높은 광자산출량&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gd₂O₂S (GOS)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;CT용 분말형 섬광체&lt;/li&gt;
&lt;li&gt;상대적으로 낮은 광자산출량(45,000 ph/MeV)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;NaI(Tl)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;감마카메라/SPECT 에서 널리 사용됨&lt;/li&gt;
&lt;li&gt;감쇠시간 230 ns 수준&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;BGO&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;높은 밀도(7.13 g/cm&amp;sup3;)로 높은 정지능으로 유명하나&lt;/li&gt;
&lt;li&gt;낮은 광자산출량(~8,000)이 단점.&lt;/li&gt;
&lt;li&gt;PET 초창기 표준 scitillator로 사용됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;LSO (Lu₂SiO₅:Ce)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;BGO의 느린 decay time을 개선: 빠른 감쇠(40 ns)&lt;/li&gt;
&lt;li&gt;동시에 높은 밀도와 밝기가 장점이나 고비용임.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;LYSO (Lu₁.₈Y₀.₂SiO₅:Ce)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;LSO 와 유사한 성능&lt;/li&gt;
&lt;li&gt;LYSO = LSO + Y 도핑.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GSO (Gd₂SiO₅:Ce)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PET에 사용, BGO보다 빠르지만 정지능은 낮음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;5. 같이보면 좋은 자료들&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #595959;&quot;&gt;5-3장 라돈변환 기반 의료영상 - &lt;/span&gt;&lt;/b&gt;06. 방사선 검출 기술과 의료영상에서의 응용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.koonja.co.kr/products/products_view.html?cd=CD0016&amp;amp;no=24613&amp;amp;refer=%2Fproducts%2Fsearch.html%3Fsearchkey%3D%EC%9D%98%EA%B3%B5%ED%95%99%EA%B0%9C%EB%A1%A0&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.koonja.co.kr/products/products_view.html?cd=CD0016&amp;amp;no=24613&amp;amp;refer=%2Fproducts%2Fsearch.html%3Fsearchkey%3D%EC%9D%98%EA%B3%B5%ED%95%99%EA%B0%9C%EB%A1%A0&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762751529161&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;군자출판사&quot; data-og-description=&quot;군자출판사의 독자들이 대한민국 최고의 군자출판사의 역사를 이끌어 갑니다.&quot; data-og-host=&quot;koonja.co.kr&quot; data-og-source-url=&quot;https://www.koonja.co.kr/products/products_view.html?cd=CD0016&amp;amp;no=24613&amp;amp;refer=%2Fproducts%2Fsearch.html%3Fsearchkey%3D%EC%9D%98%EA%B3%B5%ED%95%99%EA%B0%9C%EB%A1%A0&quot; data-og-url=&quot;https://koonja.co.kr/main/main.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/orDDH/hyZNw4EH9l/ZIKZllXHaBcLsjKmvkNTi0/img.png?width=263&amp;amp;height=170&amp;amp;face=0_0_263_170&quot;&gt;&lt;a href=&quot;https://www.koonja.co.kr/products/products_view.html?cd=CD0016&amp;amp;no=24613&amp;amp;refer=%2Fproducts%2Fsearch.html%3Fsearchkey%3D%EC%9D%98%EA%B3%B5%ED%95%99%EA%B0%9C%EB%A1%A0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.koonja.co.kr/products/products_view.html?cd=CD0016&amp;amp;no=24613&amp;amp;refer=%2Fproducts%2Fsearch.html%3Fsearchkey%3D%EC%9D%98%EA%B3%B5%ED%95%99%EA%B0%9C%EB%A1%A0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/orDDH/hyZNw4EH9l/ZIKZllXHaBcLsjKmvkNTi0/img.png?width=263&amp;amp;height=170&amp;amp;face=0_0_263_170');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;군자출판사&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;군자출판사의 독자들이 대한민국 최고의 군자출판사의 역사를 이끌어 갑니다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;koonja.co.kr&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/306&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dsaint31.tistory.com/306&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762751722651&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Physics] Interaction : 방사선과 물질의 상호작용.&quot; data-og-description=&quot;방사선에 대해 인체 구성물질의 상호작용은 간단히 생각하면 물(water)과의 상호작용과 매우 유사함 (특히, soft tissue의 경우.) 다음 표는 대표적인 상호작용들이 방사선의 에너지에 따라 물(water)&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/306&quot; data-og-url=&quot;https://dsaint31.tistory.com/306&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bw3EwV/hyZNCX6SV7/iWvMSQy1EkVEalBnpNtbrK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cDjz4R/hyZNGGcDSV/3JLiLUmz5MLFyeENmvR0M0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/306&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/306&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bw3EwV/hyZNCX6SV7/iWvMSQy1EkVEalBnpNtbrK/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/cDjz4R/hyZNGGcDSV/3JLiLUmz5MLFyeENmvR0M0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Physics] Interaction : 방사선과 물질의 상호작용.&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;방사선에 대해 인체 구성물질의 상호작용은 간단히 생각하면 물(water)과의 상호작용과 매우 유사함 (특히, soft tissue의 경우.) 다음 표는 대표적인 상호작용들이 방사선의 에너지에 따라 물(water)&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>정리필요./PET, MRI and so on.</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/949</guid>
      <comments>https://dsaint31.tistory.com/949#entry949comment</comments>
      <pubDate>Mon, 10 Nov 2025 14:17:04 +0900</pubDate>
    </item>
    <item>
      <title>LASSO Regression</title>
      <link>https://dsaint31.tistory.com/948</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;341&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/doKhqa/dJMcaihljJo/ZPKHvKGJDns8yJdifTrrW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/doKhqa/dJMcaihljJo/ZPKHvKGJDns8yJdifTrrW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/doKhqa/dJMcaihljJo/ZPKHvKGJDns8yJdifTrrW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdoKhqa%2FdJMcaihljJo%2FZPKHvKGJDns8yJdifTrrW0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;370&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;341&quot; data-origin-height=&quot;420&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;명칭의 유래&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;LASSO&lt;/b&gt;: &lt;i&gt;Least &lt;span style=&quot;color: #ee2323;&quot;&gt;Absolute&lt;/span&gt; Shrinkage and Selection Operator&lt;/i&gt; 의 약자&lt;/li&gt;
&lt;li&gt;이름에서 알 수 있듯이,
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;절대값(absolute value) 기반의&lt;/li&gt;
&lt;li&gt;shrinkage(축소)와&lt;/li&gt;
&lt;li&gt;feature selection(특성 선택)을 동시에 수행하는 회귀 기법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Shrinkage&amp;rdquo;는 weight의 크기를 줄이는 정칙화 효과,&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Selection&amp;rdquo;은 일부 weight를 &lt;b&gt;정확히 0&lt;/b&gt;으로 만들어 feature를 제거하는 효과를 의미함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;역사&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Tibshirani (1996)&lt;/b&gt; 에 의해 제안됨&lt;/li&gt;
&lt;li&gt;Ridge Regression이 모든 weight를 균일하게 줄이는 것과 달리, &lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Lasso는 일부 weight를 0으로 만들어 &lt;b&gt;희소성(sparsity)&lt;/b&gt; 을 유도&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;주로 convex optimization 에서 자주 사용됨.&lt;/li&gt;
&lt;li&gt;L1 norm을 사용한 penalty term을 포함하는 Lasso는 Tikhonov regularization의 변형으로 볼 수 있으나, penalty 함수의 형태가 절댓값으로 바뀐 점이 결정적 차이점을 가짐.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고: L1 vs L2 정칙화의 특성&lt;/h2&gt;
&lt;table style=&quot;width: 656px;&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 132px; text-align: center;&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 233px; text-align: center;&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;L1 정칙화 (Lasso)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 291px; text-align: center;&quot; align=&quot;left&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;L2 정칙화 (Ridge)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 132px;&quot; align=&quot;left&quot;&gt;Penalty&lt;/td&gt;
&lt;td style=&quot;width: 233px;&quot; align=&quot;left&quot;&gt;$\lambda \sum w_j $&lt;/td&gt;
&lt;td style=&quot;width: 291px;&quot; align=&quot;left&quot;&gt;$\lambda \sum w_j^2$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 132px;&quot; align=&quot;left&quot;&gt;결과&lt;/td&gt;
&lt;td style=&quot;width: 233px;&quot; align=&quot;left&quot;&gt;Sparse solution (일부 0)&lt;/td&gt;
&lt;td style=&quot;width: 291px;&quot; align=&quot;left&quot;&gt;Smooth shrinkage (모두 작아짐)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 132px;&quot; align=&quot;left&quot;&gt;Feature selection&lt;/td&gt;
&lt;td style=&quot;width: 233px;&quot; align=&quot;left&quot;&gt;가능&lt;/td&gt;
&lt;td style=&quot;width: 291px;&quot; align=&quot;left&quot;&gt;불가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 132px;&quot; align=&quot;left&quot;&gt;해석 용이성&lt;/td&gt;
&lt;td style=&quot;width: 233px;&quot; align=&quot;left&quot;&gt;높음&lt;/td&gt;
&lt;td style=&quot;width: 291px;&quot; align=&quot;left&quot;&gt;낮음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 132px;&quot; align=&quot;left&quot;&gt;안정성&lt;/td&gt;
&lt;td style=&quot;width: 233px;&quot; align=&quot;left&quot;&gt;낮음 (상관특성 간 불안정)&lt;/td&gt;
&lt;td style=&quot;width: 291px;&quot; align=&quot;left&quot;&gt;높음 (multicollinearity 완화)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Lasso Regression (L1 정화)&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Objective Function&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$L = \displaystyle \frac{1}{m}\sum_{i=1}^{m} (y_i - \hat{y}_i)^2 + \lambda \sum_{j=1}^{n} |w_j|$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$m$ : sample 수&lt;/li&gt;
&lt;li&gt;$n$ : feature 수&lt;/li&gt;
&lt;li&gt;$\lambda$ : regularization 강도 (hyperparameter)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Gradient (subgradient)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\frac{\partial L}{\partial w_j} = -\frac{2}{m}\sum_{i=1}^{m}(y_i - \hat{y}_i)x_{ij} + \lambda \cdot \text{sign}(w_j)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, $w_j = 0$ 인 구간에서는 미분 불가능하므로 &lt;b&gt;subgradient&lt;/b&gt; 사용.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/946&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2025.11.02 - [Programming/ML] - Subgradient 와 Gradient Descent&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1763609139921&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Subgradient 와 Gradient Descent&quot; data-og-description=&quot;Prerequistes모델 학습의 목표는손실 함수 $L(\boldsymbol{\omega}, \textbf{X})$를 최소화하는파라미터 $\boldsymbol{\omega}$를 찾는 것임.이때 가장 기본적인 최적화 방법은 Gradient Descent(경사 하강법)임:$$\boxed{\bo&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/946&quot; data-og-url=&quot;https://dsaint31.tistory.com/946&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bZxz7S/hyZOiMygTw/Uq1vXiTH8kZZWM0ww1xko1/img.jpg?width=800&amp;amp;height=414&amp;amp;face=0_0_800_414,https://scrap.kakaocdn.net/dn/HrgBi/hyZNznMnwv/g5O9IpQCWGUo78uEYF5I21/img.jpg?width=800&amp;amp;height=414&amp;amp;face=0_0_800_414,https://scrap.kakaocdn.net/dn/VYS4y/hyZNB6YSbW/R05d5YS11Crhkm3nK2MfJk/img.jpg?width=1373&amp;amp;height=711&amp;amp;face=0_0_1373_711&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/946&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/946&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bZxz7S/hyZOiMygTw/Uq1vXiTH8kZZWM0ww1xko1/img.jpg?width=800&amp;amp;height=414&amp;amp;face=0_0_800_414,https://scrap.kakaocdn.net/dn/HrgBi/hyZNznMnwv/g5O9IpQCWGUo78uEYF5I21/img.jpg?width=800&amp;amp;height=414&amp;amp;face=0_0_800_414,https://scrap.kakaocdn.net/dn/VYS4y/hyZNB6YSbW/R05d5YS11Crhkm3nK2MfJk/img.jpg?width=1373&amp;amp;height=711&amp;amp;face=0_0_1373_711');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Subgradient 와 Gradient Descent&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Prerequistes모델 학습의 목표는손실 함수 $L(\boldsymbol{\omega}, \textbf{X})$를 최소화하는파라미터 $\boldsymbol{\omega}$를 찾는 것임.이때 가장 기본적인 최적화 방법은 Gradient Descent(경사 하강법)임:$$\boxed{\bo&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;특징&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;일부 $w_j$가 정확히 &lt;b&gt;0&lt;/b&gt;이 되어 불필요한 특성을 제거&lt;/li&gt;
&lt;li&gt;모델 단순화 및 해석 용이성 증가&lt;/li&gt;
&lt;li&gt;그러나 feature 간 강한 상관(multicollinearity)이 존재할 때, feature selection이 불안정해질 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Ridge Regression (L2 정칙화)와의 비교&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Ridge: 모든 weight를 작게 만드는 &lt;b&gt;연속적 축소(continuous shrinkage)&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Lasso&lt;/b&gt;: 일부 weight를 &lt;b&gt;완전히 제거(sparse selection)&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;실제 모델링에서는&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;u&gt; 두 기법을 혼합한 &lt;b&gt;Elastic Net&lt;/b&gt;이 자주 사용&lt;/u&gt;&lt;/span&gt;됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;L = \frac{1}{m}\sum (y_i - \hat{y}_i)^2 + \lambda_1 \sum |w_j| + \lambda_2 \sum w_j^2&lt;br /&gt;$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;기하학적 해석&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;L2 제약(Ridge)&lt;/b&gt;: 원형(circle) =&amp;gt; 모든 방향 동일한 제약&lt;/li&gt;
&lt;li&gt;&lt;b&gt;L1 제약(Lasso)&lt;/b&gt;: 마름모(diamond) 형태
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Loss function의 contour와 마름모의 꼭짓점이 만나는 지점에서 해가 발생&lt;/li&gt;
&lt;li&gt;꼭짓점에서 일부 ( $w_j = 0$ )이 되어 &lt;b&gt;sparse solution&lt;/b&gt; 유도&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;이 차이로 인해,
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Ridge는 &amp;ldquo;모두 조금씩 줄이지만 0은 만들지 않음&amp;rdquo;,&lt;/li&gt;
&lt;li&gt;Lasso는 &amp;ldquo;일부를 완전히 0으로&amp;rdquo; 만드는 효과를 가짐&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;399&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bnz0lw/dJMcacamfH8/Dp1WhGIL0oYcNRuh12v0G0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bnz0lw/dJMcacamfH8/Dp1WhGIL0oYcNRuh12v0G0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bnz0lw/dJMcacamfH8/Dp1WhGIL0oYcNRuh12v0G0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbnz0lw%2FdJMcacamfH8%2FDp1WhGIL0oYcNRuh12v0G0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;398&quot; data-origin-width=&quot;602&quot; data-origin-height=&quot;399&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;기타&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ridge 의 경우처럼, Regularization Term을 샘플 수로 나누는 처리가 보통 이루어지며, &lt;u&gt;&lt;b&gt;bias에 대해선 규제를 하지 않기도 함&lt;/b&gt;&lt;/u&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/947&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2025.11.06 - [Programming/ML] - Ridge Regression&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762582695120&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Ridge Regression&quot; data-og-description=&quot;명칭의 유래Ridge: &amp;quot;산등성이&amp;quot; 또는 &amp;quot;융기&amp;quot;를 의미하는 영어 단어L2-Regularization Term 추가 시 loss function의 contour가 융기된 형태로 변형되는 데에서 유래됨.역사적 배경Tikhonov regularization (1963)과 수학&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/947&quot; data-og-url=&quot;https://dsaint31.tistory.com/947&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/2wJL1/hyZNkJZNe1/ZsFnHh7BAsV6XPbvjSpGTK/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/KGT0X/hyZMwLJ2VN/9HvGs927dejKEywCWK20Rk/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/ckYsEJ/hyZNkDd1CF/Mak85fAE8BTB0A6dBFAMz1/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/947&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/947&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/2wJL1/hyZNkJZNe1/ZsFnHh7BAsV6XPbvjSpGTK/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/KGT0X/hyZMwLJ2VN/9HvGs927dejKEywCWK20Rk/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/ckYsEJ/hyZNkDd1CF/Mak85fAE8BTB0A6dBFAMz1/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Ridge Regression&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;명칭의 유래Ridge: &quot;산등성이&quot; 또는 &quot;융기&quot;를 의미하는 영어 단어L2-Regularization Term 추가 시 loss function의 contour가 융기된 형태로 변형되는 데에서 유래됨.역사적 배경Tikhonov regularization (1963)과 수학&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;요약&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Lasso Regression&lt;/b&gt;은 L1 정칙화 기반 회귀모델&lt;/li&gt;
&lt;li&gt;일부 weight를 0으로 만들어 &lt;b&gt;feature selection 효과&lt;/b&gt; 제공&lt;/li&gt;
&lt;li&gt;Ridge에 비해 해석 용이(고려할 feature의 갯수가 감소)하지만, 안정성은 다소 떨어짐&lt;/li&gt;
&lt;li&gt;데이터 규모와 상관없는 일관된 ($\lambda$)를 위해 평균화 필요&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;bia&lt;span style=&quot;color: #ee2323;&quot;&gt;s는 규제하지 않음 (평행이동 불변성 유지&lt;/span&gt;&lt;/b&gt;)&lt;/span&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; shift invariance &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;translation invariance&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;invariance to translation&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;Ridge와 Lasso의 중간형으로 Elastic Net&lt;/span&gt;&lt;/b&gt;이 실무에서 자주 사용됨&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;같이보면 좋은 자료들&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/848&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.10.27 - [Programming/ML] - [ML] Regularization&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1763609150221&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Regularization&quot; data-og-description=&quot;Regularization 이란?기계 학습과 딥러닝에서 Regularization은 모델이 overfitting(과적합)되지 않도록 도와주는 기법을 의미함.Overfitting(과적합)은 모델이 훈련 데이터에 너무 잘 맞아 새로운 데이터에 대&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/848&quot; data-og-url=&quot;https://dsaint31.tistory.com/848&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cen0H2/hyZNNHqcwg/kahVwjGbLB0w02k2N5GW1k/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/5Ma35/hyZNYa7dkH/ipMTdcagMt8rIZikXyFeoK/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/bVIpwL/hyZNXiXLyj/wieqDLa49bHnEOUr7z65Fk/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/848&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/848&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cen0H2/hyZNNHqcwg/kahVwjGbLB0w02k2N5GW1k/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/5Ma35/hyZNYa7dkH/ipMTdcagMt8rIZikXyFeoK/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/bVIpwL/hyZNXiXLyj/wieqDLa49bHnEOUr7z65Fk/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Regularization&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Regularization 이란?기계 학습과 딥러닝에서 Regularization은 모델이 overfitting(과적합)되지 않도록 도와주는 기법을 의미함.Overfitting(과적합)은 모델이 훈련 데이터에 너무 잘 맞아 새로운 데이터에 대&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://ds31x.tistory.com/352&quot;&gt;https://ds31x.tistory.com/352&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1763609155501&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Classic Regressor (Summary) - regression&quot; data-og-description=&quot;DeepLearning 계열을 제외한 Regressor 모델들을 간단하게 정리함.https://gist.github.com/dsaint31x/1c9c4a27e1d841098a9fee345363fa59 ML_Regressor_Summary.ipynbML_Regressor_Summary.ipynb. GitHub Gist: instantly share code, notes, and snippets.g&quot; data-og-host=&quot;ds31x.tistory.com&quot; data-og-source-url=&quot;https://ds31x.tistory.com/352&quot; data-og-url=&quot;https://ds31x.tistory.com/352&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bwijy8/hyZObzTDQc/k8GNEx6lWy9i94mfzX2LlK/img.jpg?width=504&amp;amp;height=504&amp;amp;face=0_0_504_504,https://scrap.kakaocdn.net/dn/DWFxj/hyZOdYMqAD/PmMdGRkiEwKfxwaO2uzV0K/img.jpg?width=504&amp;amp;height=504&amp;amp;face=0_0_504_504&quot;&gt;&lt;a href=&quot;https://ds31x.tistory.com/352&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ds31x.tistory.com/352&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bwijy8/hyZObzTDQc/k8GNEx6lWy9i94mfzX2LlK/img.jpg?width=504&amp;amp;height=504&amp;amp;face=0_0_504_504,https://scrap.kakaocdn.net/dn/DWFxj/hyZOdYMqAD/PmMdGRkiEwKfxwaO2uzV0K/img.jpg?width=504&amp;amp;height=504&amp;amp;face=0_0_504_504');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Classic Regressor (Summary) - regression&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;DeepLearning 계열을 제외한 Regressor 모델들을 간단하게 정리함.https://gist.github.com/dsaint31x/1c9c4a27e1d841098a9fee345363fa59 ML_Regressor_Summary.ipynbML_Regressor_Summary.ipynb. GitHub Gist: instantly share code, notes, and snippets.g&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ds31x.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/947&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2025.11.06 - [Programming/ML] - Ridge Regression&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762582418239&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Ridge Regression&quot; data-og-description=&quot;명칭의 유래Ridge: &amp;quot;산등성이&amp;quot; 또는 &amp;quot;융기&amp;quot;를 의미하는 영어 단어L2-Regularization Term 추가 시 loss function의 contour가 융기된 형태로 변형되는 데에서 유래됨.역사적 배경Tikhonov regularization (1963)과 수학&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/947&quot; data-og-url=&quot;https://dsaint31.tistory.com/947&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/2wJL1/hyZNkJZNe1/ZsFnHh7BAsV6XPbvjSpGTK/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/KGT0X/hyZMwLJ2VN/9HvGs927dejKEywCWK20Rk/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/ckYsEJ/hyZNkDd1CF/Mak85fAE8BTB0A6dBFAMz1/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/947&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/947&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/2wJL1/hyZNkJZNe1/ZsFnHh7BAsV6XPbvjSpGTK/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/KGT0X/hyZMwLJ2VN/9HvGs927dejKEywCWK20Rk/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314,https://scrap.kakaocdn.net/dn/ckYsEJ/hyZNkDd1CF/Mak85fAE8BTB0A6dBFAMz1/img.jpg?width=720&amp;amp;height=314&amp;amp;face=0_0_720_314');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Ridge Regression&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;명칭의 유래Ridge: &quot;산등성이&quot; 또는 &quot;융기&quot;를 의미하는 영어 단어L2-Regularization Term 추가 시 loss function의 contour가 융기된 형태로 변형되는 데에서 유래됨.역사적 배경Tikhonov regularization (1963)과 수학&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/946&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2025.11.02 - [Programming/ML] - Subgradient 와 Gradient Descent&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762582437512&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Subgradient 와 Gradient Descent&quot; data-og-description=&quot;Prerequistes모델 학습의 목표는손실 함수 $L(\boldsymbol{\omega}, \textbf{X})$를 최소화하는파라미터 $\boldsymbol{\omega}$를 찾는 것임.이때 가장 기본적인 최적화 방법은 Gradient Descent(경사 하강법)임:$$\boxed{\bo&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/946&quot; data-og-url=&quot;https://dsaint31.tistory.com/946&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bPA0Tw/hyZMDxjZ00/ngeJaKIgJqNKa4W7dDuw40/img.jpg?width=800&amp;amp;height=414&amp;amp;face=0_0_800_414,https://scrap.kakaocdn.net/dn/b4J7yh/hyZMzuXXCV/TyWS8k3V7qTpKJ7F7ooKT1/img.jpg?width=800&amp;amp;height=414&amp;amp;face=0_0_800_414,https://scrap.kakaocdn.net/dn/c3UjkH/hyZNqi85yd/wQcwqskUZOh9LoD0ozQQ6k/img.jpg?width=1373&amp;amp;height=711&amp;amp;face=0_0_1373_711&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/946&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/946&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bPA0Tw/hyZMDxjZ00/ngeJaKIgJqNKa4W7dDuw40/img.jpg?width=800&amp;amp;height=414&amp;amp;face=0_0_800_414,https://scrap.kakaocdn.net/dn/b4J7yh/hyZMzuXXCV/TyWS8k3V7qTpKJ7F7ooKT1/img.jpg?width=800&amp;amp;height=414&amp;amp;face=0_0_800_414,https://scrap.kakaocdn.net/dn/c3UjkH/hyZNqi85yd/wQcwqskUZOh9LoD0ozQQ6k/img.jpg?width=1373&amp;amp;height=711&amp;amp;face=0_0_1373_711');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Subgradient 와 Gradient Descent&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Prerequistes모델 학습의 목표는손실 함수 $L(\boldsymbol{\omega}, \textbf{X})$를 최소화하는파라미터 $\boldsymbol{\omega}$를 찾는 것임.이때 가장 기본적인 최적화 방법은 Gradient Descent(경사 하강법)임:$$\boxed{\bo&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/ML</category>
      <category>l1</category>
      <category>norm</category>
      <category>regularization</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/948</guid>
      <comments>https://dsaint31.tistory.com/948#entry948comment</comments>
      <pubDate>Sat, 8 Nov 2025 15:14:50 +0900</pubDate>
    </item>
    <item>
      <title>Ridge Regression</title>
      <link>https://dsaint31.tistory.com/947</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mjme2/dJMcaawPO9C/fJI8UKen14xcMIr77UEJ0K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mjme2/dJMcaawPO9C/fJI8UKen14xcMIr77UEJ0K/img.jpg&quot; data-alt=&quot;https://medium.com/@vikasdod/demystifying-lasso-and-ridge-regression-key-differences-and-usage-61d1c4780412&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mjme2/dJMcaawPO9C/fJI8UKen14xcMIr77UEJ0K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fmjme2%2FdJMcaawPO9C%2FfJI8UKen14xcMIr77UEJ0K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;262&quot; data-origin-width=&quot;720&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://medium.com/@vikasdod/demystifying-lasso-and-ridge-regression-key-differences-and-usage-61d1c4780412&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;명칭의 유래&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Ridge&lt;/b&gt;: &quot;산등성이&quot; 또는 &quot;융기&quot;를 의미하는 영어 단어&lt;/li&gt;
&lt;li&gt;L2-Regularization Term 추가 시 loss function의&lt;u&gt; contour가 융기된 형태로 변형&lt;/u&gt;되는 데에서 유래됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;역사적 배경&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Tikhonov regularization (1963)&lt;/b&gt;과 수학적으로 동일&lt;/li&gt;
&lt;li&gt;개발 시기:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;1943년: Andrey Tikhonov가 ***관측값이 조금 변했을 때 복원된 해가 크게 변하지 않는다*** 는 inverse mapping(역사상)의 안정성 문제를 다루면서 Tikhonov regularization의 이론적 출발점을 제시&amp;nbsp;&lt;/li&gt;
&lt;li&gt;1963년: Andrey Tikhonov가 ill-posed 문제 해결용 regularization(정규화로도 번역되나 개인적으론 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;정칙화&lt;/b&gt;&lt;/span&gt;를 선호) 방법 개발&lt;/li&gt;
&lt;li&gt;1970년: Hoerl과 Kennard가 통계학 맥락에서 독립적으로 재발견&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;분야별 명칭:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;수치해석: Tikhonov regularization&lt;/li&gt;
&lt;li&gt;통계학/머신러닝: &lt;b&gt;Ridge regression&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/400&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.12.02 - [.../Math] - [Math] ill-posed, well-posed, ill-conditioned, well-conditioned matrix (or problem)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762580064391&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] ill-posed, well-posed, ill-conditioned, well-conditioned matrix (or problem)&quot; data-og-description=&quot;&amp;quot;well-posed&amp;quot; matrix and &amp;quot;well-conditioned&amp;quot; matrix$A\textbf{x}=\textbf{b}$와 같은 Linear System (연립방정식)에서 system matrix $A$가 invertible하다면 해당 linear system(달리 말하면 연립방정식)이 well-posed라고 할 수 있다.하&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/400&quot; data-og-url=&quot;https://dsaint31.tistory.com/400&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/r7uNu/hyZMt2yIGA/NtL6wdsygjU4gVnBIJUKl0/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303,https://scrap.kakaocdn.net/dn/fcBu4/hyZNbA6q2s/0XPbCyiU3UZJSiiVrqti6k/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303,https://scrap.kakaocdn.net/dn/jftxf/hyZNqcmhCj/Ln0eYPWEzi0TBSchaViP10/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/400&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/400&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/r7uNu/hyZMt2yIGA/NtL6wdsygjU4gVnBIJUKl0/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303,https://scrap.kakaocdn.net/dn/fcBu4/hyZNbA6q2s/0XPbCyiU3UZJSiiVrqti6k/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303,https://scrap.kakaocdn.net/dn/jftxf/hyZNqcmhCj/Ln0eYPWEzi0TBSchaViP10/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] ill-posed, well-posed, ill-conditioned, well-conditioned matrix (or problem)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&quot;well-posed&quot; matrix and &quot;well-conditioned&quot; matrix$A\textbf{x}=\textbf{b}$와 같은 Linear System (연립방정식)에서 system matrix $A$가 invertible하다면 해당 linear system(달리 말하면 연립방정식)이 well-posed라고 할 수 있다.하&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고: L1 vs L2 정칙화(정규화)의 특성&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;&lt;span style=&quot;font-family: 'Noto Serif KR';&quot;&gt;L-p Norm에서 p=1,2 인 경우가 &lt;br /&gt;주로&amp;nbsp; Regularization(정칙화)에 사용됨.&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Normalization과 Regularization을 구분하기 위해 &lt;br /&gt;normalization은 정규화로, regularization은 정칙화로 사용하는 것을 선호하나 &lt;br /&gt;많은 경우 정규화로 사용되므로 문맥에 맞게 해석해야함.&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;a href=&quot;https://bme808.blogspot.com/2022/10/norm.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://bme808.blogspot.com/2022/10/norm.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762580392635&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Norm (노름)&quot; data-og-description=&quot;Vector 및 matrix의 크기에 해당하는 양(magnitude) 을 구하는 연산 으로 사용됨. The higher the norm index ($p$값이 클 경우), the more it focuses on large values and neg...&quot; data-og-host=&quot;bme808.blogspot.com&quot; data-og-source-url=&quot;https://bme808.blogspot.com/2022/10/norm.html&quot; data-og-url=&quot;http://bme808.blogspot.com/2022/10/norm.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/Os3Yc/hyZNpR3Pb7/dBgZVKXKs5nYFR2kXEOOok/img.jpg?width=523&amp;amp;height=630&amp;amp;face=0_0_523_630&quot;&gt;&lt;a href=&quot;https://bme808.blogspot.com/2022/10/norm.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://bme808.blogspot.com/2022/10/norm.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/Os3Yc/hyZNpR3Pb7/dBgZVKXKs5nYFR2kXEOOok/img.jpg?width=523&amp;amp;height=630&amp;amp;face=0_0_523_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Norm (노름)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Vector 및 matrix의 크기에 해당하는 양(magnitude) 을 구하는 연산 으로 사용됨. The higher the norm index ($p$값이 클 경우), the more it focuses on large values and neg...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;bme808.blogspot.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/827&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.10.02 - [Programming/ML] - [ML] Minkowski Distance (L-p Norm)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762580771302&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Minkowski Distance (L-p Norm)&quot; data-og-description=&quot;Minkowski 거리는L-p Norm의 한 형태두 개의 점 사이의 distance(거리)를 일반화한 metric.distance의 개념은 다음 접은 글을 참고:더보기https://dsaint31.me/mkdocs_site/DIP/cv2/etc/dip_metrics/#distance-function-or-metric BME228&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/827&quot; data-og-url=&quot;https://dsaint31.tistory.com/827&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dUTEvx/hyZNdZZ3fa/Id6TYHJcj7iRt016uoFpOk/img.png?width=800&amp;amp;height=566&amp;amp;face=0_0_800_566,https://scrap.kakaocdn.net/dn/ef4BFx/hyZMxDUHBB/4n7KKxqvmTvW5hrcLy68S0/img.png?width=800&amp;amp;height=566&amp;amp;face=0_0_800_566,https://scrap.kakaocdn.net/dn/hJ0Nf/hyZNdFJb4n/gsvwQKScn0KQjX9FpEX661/img.png?width=850&amp;amp;height=602&amp;amp;face=0_0_850_602&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/827&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/827&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dUTEvx/hyZNdZZ3fa/Id6TYHJcj7iRt016uoFpOk/img.png?width=800&amp;amp;height=566&amp;amp;face=0_0_800_566,https://scrap.kakaocdn.net/dn/ef4BFx/hyZMxDUHBB/4n7KKxqvmTvW5hrcLy68S0/img.png?width=800&amp;amp;height=566&amp;amp;face=0_0_800_566,https://scrap.kakaocdn.net/dn/hJ0Nf/hyZNdFJb4n/gsvwQKScn0KQjX9FpEX661/img.png?width=850&amp;amp;height=602&amp;amp;face=0_0_850_602');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Minkowski Distance (L-p Norm)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Minkowski 거리는L-p Norm의 한 형태두 개의 점 사이의 distance(거리)를 일반화한 metric.distance의 개념은 다음 접은 글을 참고:더보기https://dsaint31.me/mkdocs_site/DIP/cv2/etc/dip_metrics/#distance-function-or-metric BME228&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Ridge Regression (L2 정규화)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Object Function (loss): $L = \displaystyle \frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y}_i)^2 + \lambda\sum_{j=1}^{n}w_j^2$
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$m$: sample size&lt;/li&gt;
&lt;li&gt;$n$: number of features&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;특징&lt;/b&gt;: 모든 weight를 균일하게 작게 만듦&lt;/li&gt;
&lt;li&gt;Gradient: $\frac{\partial L}{\partial w_j} = -\frac{2}{m}\sum_{i=1}^{m}(y_i - \hat{y}_i)x_{ij} + 2\lambda w_j$&lt;/li&gt;
&lt;li&gt;결과: weight가 0에 가까워지지만 정확히 0이 되지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Lasso Regression (L1 정규화)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Object Function (loss): $L = \displaystyle \frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y}_i)^2 + \lambda\sum_{j=1}^{n}|w_j|$&lt;/li&gt;
&lt;li&gt;&lt;b&gt;특징&lt;/b&gt;: 일부 weight를 정확히 0으로 만듦 (sparse solution)&lt;/li&gt;
&lt;li&gt;Gradient: $\frac{\partial L}{\partial w_j} = -\frac{2}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)x_{ij} + \lambda \cdot \text{sign}(w_j)$&lt;/li&gt;
&lt;li&gt;결과: feature selection 효과&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;기하학적 해석&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;L2 (Ridge)&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Regularization(제약) 영역이 원(circle)형: &lt;u&gt;&lt;b&gt;모든 방향으로 균등한 패널티&lt;/b&gt;&lt;/u&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;모든 weight가 비슷한 크기로 축소&lt;/b&gt;&lt;/span&gt;됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;L1 (Lasso)&lt;/b&gt;:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Regularization(제약)이 다이아몬드형: 모서리에서 해를 찾을 가능성 높음&lt;/li&gt;
&lt;li&gt;일부 weight가 정확히 0이 됨: &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;sparse weights&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Regularization Term을 샘플 수로 나누는 이유&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Regularization Term을 나누지 않은 경우:&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$L = \displaystyle \frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y}_i)^2 + \lambda\sum_{j=1}^{n}w_j^2$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MSE는 $\frac{1}{m}$로 평균을 내어 &lt;u&gt;스케일 유지&lt;/u&gt;.&lt;/li&gt;
&lt;li&gt;규제항은 $m$ (=sample size)과 &lt;u&gt;무관하게 고정값&lt;/u&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;결과&lt;/b&gt;: $m$이 커질수록 전체 loss에서 regularization term(규제항)의 상대적 영향력이 변하게 됨&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;구체적 예시&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;gradient 계산 시:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터 항: $\displaystyle \frac{2}{m} \times \sum_{i=1}^{m}(\text{예측오차} \times x_i)$&lt;/li&gt;
&lt;li&gt;규제항: $2\lambda w$ : 항상 고정됨&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 regularization term은 sample size $m$과 무관하게 고정된 형태이나 데이터와 얼마나 잘 fit되었는지를 나타내는 term은 $\frac{1}{m}$의 영향을 받음: $m$이 변하면 두 term의 상대적 영향력이 변하게 됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만, 가급적&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;샘플수 $m$ 에 상관없이 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;데이터 항과 규제항의 영향을 일정하게 유지해야 함.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;해결책&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$L = \displaystyle \frac{1}{m}\sum_{i=1}^{m}(y_i - \hat{y}_i)^2 + \frac{\lambda}{m}\sum_{j=1}^{n}w_j^2$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\lambda$의 의미가 데이터 크기와 무관하게 일정 유지&lt;/li&gt;
&lt;li&gt;하이퍼파라미터 튜닝 시 일관성 확보&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Bias를 규제하지 않는 이유&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;일반적인 규제항&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\frac{\lambda}{m}\sum_{j=1}^{n}w_j^2 \quad \text{(bias } b \text{는 제외)}$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;세 가지 핵심 이유&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. 평행이동 불변성&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;모든 타겟값에 상수 $c$를 더해도 예측 성능 동일해야 함&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Bias 규제 시 이 성질 위반&lt;/li&gt;
&lt;li&gt;데이터의 스케일에 독립적인 모델 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. Centering Perspective (중심화 관점)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;u&gt;&lt;b&gt;데이터를 평균 0으로 중심화 (zero-mean centering)&lt;/b&gt;&lt;/u&gt;하면 bias는 자연스럽게 0 이 됨.&lt;/li&gt;
&lt;li&gt;이 경우, 원래 스케일 (or 평균)로 복원 시에만 bias 필요&lt;/li&gt;
&lt;li&gt;수식: $\bar{y} = 0 \Rightarrow b = 0$&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. 실용적 고려사항&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Bias는 모델 복잡도와 실제로 무관&lt;/b&gt;&lt;/span&gt; (regression의 경우 &lt;u&gt;단순히 평균값&lt;/u&gt;에 해당)&lt;/li&gt;
&lt;li&gt;over-fitting(과적합)은 주로 weight의 크기에서 발생 .&lt;/li&gt;
&lt;li&gt;Bias 제한 시 문제:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터 평균값 예측 실패&lt;/li&gt;
&lt;li&gt;모델의 표현력 불필요하게 제한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;요약&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Ridge regression은 안정적이고 해석 가능한 regularization(정칙화 방법)&lt;/li&gt;
&lt;li&gt;설계 선택들은 수학적 원리와 실용적 고려사항의 균형&lt;/li&gt;
&lt;li&gt;L1 대비 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;모든 특성을 유지하면서 균일하게 weight 축소&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;데이터 크기에 무관한 일관된 성능을 보장하려면,
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;regularization만으로는 충분하지 않으며&lt;/li&gt;
&lt;li&gt;별도의 적절한 feature scaling이 필요함.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;같이보면 좋은 자료들&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/848&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2024.10.27 - [Programming/ML] - [ML] Regularization&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775133428098&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Regularization&quot; data-og-description=&quot;Regularization 이란?기계 학습과 딥러닝에서 Regularization은 모델이 overfitting(과적합)되지 않도록 도와주는 기법을 의미함.Overfitting(과적합)은 모델이 훈련 데이터에 너무 잘 맞아 새로운 데이터에 대&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/848&quot; data-og-url=&quot;https://dsaint31.tistory.com/848&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/mtBGp/dJMb81fSYYt/kYCN7XqvFMQpwtLElNFV8K/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/PDUBt/dJMb87f6P3N/Q1RRAUZILpOVArpiNQUBz0/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/bz2VRi/dJMb9fZvG3F/IqFEMsZ3EqXzdKSb8iVPk1/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/848&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/848&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/mtBGp/dJMb81fSYYt/kYCN7XqvFMQpwtLElNFV8K/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/PDUBt/dJMb87f6P3N/Q1RRAUZILpOVArpiNQUBz0/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248,https://scrap.kakaocdn.net/dn/bz2VRi/dJMb9fZvG3F/IqFEMsZ3EqXzdKSb8iVPk1/img.png?width=423&amp;amp;height=248&amp;amp;face=0_0_423_248');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Regularization&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Regularization 이란?기계 학습과 딥러닝에서 Regularization은 모델이 overfitting(과적합)되지 않도록 도와주는 기법을 의미함.Overfitting(과적합)은 모델이 훈련 데이터에 너무 잘 맞아 새로운 데이터에 대&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://ds31x.tistory.com/352&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://ds31x.tistory.com/352&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1775133431610&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Classic Regressor (Summary) - regression&quot; data-og-description=&quot;DeepLearning 계열을 제외한 Regressor 모델들을 간단하게 정리함.https://gist.github.com/dsaint31x/1c9c4a27e1d841098a9fee345363fa59 ML_Regressor_Summary.ipynbML_Regressor_Summary.ipynb. GitHub Gist: instantly share code, notes, and snippets.g&quot; data-og-host=&quot;ds31x.tistory.com&quot; data-og-source-url=&quot;https://ds31x.tistory.com/352&quot; data-og-url=&quot;https://ds31x.tistory.com/352&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/gyWxE/dJMb9lk7u1m/OgWBN9vxVUkmH9OgD93XKK/img.jpg?width=504&amp;amp;height=504&amp;amp;face=0_0_504_504,https://scrap.kakaocdn.net/dn/h8pRs/dJMb9hC1FHs/tAWTfEKxNmqI0smBnIigl1/img.jpg?width=504&amp;amp;height=504&amp;amp;face=0_0_504_504&quot;&gt;&lt;a href=&quot;https://ds31x.tistory.com/352&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ds31x.tistory.com/352&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/gyWxE/dJMb9lk7u1m/OgWBN9vxVUkmH9OgD93XKK/img.jpg?width=504&amp;amp;height=504&amp;amp;face=0_0_504_504,https://scrap.kakaocdn.net/dn/h8pRs/dJMb9hC1FHs/tAWTfEKxNmqI0smBnIigl1/img.jpg?width=504&amp;amp;height=504&amp;amp;face=0_0_504_504');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Classic Regressor (Summary) - regression&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;DeepLearning 계열을 제외한 Regressor 모델들을 간단하게 정리함.https://gist.github.com/dsaint31x/1c9c4a27e1d841098a9fee345363fa59 ML_Regressor_Summary.ipynbML_Regressor_Summary.ipynb. GitHub Gist: instantly share code, notes, and snippets.g&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ds31x.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Programming/ML</category>
      <category>LASSO</category>
      <category>ML</category>
      <category>norm</category>
      <category>regrssion</category>
      <category>regularization</category>
      <category>Ridge</category>
      <category>Tikhonov</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/947</guid>
      <comments>https://dsaint31.tistory.com/947#entry947comment</comments>
      <pubDate>Thu, 6 Nov 2025 11:55:53 +0900</pubDate>
    </item>
    <item>
      <title>Subgradient 와 Gradient Descent</title>
      <link>https://dsaint31.tistory.com/946</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_3575.jpeg&quot; data-origin-width=&quot;1373&quot; data-origin-height=&quot;711&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/L4OZB/dJMcahW0K5N/6rjkrGm66QiU9y37aBKzU1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/L4OZB/dJMcahW0K5N/6rjkrGm66QiU9y37aBKzU1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/L4OZB/dJMcahW0K5N/6rjkrGm66QiU9y37aBKzU1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FL4OZB%2FdJMcahW0K5N%2F6rjkrGm66QiU9y37aBKzU1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;207&quot; data-filename=&quot;IMG_3575.jpeg&quot; data-origin-width=&quot;1373&quot; data-origin-height=&quot;711&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Prerequistes&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모델 학습의 목표는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;손실 함수 $L(\boldsymbol{\omega}, \textbf{X})$를 최소화하는&lt;/li&gt;
&lt;li&gt;파라미터 $\boldsymbol{\omega}$를 찾는 것임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 가장 기본적인 최적화 방법은 &lt;b&gt;Gradient Descent(경사 하강법)임:&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boxed{\boldsymbol{\omega}_{t+1} = \boldsymbol{\omega}_t - \eta \nabla_{\boldsymbol{\omega}} L(\boldsymbol{\omega}_t, \textbf{X})}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;where,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\boldsymbol{\omega}_t$: $t$번째 스텝의 파라미터&lt;/li&gt;
&lt;li&gt;$\eta &amp;gt; 0$: 학습률(learning rate)&lt;/li&gt;
&lt;li&gt;$\nabla_{\boldsymbol{\omega}} L(\boldsymbol{\omega}_t, \textbf{X})$: 손실의 gradient&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 식은 loss function의 증가 방향과 반대 방향으로 parameters를 갱신함으로써 loss function을 점차 감소시킴.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a style=&quot;background-color: #e6f5ff; color: #0070d1; text-align: start;&quot; href=&quot;https://dsaint31.tistory.com/633&quot;&gt;2023.10.19 - [Programming] - [ML] Gradient Descent Method: 경사하강법&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1762057772685&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[ML] Gradient Descent Method: 경사하강법&quot; data-og-description=&quot;Gradient Descent Method (경사하강법) : 1. 정의 및 수식Steepest Gradient Descent Method로도 불리는Gradient Descent Method(경사하강법)는 여러 Optimization 방법 중 가장 많이 사용되는 방법들 중 하나임.training set $X$&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/633&quot; data-og-url=&quot;https://dsaint31.tistory.com/633&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/xEQ6O/hyZMHMoAHu/Jve38EBgk9FysZSLWg9DA1/img.png?width=800&amp;amp;height=401&amp;amp;face=0_0_800_401,https://scrap.kakaocdn.net/dn/txRuW/hyZMwD6Oeg/jHvr81IuRu1s0y46KXCA90/img.png?width=800&amp;amp;height=401&amp;amp;face=0_0_800_401,https://scrap.kakaocdn.net/dn/q26IU/hyZMH6HFt4/R45G7j0n0KxNbdy0MWOb7K/img.png?width=1212&amp;amp;height=608&amp;amp;face=0_0_1212_608&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/633&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/633&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/xEQ6O/hyZMHMoAHu/Jve38EBgk9FysZSLWg9DA1/img.png?width=800&amp;amp;height=401&amp;amp;face=0_0_800_401,https://scrap.kakaocdn.net/dn/txRuW/hyZMwD6Oeg/jHvr81IuRu1s0y46KXCA90/img.png?width=800&amp;amp;height=401&amp;amp;face=0_0_800_401,https://scrap.kakaocdn.net/dn/q26IU/hyZMH6HFt4/R45G7j0n0KxNbdy0MWOb7K/img.png?width=1212&amp;amp;height=608&amp;amp;face=0_0_1212_608');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[ML] Gradient Descent Method: 경사하강법&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Gradient Descent Method (경사하강법) : 1. 정의 및 수식Steepest Gradient Descent Method로도 불리는Gradient Descent Method(경사하강법)는 여러 Optimization 방법 중 가장 많이 사용되는 방법들 중 하나임.training set $X$&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;미분이 되지 않는 loss 함수의 문제&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 손실 함수 $L(\boldsymbol{\omega}, \textbf{X})$이 항상 매끄럽게 미분 가능한 것은 아님.&lt;br /&gt;예를 들어 L1 정규화 항이 포함된 손실은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$L(\boldsymbol{\omega}, \textbf{X}) = \text{loss}(\boldsymbol{\omega}, \textbf{X}) + \lambda |\boldsymbol{\omega}|_1$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 $\|\boldsymbol{\omega}\|_1 = \sum_i |\omega_i|$는&lt;br /&gt;$\omega_i = 0$에서 미분을 할 수 없음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;즉, $\nabla_{\boldsymbol{\omega}} L(\boldsymbol{\omega}_t, \textbf{X})$를 계산할 수 없는 구간이 존재함.&lt;br /&gt;이를 해결하기 위해 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Subgradient 개념이 도입&lt;/b&gt;&lt;/span&gt;됨.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Subgradient의 정의&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Convex(볼록) 함수&lt;/b&gt; $L(\boldsymbol{\omega})$에 대해 벡터 $\textbf{g}$가 다음 부등식을 만족하면,&lt;br /&gt;$\textbf{g}$를 $L$의 Subgradient라 부름:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$L(\textbf{y}) \ge L(\textbf{x}) + \textbf{g}^\mathsf{T} (\textbf{y} - \textbf{x}), \quad \forall \textbf{y}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 식은 $\textbf{g}$가&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;함수 $L$의 그래프를&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;u&gt;&lt;b&gt;아래(sub-)에서 지지(support) 하는 선형 함수의 기울기&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;임을 의미&lt;/li&gt;
&lt;li&gt;모든 $\textbf{y}$에서 구해지므로 convex function에서만 subgradient는 존재함:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;non-convex의 경우엔 Clake subgradient 와 같은 확장된 도구 필요.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;참고로 Gradient에선 부등호가 아닌 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;등호가 성립&lt;/b&gt;&lt;/span&gt;됨.&lt;br /&gt;$$L(\textbf{y}) = L(\textbf{x}) +\nabla L(\textbf{x})^\mathsf{T}(\textbf{y}-\textbf{x})$$&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 모든 $\textbf{g}$의 집합을 (Convex) Subdifferential (=subgradient set)이라 하며,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\partial L(\textbf{x}) = \{ \textbf{g} \mid L(\textbf{y}) \ge L(\textbf{x}) + \textbf{g}^\mathsf{T}(\textbf{y} - \textbf{x}),\ \forall \textbf{y} \}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;으로 정의함.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Subgradient Descent - 미분불가 함수로의 확장&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Subgradient 개념을 이용하면,&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;미분되지 않는 covex 함수&lt;/b&gt;&lt;/span&gt;에서 다음과 같이 Gradient Descent의 형태를 그대로 유지하면서 최적화 수행이 가능:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boxed{\boldsymbol{\omega}_{t+1} = \boldsymbol{\omega}_t - \eta \textbf{g}_t, \quad \textbf{g}_t \in \partial L(\boldsymbol{\omega}_t, \textbf{X})}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;where,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\textbf{g}_t$: $L(\boldsymbol{\omega}_t, \textbf{X})$의 Subgradient&lt;/li&gt;
&lt;li&gt;미분 가능한 경우: $\textbf{g}_t = \nabla_{\boldsymbol{\omega}} L(\boldsymbol{\omega}_t, \textbf{X})$&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Subgradient Descent는&lt;/li&gt;
&lt;li&gt;Gradient Descent를 미분 불가 함수로 확장한 일반화 형태라고 할 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;내적 $\textbf{g}^\mathsf{T}(\textbf{y} - \textbf{x})$의 의미&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Subgradient 정의에 inner product(내적)이 사용되는데&amp;nbsp;&lt;br /&gt;inner product가 이루어지는 항에서 loss function의 변화량을 기울기 방향으로 투영(projection) 함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\textbf{g}$: 함수의 증가 방향&lt;/li&gt;
&lt;li&gt;$(\textbf{y} - \textbf{x})$: 이동 방향&lt;/li&gt;
&lt;li&gt;$\textbf{g}^\mathsf{T}(\textbf{y} - \textbf{x})$: 해당 방향으로의 선형 근사 변화량&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 inner product은 &amp;ldquo;기울기 벡터(gradient or subgradient)가 함수 변화에 미치는 선형적 영향&amp;rdquo;을 표현함.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;ldquo;sub&amp;rdquo;의 의미&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Subgradient의 &amp;ldquo;sub&amp;rdquo;는 단순히 &amp;ldquo;부분&amp;rdquo;이 아니라&lt;br /&gt;&lt;b&gt;&amp;ldquo;함수 그래프를 아래에서(subordinate) 지지&amp;rdquo;&lt;/b&gt;한다는 의미를 지님.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한, gradient의 부재 영역에서도 사용되므로&lt;br /&gt;&amp;ldquo;gradient의 일반화(generalization)&amp;rdquo; 혹은 &amp;ldquo;대체(substitute)&amp;rdquo; 개념으로도 이해할 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;예시 &amp;mdash; L1 정규화 항의 Subgradient&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;L1 항 $|\omega_i|$의 Subgradient는 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\frac{\partial |\omega_i|}{\partial \omega_i} =&lt;br /&gt;\begin{cases}&lt;br /&gt;1, &amp;amp; \omega_i &amp;gt; 0 \\&lt;br /&gt;-1, &amp;amp; \omega_i &amp;lt; 0 \\&lt;br /&gt;[-1, 1], &amp;amp; \omega_i = 0&lt;br /&gt;\end{cases}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 각 symbol의 의미는 다음과 같음:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;parameter vector $\boldsymbol{\omega}$의 $i$번째 component가 $\omega_i$임.&lt;/li&gt;
&lt;li&gt;$t$: iteration index.&lt;/li&gt;
&lt;li&gt;$i$: vector에서의 component index&lt;/li&gt;
&lt;li&gt;$\omega_{t,i}$: $t$-iteration에서의 $i$번째 weight&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 전체 손실에 대한 update equation은 다음과 같음:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\omega_{t+1,i} = \omega_{t,i} - \eta g_{t,i}, \quad g_{t,i} \in \frac{\partial L}{\partial \omega_i}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 식을 통해 $\omega_i = 0$ 인 미분 불가 구간에서도&lt;br /&gt;가능한 여러 방향 중 하나를 선택하여 하강할 수 있음.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Converge Property&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Subgradient Descent는 gradient descent (GD) 에 비해 수렴 속도가 느림.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;convex인 경우엔 다음의 적절한 조건(diminishing learning rate)이 있을 경우 최적점으로 수렴함.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\eta_t &amp;gt; 0$, $\eta_t \to 0$, $\sum^\infty_{t=1} \eta_t = \infty$&lt;/li&gt;
&lt;li&gt;이를 만족하는 learning rate $\eta$를 diminishing learning rate라고 하며 $\eta_t = \frac{a}{\sqrt{t}}$ 등이 대표적 예임.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;learning rate 조건이 상수인 경우엔 optimum 근처에서 진동할 수 있으므로 diminishing learning rate를 사용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;table data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th align=&quot;center&quot;&gt;항목&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;Gradient Descent&lt;/th&gt;
&lt;th align=&quot;center&quot;&gt;Subgradient Descent&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;적용 대상&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Differentiable Loss&lt;br /&gt;(Convex인 경우 항상 global optimum 에 도달)&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;Non-differentiable Convex Loss&lt;br /&gt;(Non-smooth convex loss)&lt;br /&gt;(Convex loss with non-differentiable points)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;업데이트&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;$\boldsymbol{\omega}_{t+1} = \boldsymbol{\omega}_t - \eta \nabla_{\boldsymbol{\omega}} L(\boldsymbol{\omega}_t)$&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;$\boldsymbol{\omega}_{t+1} = \boldsymbol{\omega}_t - \eta \textbf{g}_t,\quad \textbf{g}_t \in \partial L(\boldsymbol{\omega}_t)$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;의미&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;gradient 방향으로 이동&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;subgradient는&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;supporting hyperplane from below&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;의 기울기&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;&quot;가능한 subgradient 중 하나&quot;를 선택해 이동&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Gradient Descent의 일반화: Subgradient Descent&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Subgradient는 Gradient를 미분불가 함수로 확장한 일반화된 개념.&lt;br /&gt;그에 따른 학습식은 Gradient Descent와 동일한 형태를 유지함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boxed{&lt;br /&gt;\boldsymbol{\omega}_{t+1} = \boldsymbol{\omega}_t - \eta \textbf{g}_t, \quad \textbf{g}_t \in \partial L(\boldsymbol{\omega}_t, \textbf{X})}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론적으로,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Subgradient Descent는&lt;br /&gt;미분이 불가능한 영역에서도 &amp;ldquo;함수값이 감소하는 방향&amp;rdquo;을 정의하여&lt;br /&gt;Gradient Descent의 아이디어를 확장 및 일반화한 방법임.&lt;/p&gt;</description>
      <category>Programming/ML</category>
      <category>gradient</category>
      <category>math</category>
      <category>Optimization</category>
      <category>subgradient</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/946</guid>
      <comments>https://dsaint31.tistory.com/946#entry946comment</comments>
      <pubDate>Sun, 2 Nov 2025 13:47:32 +0900</pubDate>
    </item>
    <item>
      <title>Bias-Variance Tradeoff</title>
      <link>https://dsaint31.tistory.com/945</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Supervised Learning의 궁극적인 목표&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;학습에 사용된 데이터 뿐만 아니라,&lt;/li&gt;
&lt;li&gt;한 번도 보지 못한 새로운 데이터에 대해서도 정확한 예측을 수행하는 능력, 즉&lt;/li&gt;
&lt;li&gt;&lt;b&gt;일반화 성능(generalization performance)&lt;/b&gt;을 높이는 것임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모델이 예측한 값과 실제 값 사이의 차이, 즉 예측 오류는 단 하나의 원인으로 발생하지 않으며, 이 오류는 세 가지 주요 구성 요소로 분해될 수 있음:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Bias (편향)&lt;/li&gt;
&lt;li&gt;Variance (분산)&lt;/li&gt;
&lt;li&gt;Irreducible Error (줄일 수 없는 오류)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 세 가지 오류에 대한 설명을 하고&lt;/li&gt;
&lt;li&gt;이들 중 Bias와 Variance가 모델의 복잡도를 축으로 할 때, trade-off (상충관계)를 갖는 이유를 소개함.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 예측 오류의 세 가지 구성 요소&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예측 오류를 구성하는 세 가지 핵심 요소를 각각 정의하고, 그 원인과 결과를 살펴보기 위해 한 가지 가정을 해보겠음.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현실 세계에서 100개의 서로 다른 학습 데이터셋을 수집(dataset이 100개임)&lt;/li&gt;
&lt;li&gt;각 데이터셋으로 100개의 개별 모델을 학습시킬 수 있다고 가정.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1.1. Bias Error&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;편향(Bias)&lt;/b&gt;이란,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;학습시킨 100개 모델 예측값들의 평균(mean)이 &lt;b&gt;실제 정답(true function)&lt;/b&gt;에서 얼마나 벗어나 있는지에 해당.&lt;/li&gt;
&lt;li&gt;이는 모델이 실제 정답에 대해 가지는 일종의 &lt;b&gt;체계적인 오차&lt;/b&gt; 임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;bias는 모델의 근본적인 한계 (모델이 기반으로 삼는 가정등이 실제 data에서 어긋나는 경우 등)에서 비롯되는 error임.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;때문에, bias는 더 많은 데이터로 학습시킨다 해도 줄어들지 않는 error임.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;bias는 모델 자체가 가진 잘못된 가정 및 데이터의 한계(유용하지 않은 feature로 구성) 때문에 발생.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;잘못된 가정과 대표적이지 않은 데이터:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현실의 복잡한 비선형 관계를 선형 모델로만 가정하거나,&lt;/li&gt;
&lt;li&gt;실제 유용하지 않은 feature로만 구성된 학습 데이터(representive data가 아님)로 인해 발생.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;대표적인 예: 단순한 모델
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델의 파라미터 수가 적어&lt;/li&gt;
&lt;li&gt;데이터의 복잡한 패턴을 모두 담아내지 못하는 경우 편향이 높아짐: under-fit.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 높은 bias를 가진 모델은 '고집이 셉니다' (무식하고 고집이 센 사람을 생각).&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;때문에, 학습 데이터셋($D$)이 조금 바뀌더라도 모델의 파라메터들이 거의 변하지 않음.&lt;/li&gt;
&lt;li&gt;단순한 모델의 경우, 학습 데이터에서 가장 큰 경향성 만을 포착하여 기억하기 때문임.&lt;/li&gt;
&lt;li&gt;모델이 문제를 푸는데 중요한 데이터의 핵심적인 경향들을 학습하기에 복잡도가 떨어질 경우&lt;/li&gt;
&lt;li&gt;제대로 학습하지 못하는 과소적합(Underfitting) 상태가 됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1.2. Variance Error (분산 에러)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;분산(Variance)&lt;/b&gt;이란,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;100개의 서로 다른 데이터셋으로 학습시킨 모델들이 하나의 입력값에 대해 얼마나 서로 다른 예측을 하는지를 나타내는 척도.&lt;/li&gt;
&lt;li&gt;이는 다른 데이터셋으로 인해 모델이 얼마나 차이를 가지는지를 나타냄.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;달리 말하면 variance는 모델이 학습 데이터에 얼마나 민감하게 반응하는지를 나타냄.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Variance Error 의 원인과 결과는 다음과 같음:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;원인:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파라미터가 많은 복잡하고 유연한 모델이&lt;/li&gt;
&lt;li&gt;학습 데이터의 미세한 변동이나 노이즈(noise)까지 '패턴'으로 오인하여 과도하게 학습할 때&lt;/li&gt;
&lt;li&gt;variance error가 발생.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;결과:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Variance는 &quot;만약 다른 학습 데이터셋 $D$로 학습했다면 모델 $\hat{f}$가 얼마나 다른 파라메터를 가지는가?&quot;를 측정.&lt;/li&gt;
&lt;li&gt;Varaiance가 높은 모델은 불안정하여 학습 데이터가 조금만 바뀌어도 완전히 다른 모델이 되는 문제점을 가짐.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;높은 Variance는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델이 학습 데이터에만 지나치게 최적화되는 &lt;b&gt;과대적합(Overfitting)&lt;/b&gt; 을 유발함을 의미함.&lt;/li&gt;
&lt;li&gt;이는 새로운 데이터 (학습데이터가 아닌 testset에서)에 대한 예측 성능 저하로 이어짐.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1.3. 줄일 수 없는 오류 (Irreducible Error)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;줄일 수 없는 오류(Irreducible Error)&lt;/b&gt;란,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터 자체에 본질적으로 내재된 무작위성 또는 노이즈(noise) 및 에러로서&lt;/li&gt;
&lt;li&gt;어떠한 학습 알고리즘을 사용하더라도 제거할 수 없는 한계선을 의미함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;데이터는 종종 다음의 수식으로 표현됨.&lt;br /&gt;$$y = f(x) + \epsilon$$&lt;br /&gt;where&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$f(x)$는 우리가 찾으려는 실제 물리적인 패턴,&lt;/li&gt;
&lt;li&gt;$\epsilon$은 측정 오차나 무작위성으로 인한 노이즈.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아무리 완벽한 모델을 학습시켜서 $f(x)$를 최대한 정확히 approximate해도, $\epsilon$으로 인한 오류는 본질적으로 피할 수 없음.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1.4. 한눈에 비교하기: 편향 vs. 분산&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;특징&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;높은 편향 (High Bias)&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;높은 분산 (High Variance)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;모델 복잡도&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;단순함 (낮은 Capacity)&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;복잡함 (높은 Capacity)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;주요 원인&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;지나치게 단순한 가정, 대표적이지 못한 데이터의 한계&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;학습 데이터의 노이즈까지 과도하게 학습&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;발생 문제&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;과소적합 (Underfitting)&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;과대적합 (Overfitting)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;데이터에 대한 민감도&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;학습 데이터가 바뀌어도 모델 변화가 거의 없음&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;학습 데이터가 바뀌면 모델이 크게 변동함 (불안정함)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이들 error를 일으키는 요소들 중에서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Variance와 Bias는 모델의 복잡도라는 하나의 핵심 요소를 축으로 'trade-off' 관계에 놓여 있음.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. Bias-Variance Tradeoff&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최적의 일반화 성능을 얻으려면 bias와 variance를 모두 함께 동시에 줄여야 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 이 둘은 &lt;b&gt;모델의 복잡도(Model Complexity)&lt;/b&gt;를 기준으로 tradeoff 관계임.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;334&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cywu28/dJMcaiuPQMF/rNcQwg6mFPKKuf1GfqZmMK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cywu28/dJMcaiuPQMF/rNcQwg6mFPKKuf1GfqZmMK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cywu28/dJMcaiuPQMF/rNcQwg6mFPKKuf1GfqZmMK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcywu28%2FdJMcaiuPQMF%2FrNcQwg6mFPKKuf1GfqZmMK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;450&quot; height=&quot;323&quot; data-origin-width=&quot;466&quot; data-origin-height=&quot;334&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;모델이 단순할수록 (복잡도 낮음):
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델은 데이터의 큰 경향성만을 학습.&lt;/li&gt;
&lt;li&gt;이로 인해 데이터의 세부 패턴을 놓쳐 큰 bais를 가지기 쉬움.&lt;/li&gt;
&lt;li&gt;대신, 데이터에 포함된 작은 노이즈에는 둔감하게 반응하므로 variance는 낮아짐.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;모델이 복잡해질수록 (복잡도 높음):
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델은 데이터의 세세한 패턴까지 학습할 수 있게 되어 낮은 bias를 가짐.&lt;/li&gt;
&lt;li&gt;하지만 데이터의 &lt;b&gt;노이즈까지 패턴으로 인식하고 학습&lt;/b&gt; 하게 되어,&lt;/li&gt;
&lt;li&gt;학습 데이터가 조금만 바뀌어도 예측값이 크게 변함(모델의 파라메터가 크게 변하기 때문임)&lt;/li&gt;
&lt;li&gt;이는 높은 Variance 로 이어짐.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론적으로, 최적의 일반화 성능을 얻으려면 &lt;br /&gt;bias와 variance를 동시에 줄여야 하지만, &lt;br /&gt;하나를 줄이면 다른 하나가 늘어나는 경향이 있어 &lt;br /&gt;이 둘 사이의 균형점을 찾는 것이 중요.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 수식으로 본 error&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;regression 모델의 예측 오류를 나타내는 평균 제곱 오차(Mean Squared Error, MSE)가 어떻게 bias, variance, irreducible error로 분해되는지를 수식으로 살펴볼 수 있음.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.1. 용어 정의 및 목표 설정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 수식 전개에 필요한 기본 변수들은 다음과 같음:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$y$: 실제 target value. $y = f(x) + \epsilon$&lt;/li&gt;
&lt;li&gt;$f(x)$: 우리가 찾고자 하는 이상적인 모델 (물리적인 실제 데이터 생성 기전을 모델링하고 있는)&lt;/li&gt;
&lt;li&gt;$\epsilon$: 평균이 0이고 분산이 $\sigma$인 정규분포를 따를는 노이즈 ($E[\epsilon] = 0, Var[\epsilon] = \sigma^2$).&lt;/li&gt;
&lt;li&gt;$\hat{f}(x; D)$: 주어진 학습 데이터셋 $D$를 통해 우리가 만든 예측 모델. 모델이 $D$에 의존함을 명시적으로 표기함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;목표는 예측 값($\hat{f}$)과 실제 값($y$)의 차이(difference, error)를 나타내는 &lt;b&gt;&lt;i&gt;MSE&lt;/i&gt;&lt;/b&gt;, 즉 $E[(y - \hat{f}(x; D))^2]$를 최소화하는 것임.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기댓값 $E[...]$는 가능한 모든 학습 데이터셋 $D$에 대한 평균을 의미.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.2. 평균 제곱 오차(MSE) 분해 과정&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;평균 제곱 오차를 다음과 같이 단계별로 분해할 수 있음: 간단한 수식을 위해 $f(x)$는 $f$, $\hat{f}(x; D)$는 $\hat{f}$로 표기.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;MSE 정의와 $y$ 대체
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$E[(y - \hat{f})^2] = E[(f + \epsilon - \hat{f})^2]$&lt;/li&gt;
&lt;li&gt;$y$를 실제 함수와 노이즈의 합 $f + \epsilon$로 치환.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;핵심 단계: 평균 예측 $E[\hat{f}]$ 도입
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$E[(f + \epsilon - \hat{f})^2]= E[(f - E[\hat{f}] + E[\hat{f}] - \hat{f} + \epsilon)^2]$&lt;/li&gt;
&lt;li&gt;이 단계가 증명의 핵심임.&lt;/li&gt;
&lt;li&gt;평균 예측 $E[\hat{f}]$을 더하고 빼서 식의 값을 바꾸지 않으면서, 전체 오차를 다음의 세부분으로 나눌 수 있게 해줌.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(1) Bias 관련 부분: $(f - E[\hat{f}])$,
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;(2) Variance 관련 부분: $(E[\hat{f}] - \hat{f})$,&lt;/li&gt;
&lt;li&gt;(3) 노이즈 $\epsilon$ 관련 부분&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;term(항) 재배열 및 제곱 전개
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$E[(f + \epsilon - \hat{f})^2]= E[ ( (f - E[\hat{f}]) + (E[\hat{f}] - \hat{f}) + \epsilon )&amp;sup2; ]$&lt;/li&gt;
&lt;li&gt;세 개의 항 $(f - E[\hat{f}])$, $(E[\hat{f}] - \hat{f})$, $\epsilon$으로 묶어 제곱식을 전개.&lt;/li&gt;
&lt;li&gt;$E[(f + \epsilon - \hat{f})^2]= E[(f - E[\hat{f}])^2] + E[(E[\hat{f}] - \hat{f})^2] + E[\epsilon^2] + 2E[(f - E[\hat{f}])(E[\hat{f}] - \hat{f})] + 2E[(f - E[\hat{f}])\epsilon] + 2E[(E[\hat{f}] - \hat{f})\epsilon]$&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;교차 항(Cross-term) 정리
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전개된 식의 뒤쪽 세 개 교차 항들은 기댓값의 성질에 의해 모두 0이 됨.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$2E[(f - E[\hat{f}])(E[\hat{f}] - \hat{f})]$:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여기서 $f$와 $E[\hat{f}]$는 $D$에 대한 기댓값이므로 상수 취급이 가능.&lt;/li&gt;
&lt;li&gt;따라서 $2(f - E[\hat{f}]) \times E[E[\hat{f}] - \hat{f}]$가 되며,&lt;/li&gt;
&lt;li&gt;$E[E[\hat{f}] - \hat{f}] = E[\hat{f}] - E[\hat{f}] = 0$ 을 이용하면 전체 term은 0.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;$2E[(f - E[\hat{f}])\epsilon]$:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$f$와 $E[\hat{f}]$는 $\epsilon$과 무관하므로&lt;/li&gt;
&lt;li&gt;$2(f - E[\hat{f}]) \times E[\epsilon]$로 전개 가능.&lt;/li&gt;
&lt;li&gt;$E[\epsilon] = 0$이므로 이 term도 0.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;$2E[(E[\hat{f}] - \hat{f})\epsilon]$:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모델 $\hat{f}$은 학습 데이터 D에만 의존&lt;/li&gt;
&lt;li&gt;노이즈 $\epsilon$는 $D$에 대해 독립적.&lt;/li&gt;
&lt;li&gt;따라서 $E[(E[\hat{f}] - \hat{f})\epsilon] = E[E[\hat{f}] - \hat{f}] \times E[\epsilon]$로 분리 가능.&lt;/li&gt;
&lt;li&gt;$E[E[\hat{f}] - \hat{f}] = 0$ 이고 $E[\epsilon] = 0$이므로 이 term 도 0.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;최종 결과 도출
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;cross terms가 모두 0이 되면서 다음의 세 개의 term들만 남음:&lt;/li&gt;
&lt;li&gt;$E[(f + \epsilon - \hat{f})^2]= E[(f - E[\hat{f}])^2] + E[(E[\hat{f}] - \hat{f})^2] + E[\epsilon^2]$&lt;/li&gt;
&lt;li&gt;각 항을 정의에 따라 정리.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$f$와 $E[\hat{f}]$는 상수이므로, $E[(f - E[\hat{f}])^2] = (f - E[\hat{f}])^2$ 임:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이는 bias의 제곱 ($\text{Bias}[\hat{f}])^2$&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;$E[(\hat{f} - E[\hat{f}])^2]$는 variance, $\text{Var}[\hat{f}]$ 임.&lt;/li&gt;
&lt;li&gt;$\text{Var}[\epsilon] = E[\epsilon^2] - (E[\epsilon])^2$이고 $E[\epsilon]=0$이므로, $E[\epsilon^2] = \text{Var}[\epsilon] = \epsilon^2$임.
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이는 irreducible error임.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$E[(f + \epsilon - \hat{f})^2] = (E[\hat{f}] - f)^2 + \text{Var}[\hat{f}] + \epsilon^2$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.3. 최종 공식과 그 의미&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;최종적으로 분해된 총 오류(MSE) 공식은 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$ E[(y - \hat{f})&amp;sup2;] = (\text{Bias}[\hat{f}])^2 + \text{Var}[\hat{f}] + \epsilon^2$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 공식의 각 항이 의미하는 바는 다음과 같음&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;bias의 제곱: 여러 다른 학습 데이터셋으로 학습시킨 모델들의 평균적인 예측이 실제 정답 함수에서 얼마나 벗어났는가? (모델의 근본적인 한계)&lt;/li&gt;
&lt;li&gt;variance : 각기 다른 학습 데이터셋으로 학습시킨 모델들의 예측이 서로 얼마나 흩어져 있는가? (모델의 학습 데이터 민감도/불안정성)&lt;/li&gt;
&lt;li&gt;Irreducible Error (줄일 수 없는 오류) :데이터 자체에 내재된 노이즈의 크기&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Programming/ML</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/945</guid>
      <comments>https://dsaint31.tistory.com/945#entry945comment</comments>
      <pubDate>Thu, 30 Oct 2025 12:23:42 +0900</pubDate>
    </item>
    <item>
      <title>[SS] $u(t)-u(t-a)$ 의 (unilateral) Laplace Transform</title>
      <link>https://dsaint31.tistory.com/944</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;778&quot; data-origin-height=&quot;114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BAkaq/dJMcaj1z4om/TNlU47KsbqPxkUHjuDujvk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BAkaq/dJMcaj1z4om/TNlU47KsbqPxkUHjuDujvk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BAkaq/dJMcaj1z4om/TNlU47KsbqPxkUHjuDujvk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBAkaq%2FdJMcaj1z4om%2FTNlU47KsbqPxkUHjuDujvk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;59&quot; data-origin-width=&quot;778&quot; data-origin-height=&quot;114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;증명1&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보통 $a&amp;gt;0$ 가정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$x(t)=u(t)-u(t-a)=&lt;br /&gt;\begin{cases}&lt;br /&gt;1,&amp;amp; 0\le t&amp;lt;a \\&lt;br /&gt;0,&amp;amp; \text{그 외}&lt;br /&gt;\end{cases}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이와 같으므로 unilateral transform 은&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathcal{L}[x(t)]&lt;br /&gt;= \int_{0}^{\infty} e^{-st}\big[u(t)-u(t-a)\big] dt&lt;br /&gt;= \int_{0}^{a} e^{-st} dt$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구간 외에는 0 임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\operatorname{Re}(s)&amp;gt;0$에서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\int_{0}^{a} e^{-st} dt&lt;br /&gt;= \left[\frac{e^{-st}}{-s}\right]_{0}^{a}&lt;br /&gt;= \frac{1-e^{-as}}{s}.$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에 의해 다음이 성립&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boxed{\;\mathcal{L}[u(t)-u(t-a)]=\dfrac{1-e^{-as}}{s},\quad \operatorname{Re}(s)&amp;gt;0\;}$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;증명2&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Linearity 를 이용해도 증명 가능.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathcal{L}[u(t)]=\frac{1}{s} \\&lt;br /&gt;\mathcal{L}[u(t-a)]=\int_{a}^{\infty} e^{-st}\,dt=\frac{e^{-as}}{s} \ \ (\operatorname{Re}(s)&amp;gt;0).$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서&lt;br /&gt;$$\mathcal{L}[u(t)-u(t-a)]=\frac{1}{s}-\frac{e^{-as}}{s}=\frac{1-e^{-as}}{s}.$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;같이보면 좋은 자료&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/385&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.10.24 - [.../Signals and Systems] - [SS] Laplace Transform Table&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761785470560&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[SS] Laplace Transform Table&quot; data-og-description=&quot;SignalLaplace TransformRoC...1$u(t)$$\frac{1}{s}$$\text{Re}(s)&amp;gt;0$ 2$u(t)-u(t-a)$$\frac{1-e^{-as}}{s}$$\text{Re}(s)&amp;gt;0$ 3$\delta(t)$1all complex plane 4$\delta(t-a)$$e^{-as}$all complex plane 5$e^{-at}u(t)$$\frac{1}{s+a}$$\text{Re}(s)&amp;gt;-a$참고6$\cos\Omega_0&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/385&quot; data-og-url=&quot;https://dsaint31.tistory.com/385&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c6SfLL/hyZMQvEEIl/MivQmVYhTYliwoHxgKQn50/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402,https://scrap.kakaocdn.net/dn/1Zc7a/hyZLlqpdmQ/jZrsxkkrZE7uzHTJyWxhPK/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/385&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/385&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c6SfLL/hyZMQvEEIl/MivQmVYhTYliwoHxgKQn50/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402,https://scrap.kakaocdn.net/dn/1Zc7a/hyZLlqpdmQ/jZrsxkkrZE7uzHTJyWxhPK/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[SS] Laplace Transform Table&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SignalLaplace TransformRoC...1$u(t)$$\frac{1}{s}$$\text{Re}(s)&amp;gt;0$ 2$u(t)-u(t-a)$$\frac{1-e^{-as}}{s}$$\text{Re}(s)&amp;gt;0$ 3$\delta(t)$1all complex plane 4$\delta(t-a)$$e^{-as}$all complex plane 5$e^{-at}u(t)$$\frac{1}{s+a}$$\text{Re}(s)&amp;gt;-a$참고6$\cos\Omega_0&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>.../Signals and Systems</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/944</guid>
      <comments>https://dsaint31.tistory.com/944#entry944comment</comments>
      <pubDate>Thu, 30 Oct 2025 09:55:26 +0900</pubDate>
    </item>
    <item>
      <title>[SS] 상수 함수에 대한 Unilateral Laplace Transform</title>
      <link>https://dsaint31.tistory.com/943</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Laplace Transform의 정의&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;One-sided(unilateral) Laplace transform은 다음과 같이 정의:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathcal{L}[f(t)] = \int_{0}^{\infty} e^{-st} f(t)\, dt$$&lt;br /&gt;where,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$s = \sigma + j\omega$&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. $f(t) = 1$을 대입&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathcal{L}[1] = \int_{0}^{\infty} e^{-st}\, dt$$&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 적분 계산&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 적분은 지수함수의 무한 적분임.&lt;br /&gt;때문에 수렴 조건을 먼저 확인하여 ROC를 구함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$\operatorname{Re}(s) &amp;gt; 0$ 일 때만 수렴.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;적분을 계산하면:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\int_{0}^{\infty} e^{-st}\, dt = \left[ \frac{e^{-st}}{-s} \right]_{0}^{\infty}$$&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 극한 계산&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$t \to \infty$ 일 때 $\operatorname{Re}(s) &amp;gt; 0$이면 $e^{-st} \to 0$&lt;/li&gt;
&lt;li&gt;$t = 0$ 일 때 $e^{-st} = 1$&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음이 성립함:&lt;br /&gt;$$\int_{0}^{\infty} e^{-st}\, dt = \frac{0 - (1)}{-s} = \frac{1}{s}$$&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 결론&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\boxed{\mathcal{L}[1] = \frac{1}{s}, \quad \operatorname{Re}(s) &amp;gt; 0}$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;같이보면 좋은 자료들&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/385&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2022.10.24 - [.../Signals and Systems] - [SS] Laplace Transform Table&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761784449416&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[SS] Laplace Transform Table&quot; data-og-description=&quot;SignalLaplace TransformRoC...1$u(t)$$\frac{1}{s}$$\text{Re}(s)&amp;gt;0$ 2$u(t)-u(t-a)$$\frac{1-e^{-as}}{s}$$\text{Re}(s)&amp;gt;0$ 3$\delta(t)$1all complex plane 4$\delta(t-a)$$e^{-as}$all complex plane 5$e^{-at}u(t)$$\frac{1}{s+a}$$\text{Re}(s)&amp;gt;-a$참고6$\cos\Omega_0&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/385&quot; data-og-url=&quot;https://dsaint31.tistory.com/385&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/c6SfLL/hyZMQvEEIl/MivQmVYhTYliwoHxgKQn50/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402,https://scrap.kakaocdn.net/dn/1Zc7a/hyZLlqpdmQ/jZrsxkkrZE7uzHTJyWxhPK/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/385&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/385&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/c6SfLL/hyZMQvEEIl/MivQmVYhTYliwoHxgKQn50/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402,https://scrap.kakaocdn.net/dn/1Zc7a/hyZLlqpdmQ/jZrsxkkrZE7uzHTJyWxhPK/img.png?width=800&amp;amp;height=402&amp;amp;face=0_0_800_402');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[SS] Laplace Transform Table&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;SignalLaplace TransformRoC...1$u(t)$$\frac{1}{s}$$\text{Re}(s)&amp;gt;0$ 2$u(t)-u(t-a)$$\frac{1-e^{-as}}{s}$$\text{Re}(s)&amp;gt;0$ 3$\delta(t)$1all complex plane 4$\delta(t-a)$$e^{-as}$all complex plane 5$e^{-at}u(t)$$\frac{1}{s+a}$$\text{Re}(s)&amp;gt;-a$참고6$\cos\Omega_0&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>.../Signals and Systems</category>
      <category>Laplace</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/943</guid>
      <comments>https://dsaint31.tistory.com/943#entry943comment</comments>
      <pubDate>Thu, 30 Oct 2025 09:34:32 +0900</pubDate>
    </item>
    <item>
      <title>Matrix Norm and Condition Number</title>
      <link>https://dsaint31.tistory.com/942</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;411&quot; data-origin-height=&quot;123&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dQGr6B/dJMcajtJVVL/tQkMhZWoJNGKpKQws7X6E1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dQGr6B/dJMcajtJVVL/tQkMhZWoJNGKpKQws7X6E1/img.png&quot; data-alt=&quot;https://en.wikipedia.org/wiki/Condition_number&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dQGr6B/dJMcajtJVVL/tQkMhZWoJNGKpKQws7X6E1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdQGr6B%2FdJMcajtJVVL%2FtQkMhZWoJNGKpKQws7X6E1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;411&quot; height=&quot;123&quot; data-origin-width=&quot;411&quot; data-origin-height=&quot;123&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://en.wikipedia.org/wiki/Condition_number&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Matrix Norm&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Vector의 Norm을 이용한 Matrix의 Norm의 정의는 다음과 같음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\|A\|=\underset{\textbf{x}\ne\textbf{0}}{\text{max}} \frac{\|A\textbf{x}\|}{\|\textbf{x}\|}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\textbf{x}$ : 임의의 column vector.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 Matrix의 Norm에 대한 정의로부터 다음이 성립.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\|A\textbf{x}\|\le\|A\|\|\textbf{x}\|$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;좀 더 자세히 말하면, 이는 Operator norm (or induced norm)이라고 불리는 것으로 matrix를 linear transform으로 보고 해당 변환이 얼마나 input vector의 norm을 &quot;증가시키는지&quot;를 norm으로 표현함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용하는 vector norm (L-p Norm에서 p의 값에 따라 다름)의 종류에 따라 값이 달라짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 Matrix Norm 으로 더 많이 사용되는 것은 Frobenius norm임:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\|A\|_\text{Frobenius} = \sqrt{\sum_{i,j} |a_{i,j}|^2}$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;참고: Norm이란?&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/254#Norm%20(%EB%85%B8%EB%A6%84)-1-5&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://dsaint31.tistory.com/254#Norm%20(%EB%85%B8%EB%A6%84)-1-5&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761727263117&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] Vector (1)&quot; data-og-description=&quot;Scalar오직 magnitude(크기)만을 가지는 물리량.숫자 하나.ndim=0, rank=02024.07.08 - [.../Linear Algebra] - [LA] Rank: Matrix의 속성&amp;nbsp;[LA] Rank: Matrix의 속성Definition: Rank ◁&amp;nbsp;matrix 속성The rank of a matrix $A$, denoted by rank $A&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/254#Norm%20(%EB%85%B8%EB%A6%84)-1-5&quot; data-og-url=&quot;https://dsaint31.tistory.com/254&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cEUiRs/hyZMNetQc7/5zQC159WJQ1gai37AkrkUk/img.png?width=674&amp;amp;height=293&amp;amp;face=0_0_674_293,https://scrap.kakaocdn.net/dn/b9Uv7k/hyZMIqKMii/LfIgZkDACHcOPFNnwTHblk/img.png?width=674&amp;amp;height=293&amp;amp;face=0_0_674_293,https://scrap.kakaocdn.net/dn/ggarq/hyZMVp4ueg/8UkJY5oiHc0ZfTf6hNUw9k/img.jpg?width=2053&amp;amp;height=568&amp;amp;face=0_0_2053_568&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/254#Norm%20(%EB%85%B8%EB%A6%84)-1-5&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/254#Norm%20(%EB%85%B8%EB%A6%84)-1-5&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cEUiRs/hyZMNetQc7/5zQC159WJQ1gai37AkrkUk/img.png?width=674&amp;amp;height=293&amp;amp;face=0_0_674_293,https://scrap.kakaocdn.net/dn/b9Uv7k/hyZMIqKMii/LfIgZkDACHcOPFNnwTHblk/img.png?width=674&amp;amp;height=293&amp;amp;face=0_0_674_293,https://scrap.kakaocdn.net/dn/ggarq/hyZMVp4ueg/8UkJY5oiHc0ZfTf6hNUw9k/img.jpg?width=2053&amp;amp;height=568&amp;amp;face=0_0_2053_568');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] Vector (1)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Scalar오직 magnitude(크기)만을 가지는 물리량.숫자 하나.ndim=0, rank=02024.07.08 - [.../Linear Algebra] - [LA] Rank: Matrix의 속성&amp;nbsp;[LA] Rank: Matrix의 속성Definition: Rank ◁&amp;nbsp;matrix 속성The rank of a matrix $A$, denoted by rank $A&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Condition number (조건수)&lt;/b&gt;&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;행렬의 condition number는 &lt;br /&gt;방정식 $A\textbf{x}=\textbf{b}$ 의 민감도를 나타내는 지표임.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;행렬 $A$ 의 조건수가 크면 (&amp;larr;민감한 경우) 일정한 크기의 input의 상대 오차에 대해서 solution(해)의 상대 오차가 커질 수 있고 (ill-conditioned라고 한다),&lt;/li&gt;
&lt;li&gt;반대로 작으면 solution의 상대 오차도 작아지게됨(이 경우를 well-conditioned라고 부름).&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기계학습 적인 관점에서 말하면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;condition number가 클 경우&lt;/b&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt; 작은 오차(혹은 noise)에 대해 매우 민감하게 반응하므로 &lt;/span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;overfitting이 일어나기 쉽다&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Apple SD Gothic Neo', Arial, sans-serif; letter-spacing: 0px;&quot;&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;이는 &lt;u&gt;다른 데이터 셋으로 학습시 모델이 매우 다른 파라메터(solution에 해당)를 가지게 됨&lt;/u&gt;을 의미한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전통적인 linear system으로 애기하면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;codition number가 클 경우, 사실상 ill-pose inverse problem과 같이 처리 (정확히는 ill conditioned problem)되기 싶다.&lt;/li&gt;
&lt;li&gt;well-posed라고 해도 연산과정에 피할 수 없는 &lt;a href=&quot;https://dsaint31.tistory.com/entry/Round-off-Error-vs-Truncation-Error-1&quot;&gt;round-off error&lt;/a&gt;로 인해 matrix가 singular로 바뀌기 쉽다는 애기임.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Condition Number(조건수) 유도.&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Linear system에서 input $\textbf{b}$가 오차가 발생하여, $(\textbf{b} +\Delta \textbf{b})$로 주어질 경우, solution $\textbf{x}$도 다음과 같은 출력오차를 가지게 됨 :&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$(\textbf{x}+\Delta \textbf{x})$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 아래의 등식이 성립.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$A(\textbf{x}+\Delta \textbf{x})=(\textbf{b} +\Delta \textbf{b}) \Rightarrow \Delta \textbf{x} = A^{-1}\Delta \textbf{b}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 식에 Matrix의 Norm을 이용하면, 다음과 같은 부등식이 성립.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\Delta \textbf{x} = A^{-1}\Delta \textbf{b} \Rightarrow \| \Delta \textbf{x} \| \le \|A^{-1}\| \|\Delta \textbf{b}\| \tag{1}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원래의 linear system에서 다음이 또한 성립.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$A\textbf{x}=\textbf{b} \Rightarrow \textbf{b}=A\textbf{x} \Rightarrow \|\textbf{b}\|=\|A\| \|\textbf{x}\| \tag{2}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;부등식 1과 2로부터 다음이 성립함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\frac{\|\Delta \textbf{x}\|}{\|A\| \|\textbf{x}\|} \le \frac{ \|A^{-1}\| \|\Delta \textbf{b}\|}{ \|\textbf{b}\|} \\\\ \frac{\|\Delta \textbf{x}\|}{ \|\textbf{x}\|} \le \|A\| \|A^{-1}\| \frac{\|\Delta \textbf{b}\|}{ \|\textbf{b}\|}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에 따르면,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;input 의 상대오차$\frac{ \|\Delta \textbf{b}\|}{ \|\textbf{b}\|}$에 따른 solution의 상대오차 $\frac{\Delta \|\textbf{x}\|}{ \|\textbf{x}\|}$의 정도가 $\|A\| \|A^{-1}\|$에 의해서 결정되며 이를 Condition number (조건수)라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{cond}(A) = \| A \| \| A^{-1}\| $$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Singular value ratio: Condtion Number&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 설명은 개념을 반영한 설명이고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 일반적으로 condtion number를 구하는 방법은 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;SVD(singular value decomposition)&lt;/b&gt;&lt;/span&gt;을 통한 singular value $\sigma$들을 구하고, 그중 최대값과 최소값의 ratio를 구하는 것임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{cond}(A) = \frac{| \sigma_\text{max}(A) |}{|\sigma_\text{min}(A)|}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\sigma(A)$ : Matrix $A$의 singular value.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Reference&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://ghebook.blogspot.com/2021/03/matrix-norm-and-condition-number.html&quot;&gt;https://ghebook.blogspot.com/2021/03/matrix-norm-and-condition-number.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761727489258&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;행렬 노름과 조건수(Matrix Norm and Condition Number)&quot; data-og-description=&quot;물리학, 수학, 전자파&quot; data-og-host=&quot;ghebook.blogspot.com&quot; data-og-source-url=&quot;https://ghebook.blogspot.com/2021/03/matrix-norm-and-condition-number.html&quot; data-og-url=&quot;https://ghebook.blogspot.com/2021/03/matrix-norm-and-condition-number.html&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/dmo2KH/hyZLbg0TTH/LF14MvJwJ3VeawgyfoNnNK/img.png?width=589&amp;amp;height=480&amp;amp;face=0_0_589_480&quot;&gt;&lt;a href=&quot;https://ghebook.blogspot.com/2021/03/matrix-norm-and-condition-number.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://ghebook.blogspot.com/2021/03/matrix-norm-and-condition-number.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/dmo2KH/hyZLbg0TTH/LF14MvJwJ3VeawgyfoNnNK/img.png?width=589&amp;amp;height=480&amp;amp;face=0_0_589_480');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;행렬 노름과 조건수(Matrix Norm and Condition Number)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;물리학, 수학, 전자파&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;ghebook.blogspot.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/entry/Round-off-Error-vs-Truncation-Error-1&quot;&gt;https://dsaint31.tistory.com/entry/Round-off-Error-vs-Truncation-Error-1&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761727501463&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Round-off Error vs. Truncation Error&quot; data-og-description=&quot;Round-off Error: 컴퓨터에서 수치를 저장하는 데이터 타입의 한계로 인한 에러.제한된 비트에 수치를 저장하기 때문에 발생하며 Finite word-length effect, Finite word-length error라고도 불림.주로 quantization에&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/entry/Round-off-Error-vs-Truncation-Error-1&quot; data-og-url=&quot;https://dsaint31.tistory.com/351&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/FaFax/hyZMpTRD7t/AAhuVkTDmbZNMKujJd6561/img.png?width=760&amp;amp;height=492&amp;amp;face=0_0_760_492,https://scrap.kakaocdn.net/dn/cbPrIJ/hyZMHSUHtH/QDi35tst6LZdwT0NxkAVHK/img.png?width=760&amp;amp;height=492&amp;amp;face=0_0_760_492,https://scrap.kakaocdn.net/dn/cySCC2/hyZLj0r2rA/EZ0pSbpuZ998aOghPGrPd1/img.png?width=760&amp;amp;height=492&amp;amp;face=0_0_760_492&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/entry/Round-off-Error-vs-Truncation-Error-1&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/entry/Round-off-Error-vs-Truncation-Error-1&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/FaFax/hyZMpTRD7t/AAhuVkTDmbZNMKujJd6561/img.png?width=760&amp;amp;height=492&amp;amp;face=0_0_760_492,https://scrap.kakaocdn.net/dn/cbPrIJ/hyZMHSUHtH/QDi35tst6LZdwT0NxkAVHK/img.png?width=760&amp;amp;height=492&amp;amp;face=0_0_760_492,https://scrap.kakaocdn.net/dn/cySCC2/hyZLj0r2rA/EZ0pSbpuZ998aOghPGrPd1/img.png?width=760&amp;amp;height=492&amp;amp;face=0_0_760_492');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Round-off Error vs. Truncation Error&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Round-off Error: 컴퓨터에서 수치를 저장하는 데이터 타입의 한계로 인한 에러.제한된 비트에 수치를 저장하기 때문에 발생하며 Finite word-length effect, Finite word-length error라고도 불림.주로 quantization에&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/entry/Math-ill-posed-well-posed-ill-conditioned-well-conditioned-matrix-or-problem&quot;&gt;https://dsaint31.tistory.com/entry/Math-ill-posed-well-posed-ill-conditioned-well-conditioned-matrix-or-problem&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761727506460&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] ill-posed, well-posed, ill-conditioned, well-conditioned matrix (or problem)&quot; data-og-description=&quot;&amp;quot;well-posed&amp;quot; matrix and &amp;quot;well-conditioned&amp;quot; matrix$A\textbf{x}=\textbf{b}$와 같은 Linear System (연립방정식)에서 system matrix $A$가 invertible하다면 해당 linear system(달리 말하면 연립방정식)이 well-posed라고 할 수 있다.하&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/entry/Math-ill-posed-well-posed-ill-conditioned-well-conditioned-matrix-or-problem&quot; data-og-url=&quot;https://dsaint31.tistory.com/400&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bN1AHw/hyZMom58sR/RUI48VqLYBikGIgzSeXLO0/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303,https://scrap.kakaocdn.net/dn/cfs4nk/hyZMdy7elC/Wvvp8ogj5uaceY2rsK3KP1/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303,https://scrap.kakaocdn.net/dn/IdgD8/hyZLdsnTmb/auqY3U1WLbl43NWGK3YPtK/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/entry/Math-ill-posed-well-posed-ill-conditioned-well-conditioned-matrix-or-problem&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/entry/Math-ill-posed-well-posed-ill-conditioned-well-conditioned-matrix-or-problem&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bN1AHw/hyZMom58sR/RUI48VqLYBikGIgzSeXLO0/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303,https://scrap.kakaocdn.net/dn/cfs4nk/hyZMdy7elC/Wvvp8ogj5uaceY2rsK3KP1/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303,https://scrap.kakaocdn.net/dn/IdgD8/hyZLdsnTmb/auqY3U1WLbl43NWGK3YPtK/img.png?width=607&amp;amp;height=303&amp;amp;face=0_0_607_303');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] ill-posed, well-posed, ill-conditioned, well-conditioned matrix (or problem)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&quot;well-posed&quot; matrix and &quot;well-conditioned&quot; matrix$A\textbf{x}=\textbf{b}$와 같은 Linear System (연립방정식)에서 system matrix $A$가 invertible하다면 해당 linear system(달리 말하면 연립방정식)이 well-posed라고 할 수 있다.하&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>.../Math</category>
      <category>condition number</category>
      <category>matrix norm</category>
      <category>norm</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/942</guid>
      <comments>https://dsaint31.tistory.com/942#entry942comment</comments>
      <pubDate>Wed, 29 Oct 2025 17:45:27 +0900</pubDate>
    </item>
    <item>
      <title>Lorentzian Function (or Cauchy distribution function)</title>
      <link>https://dsaint31.tistory.com/941</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Lorentzian 함수(로렌츠 함수)는 물리학과 신호처리, 특히 공명(resonance)과 푸리에 변환에서 자주 등장하는 함수.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Definition&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Lorentzian function 또는 Cauchy distribution function은 다음과 같이 정의됨:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;L(x; x_0, \gamma) = \frac{1}{\pi}\frac{\gamma}{(x - x_0)^2 + \gamma^2}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;where,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$x_0$: 중심(center). 주로 0으로 사용되는 경우도 많음.&lt;/li&gt;
&lt;li&gt;$\gamma$ &amp;gt; 0: 반치폭(half width at half maximum, HWHM)&lt;/li&gt;
&lt;li&gt;전체 면적 $\int_{-\infty}^{\infty} L(x),dx = 1$&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1029&quot; data-origin-height=&quot;649&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UghLW/dJMb9PzDKUU/OiSHfekOpfRL5CoowsGqV1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UghLW/dJMb9PzDKUU/OiSHfekOpfRL5CoowsGqV1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UghLW/dJMb9PzDKUU/OiSHfekOpfRL5CoowsGqV1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUghLW%2FdJMb9PzDKUU%2FOiSHfekOpfRL5CoowsGqV1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;252&quot; data-origin-width=&quot;1029&quot; data-origin-height=&quot;649&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음과 같이&amp;nbsp; $\frac{1}{\pi}$를 제거하고 $x_0=0$인 형태로도 자주 사용됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$L(x; \gamma) = \frac{\gamma}{x^2+\gamma^2}$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이 경우 면적은 $\pi$임.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/wbdGyUvvrjI&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://youtu.be/wbdGyUvvrjI&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=wbdGyUvvrjI&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/dd7t2E/hyZL3DiWNC/GZQpnvCOJj7uEUDS5VJVOK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/CbIIE/hyZLjlrvK9/6tvx9Z0ztNKiStbKZ72sHK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;Lorentzian의 적분-넓이 구하기.&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/wbdGyUvvrjI&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption style=&quot;display: none;&quot;&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 주요 특징 (Properties)&lt;/h3&gt;
&lt;table data-ke-align=&quot;alignCenter&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;속성&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;설명&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;대칭성&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;$x_0$을 중심으로 even function(짝함수)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;최대값&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;$L(x_0) = 1/(\pi \gamma)$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;폭&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;$FWHM = 2\gamma$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;꼬리감소&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;$L(x) \sim \dfrac{1}{x^2}$ (heavy tail)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;평균/분산은 보통 정의되지 않음 (꼬리가 너무 느리게 감소하기 때문).&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. Fourier 변환과의 관계&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Lorentzian 함수는 지수 감쇠 함수의 푸리에 변환으로 등장.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{-\gamma|t|} \overset{\mathcal{F}} {\longleftrightarrow} \frac{2\gamma}{\gamma^2 + \omega^2}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 $\frac{2\gamma}{\gamma^2 + \omega^2}$ 는 Lorentzian 형태임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 시간 영역에서 신호가 감쇠(or 진동)하면, &lt;br /&gt;주파수 영역에서 Lorentzian 모양의 스펙트럼이 발생함.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;때문에 Lorentzian은 &lt;br /&gt;공명(Resonance) 스펙트럼, 광선폭(Line width), &lt;br /&gt;NMR, X-ray, CT 등에서의 신호선폭 표현에 매우 자주 사용되는 함수임.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. Impulse function(Dirac delta)와의 관계&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Lorentzian은 감쇠 파라미터 $\gamma$가 $0^+$로 갈수록 점점 뾰족해지며,Dirac delta 함수로 수렴함..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\boxed{&lt;br /&gt;\lim_{\gamma \to 0^+} \frac{1}{\pi} \frac{\gamma}{x^2 + \gamma^2} = \delta(x)&lt;br /&gt;}&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 다음 두 가지 조건을 만족하기 때문입니다:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;항상 양수: $L(x) \ge 0$&lt;/li&gt;
&lt;li&gt;면적이 1: $\displaystyle \int_{-\infty}^{\infty} L(x),dx = 1$&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 Lorentzian에서 $\underset{\gamma \to 0}{\lim}$을 취하면 &amp;ldquo;impulse function&amp;rdquo;으로 볼 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\displaystyle \lim_{\gamma \to 0^+} \frac{\gamma}{x^2+\gamma^2} = \pi \delta(x)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, Dirac delta 의 부드럽고 수학적으로 취급 가능한 approximation 임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/632&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.10.13 - [.../Signals and Systems] - [SS] Fourier Transform of Impulse Function (Dirac Delta)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1761284325027&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[SS] Fourier Transform of Impulse Function (Dirac Delta)&quot; data-og-description=&quot;Continuous Time Signal에서의 Impulse Function은 Dirac Delta Function $\delta(t)$임.이는 다음을 만족함.$$\delta(t)=\left\{ \begin{matrix} \infty &amp;amp;,t=0 \\ 0 &amp;amp;,t \ne 0 \end{matrix}\right. \\ \int^\infty_{-\infty} \delta(t)dt=1$$ 2022.08.29 - [...&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/632&quot; data-og-url=&quot;https://dsaint31.tistory.com/632&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cMUgPc/hyZMiFBMYJ/lxDCKyrDkmG4UW42L13DMk/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448,https://scrap.kakaocdn.net/dn/cCqHPd/hyZLnVFyiM/3lSJUUMoFahy9axNv7oBlK/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448,https://scrap.kakaocdn.net/dn/b69yAF/hyZL9XMZhF/2aHWFIahPVK3EGlLVYO1eK/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/632&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/632&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cMUgPc/hyZMiFBMYJ/lxDCKyrDkmG4UW42L13DMk/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448,https://scrap.kakaocdn.net/dn/cCqHPd/hyZLnVFyiM/3lSJUUMoFahy9axNv7oBlK/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448,https://scrap.kakaocdn.net/dn/b69yAF/hyZL9XMZhF/2aHWFIahPVK3EGlLVYO1eK/img.png?width=624&amp;amp;height=448&amp;amp;face=0_0_624_448');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[SS] Fourier Transform of Impulse Function (Dirac Delta)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Continuous Time Signal에서의 Impulse Function은 Dirac Delta Function $\delta(t)$임.이는 다음을 만족함.$$\delta(t)=\left\{ \begin{matrix} \infty &amp;amp;,t=0 \\ 0 &amp;amp;,t \ne 0 \end{matrix}\right. \\ \int^\infty_{-\infty} \delta(t)dt=1$$ 2022.08.29 - [...&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4-1. 비교&lt;/h4&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;height: 146px;&quot; data-ke-align=&quot;alignCenter&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;구분&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Lorentzian&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;Delta (Impulse)&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;식&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;$\frac{1}{\pi}\frac{\gamma}{x^2+\gamma^2}$&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;$\delta(x)$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;파라미터&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;$\gamma&amp;gt;0$: 폭 조절&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;없음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;폭&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;$\propto \gamma$&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;0 (이상적 점)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;면적&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;극한 관계&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;$\lim_{\gamma\to 0^+} L(x)=\delta(x)$&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;자기 자신 $&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;물리적 의미&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;공명곡선, 라인폭, 감쇠&lt;/td&gt;
&lt;td style=&quot;height: 18px;&quot; align=&quot;center&quot;&gt;순간적 자극, 단위 에너지&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;4-2. gamma와 dirac delta&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\gamma$가 작을수록 Lorentzian은 더 뾰족하고 &amp;delta;에 가까워짐&lt;/li&gt;
&lt;li&gt;$\gamma$가 크면 넓게 퍼진 스펙트럼 &amp;rarr; 감쇠가 강한 시스템&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$e^{-\gamma|t|} \overset{\mathcal{F}}{\longrightarrow} \frac{2\gamma}{\gamma^2+\omega^2}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 시간 영역에서 감쇠가 강할수록 주파수 영역에서 스펙트럼이 넓어짐..&lt;/p&gt;</description>
      <category>.../Signals and Systems</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/941</guid>
      <comments>https://dsaint31.tistory.com/941#entry941comment</comments>
      <pubDate>Fri, 24 Oct 2025 14:44:05 +0900</pubDate>
    </item>
    <item>
      <title>Parseval's Theorem</title>
      <link>https://dsaint31.tistory.com/940</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;115&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2I10f/btsRbnvJueD/jqkzoAC4yKk8VT5UVuIfw1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2I10f/btsRbnvJueD/jqkzoAC4yKk8VT5UVuIfw1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2I10f/btsRbnvJueD/jqkzoAC4yKk8VT5UVuIfw1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2I10f%2FbtsRbnvJueD%2FjqkzoAC4yKk8VT5UVuIfw1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;96&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;115&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Parseval's Theorem은 에너지 보존을 의미함:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;주파수 도메인에서 표현하는 경우나&lt;/li&gt;
&lt;li&gt;시간 도메인에서 표현하는 경우나&lt;/li&gt;
&lt;li&gt;에너지는 변화가 없음을 의미함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 이름으로 Energy Theorem 또는 Rarseval's Relation 이라고도 부름.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/522&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.06.16 - [.../Signals and Systems] - [SS] Signal의 정량적 특성&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1760502160853&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[SS] Signal의 정량적 특성&quot; data-og-description=&quot;Signal을 수학적으로 보통 function으로 나타내는 것처럼,해당 &amp;quot;signal&amp;quot;의 크기를 정량화 하는 것들을 signal의 정량적 특성 또는 정량적 표현이라고 할 수 있다.vector의 크기를 나타내는 것 : length (=L-2 no&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/522&quot; data-og-url=&quot;https://dsaint31.tistory.com/522&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bDEfFu/hyZLlJcKJ0/heK7ElxDwbDsB21m27BbTk/img.png?width=276&amp;amp;height=202&amp;amp;face=0_0_276_202,https://scrap.kakaocdn.net/dn/b9DHR1/hyZLbGzZdF/hPXaisP3XX85iI4kSopv00/img.png?width=276&amp;amp;height=202&amp;amp;face=0_0_276_202&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/522&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/522&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bDEfFu/hyZLlJcKJ0/heK7ElxDwbDsB21m27BbTk/img.png?width=276&amp;amp;height=202&amp;amp;face=0_0_276_202,https://scrap.kakaocdn.net/dn/b9DHR1/hyZLbGzZdF/hPXaisP3XX85iI4kSopv00/img.png?width=276&amp;amp;height=202&amp;amp;face=0_0_276_202');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[SS] Signal의 정량적 특성&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Signal을 수학적으로 보통 function으로 나타내는 것처럼,해당 &quot;signal&quot;의 크기를 정량화 하는 것들을 signal의 정량적 특성 또는 정량적 표현이라고 할 수 있다.vector의 크기를 나타내는 것 : length (=L-2 no&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Asymmetric Fourier Transform 에서&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음이 FT, IFT임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\begin{align*} X(\Omega) &amp;amp;= \int_{-\infty}^{\infty} x(t)\, e^{-j\Omega t}\, dt, \\[6pt] x(t) &amp;amp;= \frac{1}{2\pi} \int_{-\infty}^{\infty} X(\Omega)\, e^{j\Omega t}\, d\Omega. \end{align*}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 경우, Parseval's Theorem은 다음과 같음:&lt;br /&gt;$$\begin{align*} \int_{-\infty}^{\infty} |x(t)|^2 \, dt &amp;amp;= \int_{-\infty}^{\infty} x(t)\,x^*(t)\,dt \\ &amp;amp;= \int_{-\infty}^{\infty} x(t)\, \Bigg[ \frac{1}{2\pi} \int_{-\infty}^{\infty} X^*(\Omega)\,e^{-j\Omega t}\,d\Omega \Bigg] dt \\ &amp;amp;= \frac{1}{2\pi} \int_{-\infty}^{\infty} X^*(\Omega) \Bigg[ \int_{-\infty}^{\infty} x(t)\,e^{-j\Omega t}\,dt \Bigg] d\Omega \\ &amp;amp;= \frac{1}{2\pi} \int_{-\infty}^{\infty} X^*(\Omega)\,X(\Omega)\,d\Omega \\ &amp;amp;= \frac{1}{2\pi} \int_{-\infty}^{\infty} |X(\Omega)|^2 \, d\Omega. \end{align*}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;비록 $\frac{1}{2\pi}$를 곱해주는 변환계수(or Normalization Factor)가 있으나 에너지가 유지된다는 개념을 보여줌 (단순히 단위가 바뀐 것으로 볼 수 있음)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;선형 비례 관계를 가지므로 단순히 동일한 양을 다른 스케일로 다루는 것임.&lt;/li&gt;
&lt;li&gt;$\Omega=2\pi f$를 사용하는 것이 공학에선 편함.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Symmetric Fourier Transform 에서&amp;nbsp;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음이 FT와 IFT임:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\begin{align*} \text{정방향 변환 (Forward Transform):} \quad X(\Omega) &amp;amp;= \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{\infty} x(t)\, e^{-j\Omega t}\, dt \\[8pt] \text{역변환 (Inverse Transform):} \quad x(t) &amp;amp;= \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{\infty} X(\Omega)\, e^{j\Omega t}\, d\Omega \end{align*}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대칭형 정의의 경우의 Parseval's theorem은 에너지 보존을 더 잘 보여줌:&lt;br /&gt;$$\begin{align*} \int_{-\infty}^{\infty} |x(t)|^2 \, dt &amp;amp;= \int_{-\infty}^{\infty} x(t)\,x^*(t)\,dt \\ &amp;amp;= \int_{-\infty}^{\infty} x(t)\, \Bigg[ \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{\infty} X^*(\Omega)\,e^{-j\Omega t}\,d\Omega \Bigg] dt \\ &amp;amp;= \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{\infty} X^*(\Omega) \Bigg[ \int_{-\infty}^{\infty} x(t)\,e^{-j\Omega t}\,dt \Bigg] d\Omega \\ &amp;amp;= \frac{1}{\sqrt{2\pi}} \int_{-\infty}^{\infty} X^*(\Omega)\, \Big( \sqrt{2\pi}\,X(\Omega) \Big)\, d\Omega \\ &amp;amp;= \int_{-\infty}^{\infty} |X(\Omega)|^2 \, d\Omega. \end{align*}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>.../Signals and Systems</category>
      <category>energy</category>
      <category>fourier</category>
      <category>parseval</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/940</guid>
      <comments>https://dsaint31.tistory.com/940#entry940comment</comments>
      <pubDate>Wed, 15 Oct 2025 13:23:31 +0900</pubDate>
    </item>
    <item>
      <title>Independent Poisson variables의 합과 상수곱</title>
      <link>https://dsaint31.tistory.com/939</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;472&quot; data-origin-height=&quot;349&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DzkjO/btsQ8yZkLrA/n1rT5nIBpQ2l8KMyGjg6h0/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DzkjO/btsQ8yZkLrA/n1rT5nIBpQ2l8KMyGjg6h0/img.gif&quot; data-alt=&quot;https://incredible.ai/statistics/2014/02/10/Humoungous-Intermediate-Probability/&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DzkjO/btsQ8yZkLrA/n1rT5nIBpQ2l8KMyGjg6h0/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/DzkjO/btsQ8yZkLrA/n1rT5nIBpQ2l8KMyGjg6h0/img.gif&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;296&quot; data-origin-width=&quot;472&quot; data-origin-height=&quot;349&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://incredible.ai/statistics/2014/02/10/Humoungous-Intermediate-Probability/&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Poisson Distribution : mean=variance&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단위 면적당 검출 count $N$이 Poisson Ditribution 를 따른다면 다음이 성립:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$N \sim \text{Poisson}(\lambda)$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;where,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\lambda$ = 단위 면적당 mean count = $\mathbb{E}[N]$&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Poisson Distribution이므로,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\mathbb{E}[N]=\mathrm{Var}[N] = \lambda$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/636&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.10.25 - [.../Math] - [Math] Poisson Distribution (포아송분포)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1760426226454&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] Poisson Distribution (포아송분포)&quot; data-og-description=&quot;Poisson Distribution이란?아주 가끔 일어나는 사건(trial)에 대한 확률 분포 : 방사선 검출에 주로 사용되는 확률분포라 의료영상에서는 매우 많이 사용됨. 몇가지 예를 들면 다음과 같음:전체 인구수&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/636&quot; data-og-url=&quot;https://dsaint31.tistory.com/636&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/iqqmY/hyZLcMbRqo/w0iskpTqAWihuE1bMEo3Q0/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385,https://scrap.kakaocdn.net/dn/mHDh2/hyZKFQd55D/k6jvnaAD33fFGQv8l7RZ90/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385,https://scrap.kakaocdn.net/dn/cH4VxS/hyZKgWZwqs/2qF4BpUQCTyD7Fa1Q5WmMK/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/636&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/636&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/iqqmY/hyZLcMbRqo/w0iskpTqAWihuE1bMEo3Q0/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385,https://scrap.kakaocdn.net/dn/mHDh2/hyZKFQd55D/k6jvnaAD33fFGQv8l7RZ90/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385,https://scrap.kakaocdn.net/dn/cH4VxS/hyZKgWZwqs/2qF4BpUQCTyD7Fa1Q5WmMK/img.png?width=529&amp;amp;height=385&amp;amp;face=0_0_529_385');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] Poisson Distribution (포아송분포)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Poisson Distribution이란?아주 가끔 일어나는 사건(trial)에 대한 확률 분포 : 방사선 검출에 주로 사용되는 확률분포라 의료영상에서는 매우 많이 사용됨. 몇가지 예를 들면 다음과 같음:전체 인구수&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;면적 A에서의 random variable 정의&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;면적 A를 단위 면적 1의 A개 독립된 단위면적의 cell로 구성했다고 하면 다음이 성립:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$N_{\text{tot}} = \sum_{i=1}^{A} N_{i}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 주의할 것은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각 $N_{i}$는 독립적(indepedent) 이며&lt;/li&gt;
&lt;li&gt;각 $N_{i}$가 같은 Poisson Distribution임!&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$N_{i} \sim \text{Poisson}(\lambda)$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Independent Poisson variables의 합 = Poisson variable&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;독립적인 Poisson random variable들의 합은 역시 Poisson Distribution을 따르며,&lt;br /&gt;결과 Poisson Distribution의 mean은 각 더해진 Poisson Distribution들의 mean 들의 sum임:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;N_{\text{tot}} \sim \text{Poisson}(A,\lambda).&lt;br /&gt;$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결과는 다음과 같음:&lt;/p&gt;
&lt;table data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;&lt;b&gt;항목&lt;/b&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;b&gt;단위 면적&lt;/b&gt;&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;&lt;b&gt;면적 A&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;평균 $\mathbb{E}[N]$&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;$\lambda$&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;$A\lambda$&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td align=&quot;center&quot;&gt;분산 $\mathrm{Var}[N]$&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;$\lambda$&lt;/td&gt;
&lt;td align=&quot;center&quot;&gt;$A\lambda$&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;면적에 대한 평균 count와 count의 분산을 구할 경우는 합으로 생각해야 함.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;면적이 &lt;/span&gt;&lt;span&gt;A&lt;/span&gt;&lt;span&gt;배 커지면 평균과 분산 모두 &lt;/span&gt;&lt;span&gt;A&lt;/span&gt;&lt;span&gt;배&lt;span&gt;&amp;nbsp;가 된다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Poisson variable 의 scalar multiple (결과가 Poisson이 아님)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;만약 단위 면적의 평균 count $\lambda$를 기반으로 effective energy를 곱해서 Energy로 값을 바꿀 경우&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;단위 면적에서 측정된 count 에서 energy로 바뀌며,&lt;/li&gt;
&lt;li&gt;이 energy는 Poisson 분포를 따르지 않음:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$e = N h\nu$, where $N$ 은 count, $h\nu$는 effective energy.&lt;/li&gt;
&lt;li&gt;이는 scalar multiple 에 해당하는 선형변환이 가해진 경우에 해당함.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 linear transform의 mean과 variance의 성질에 따라 energy 의 mean과 variance는 다음과 같음:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc; color: #333333; text-align: left;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\mathbb{E}[e]=\overline{e}=h\nu \lambda$&lt;/li&gt;
&lt;li&gt;$\text{Var}[e]=\text{Var}[h \nu \lambda] = (h \nu)^2 \lambda$&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반적으로 Poisson Distribution을 따르는 count를 기반으로 &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;에너지&lt;/b&gt;&lt;/span&gt;를 구하거나, &lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;증폭기를 통해 증폭&lt;/b&gt;&lt;/span&gt; 등을 시킬 경우는 scalar multiple에 해당하는 linear transform이며 이는 결과치가 Poisson Ditribution이 아닌 다음과 같은 mean과 variance를 가짐을 의미함:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$&lt;br /&gt;\boxed{&lt;br /&gt;\mathbb{E}[cN] = c\lambda,\quad \mathrm{Var}[cN] = c^2\lambda&lt;br /&gt;}&lt;br /&gt;$$&lt;br /&gt;where&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$c\lambda$가 mean,&lt;/li&gt;
&lt;li&gt;$c^2\lambda$가 variance.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>.../Math</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/939</guid>
      <comments>https://dsaint31.tistory.com/939#entry939comment</comments>
      <pubDate>Tue, 14 Oct 2025 16:31:19 +0900</pubDate>
    </item>
    <item>
      <title>Error Propagation (or Delta Method)</title>
      <link>https://dsaint31.tistory.com/938</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;IMG_3528.jpeg&quot; data-origin-width=&quot;1461&quot; data-origin-height=&quot;155&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbwz4T/btsQ5EdbxIB/qfo2iGka0nNwfVchz0PkM1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbwz4T/btsQ5EdbxIB/qfo2iGka0nNwfVchz0PkM1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbwz4T/btsQ5EdbxIB/qfo2iGka0nNwfVchz0PkM1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbbwz4T%2FbtsQ5EdbxIB%2Fqfo2iGka0nNwfVchz0PkM1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;42&quot; data-filename=&quot;IMG_3528.jpeg&quot; data-origin-width=&quot;1461&quot; data-origin-height=&quot;155&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Error Propagation이란?&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Random Variable $x$ 의 uncertainity가 해당 변수의 function &amp;nbsp;$y=f(x)$에서 결과값의 uncertainty에 주는 영향을 추정하는 기법.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Taylor expansion에 기반하고 있음.&lt;/li&gt;
&lt;li&gt;uncertainty는 주로 variance 임.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\text{var}\left[f(x)\right] \approx \left[f^\prime(\bar{x})\right]^2 \text{var}\left[x\right]$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://youtu.be/3iriQxLVvEk?si=7SbUn7DnsAahHBbC&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://youtu.be/3iriQxLVvEk?si=7SbUn7DnsAahHBbC&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=3iriQxLVvEk&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/BpBwX/hyZKHMg3AX/Uj2ueSxGDKAeJPOkkBHWRK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720,https://scrap.kakaocdn.net/dn/nPcg3/hyZKdMeBUV/z26RWkRbWkh4dwQzrakFEK/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=0_0_1280_720&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot; data-video-title=&quot;Error Propagation&quot; data-original-url=&quot;&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/3iriQxLVvEk&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;uncertainty에 오타 있네요. ==;;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;같이보면 좋은 자료들&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/465&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;2023.02.27 - [.../Math] - [Math] Taylor Expansion and Taylor Theorem (테일러 전개)&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1759909007527&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;[Math] Taylor Expansion and Taylor Theorem (테일러 전개)&quot; data-og-description=&quot;Taylor&amp;nbsp;Expansion어떤 function $f(x)$을 : 주로 Trascedent Function 임어떤 point $a$에서의 값과 derivative들을 이용하여polynomial(다항식) $p(x)$으로 approximation(근사)하는데 사용되는 것이바로 Taylor's Expansion이라고&quot; data-og-host=&quot;dsaint31.tistory.com&quot; data-og-source-url=&quot;https://dsaint31.tistory.com/465&quot; data-og-url=&quot;https://dsaint31.tistory.com/465&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/4Ua7o/hyZKCqFzcS/RopUKg0YVJkiailwQDIjq1/img.gif?width=292&amp;amp;height=392&amp;amp;face=0_0_292_392,https://scrap.kakaocdn.net/dn/oxd2t/hyZKEvfxhs/kCki5KkrXzrhdI3rCDWtYk/img.gif?width=292&amp;amp;height=392&amp;amp;face=0_0_292_392&quot;&gt;&lt;a href=&quot;https://dsaint31.tistory.com/465&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dsaint31.tistory.com/465&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/4Ua7o/hyZKCqFzcS/RopUKg0YVJkiailwQDIjq1/img.gif?width=292&amp;amp;height=392&amp;amp;face=0_0_292_392,https://scrap.kakaocdn.net/dn/oxd2t/hyZKEvfxhs/kCki5KkrXzrhdI3rCDWtYk/img.gif?width=292&amp;amp;height=392&amp;amp;face=0_0_292_392');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[Math] Taylor Expansion and Taylor Theorem (테일러 전개)&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Taylor&amp;nbsp;Expansion어떤 function $f(x)$을 : 주로 Trascedent Function 임어떤 point $a$에서의 값과 derivative들을 이용하여polynomial(다항식) $p(x)$으로 approximation(근사)하는데 사용되는 것이바로 Taylor's Expansion이라고&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dsaint31.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>.../Math</category>
      <category>error</category>
      <category>estimation</category>
      <category>taylor</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/938</guid>
      <comments>https://dsaint31.tistory.com/938#entry938comment</comments>
      <pubDate>Wed, 8 Oct 2025 16:41:10 +0900</pubDate>
    </item>
    <item>
      <title>Complex Exponential Fourier Series</title>
      <link>https://dsaint31.tistory.com/937</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1046&quot; data-origin-height=&quot;267&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rksnw/btsQYGhNkbk/FrVsPhPymgMyxpHOCBUgRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rksnw/btsQYGhNkbk/FrVsPhPymgMyxpHOCBUgRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rksnw/btsQYGhNkbk/FrVsPhPymgMyxpHOCBUgRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Frksnw%2FbtsQYGhNkbk%2FFrVsPhPymgMyxpHOCBUgRk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;600&quot; height=&quot;153&quot; data-origin-width=&quot;1046&quot; data-origin-height=&quot;267&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Exponential Fourier Series&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Trigonemetric Fourier Series의 일반형에서 같은 주파수 $k\Omega_0$를 공유하는 sin과 cos 항을&lt;br /&gt;Complex Exponential Term으로 다음과 같이 변경가능함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이는 sin 항과 cos 항의 coefficient를 따로 구하던 방식과 달리,&lt;/li&gt;
&lt;li&gt;모든 항이 complex exponential term의 동일한 형태를 가지게 됨.&lt;/li&gt;
&lt;li&gt;주파수의 관점에선 harmonic의 주파수가 fundamental frequency의 양수배($k&amp;gt;0$)로 구성되던 Trigonemetric Fourier Series에서&lt;/li&gt;
&lt;li&gt;Complex Exponential Fourier Series로 바꾸면서 positive term과 negative term을 가지도록 변경됨.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$a_k\cos k\Omega_0 t + b_k \sin k \Omega_0 t \\ = a_k\frac{e^{jk\Omega_0 t }+ e^{-jk\Omega_0 t}}{2} + b_k \frac{e^{j k \Omega_0 t} - e^{-j k \Omega_0 t}}{2j} \\ = \frac{a_k-jb_k}{2}e^{jk\Omega_0 t} + \frac{a_k + jb_k}{2}e^{-jk\Omega_0 t}\\ = X_k e^{jk\Omega_0 t} + X_{-k} e^{-jk\Omega_0 t}\\ \quad \\ \therefore \tilde{x}(t)= \sum^\infty_{k=-\infty} X_k e^{jk\Omega_0t}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 Trigonemtric Fourier Seires는 다음과 같음:&lt;br /&gt;$$\tilde{x}(t)= a_0 + \sum^\infty_{k=1} \left[ a_k \cos k\Omega_0t + b_k \sin k\Omega_0t\right]\quad , T=\frac{2\pi}{\Omega_0}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보다 일반형이 단순해진다는 장점과 $k$의 범위가 양수에서 대칭적인 $[-\infty, \infty]$가 된다는 장점을 가짐.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 이에 대한 대가로 imaginary component가 생긴다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Exponential Fourier series의 weighted sum 에서의 각 coefficient, $X_k$ 구하기.&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;279&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boWYjP/btsQVyTBz6H/pDfBGbTNgNFKuzDDA8X9VK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boWYjP/btsQVyTBz6H/pDfBGbTNgNFKuzDDA8X9VK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boWYjP/btsQVyTBz6H/pDfBGbTNgNFKuzDDA8X9VK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboWYjP%2FbtsQVyTBz6H%2FpDfBGbTNgNFKuzDDA8X9VK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;550&quot; height=&quot;301&quot; data-origin-width=&quot;510&quot; data-origin-height=&quot;279&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Compelx Exponential Fourier Series의 Fourier Coefficient 표기-Polar Form&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$X_k = | X_k | e^{j\angle X_k}$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하나의 숫자로 보이지만 2개의 구성요소를 가지는 셈: magnitude와 phase.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;즉, line spectrum이 2개 존재함.&lt;/li&gt;
&lt;li&gt;magnitude spectrum: $ k\Omega_0 $에 대한 magnitude의 그래프.&lt;/li&gt;
&lt;li&gt;phase spectrum : $k \Omega_0 $에 대한 phase의 그래프.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;line spectrum인 이유는 $k\Omega_0$ 이므로 $\Omega_0$ 간격으로 떨어진 discrete variable에 대한 spectrum이기 때문임.&lt;/p&gt;</description>
      <category>.../Signals and Systems</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/937</guid>
      <comments>https://dsaint31.tistory.com/937#entry937comment</comments>
      <pubDate>Wed, 1 Oct 2025 08:16:23 +0900</pubDate>
    </item>
    <item>
      <title>Trigonometric Fourier series</title>
      <link>https://dsaint31.tistory.com/936</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMl5Yr/btsQWsywfq7/rXqsHY8JIjOEk9gViwQkVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMl5Yr/btsQWsywfq7/rXqsHY8JIjOEk9gViwQkVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMl5Yr/btsQWsywfq7/rXqsHY8JIjOEk9gViwQkVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMl5Yr%2FbtsQWsywfq7%2FrXqsHY8JIjOEk9gViwQkVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;100&quot; data-origin-width=&quot;464&quot; data-origin-height=&quot;116&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;삼각함수로 Fourier Series를 나타내면 다음의 장단점을 가짐:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모든 Fourier Series Coefficient가 실수임.&lt;/li&gt;
&lt;li&gt;3종류를 구해야함: $a_0, a_k, b_k$ (이 단점으로 인해 주로 complex exponential로 표현한다)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Trigonometric Fourier series&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Trigonometric function의 weighted sum (=linear combination)으로 periodic function을 나타낼 수 있음.&lt;br /&gt;$$\tilde{x}(t)=a_0 + \displaystyle \sum^\infty_{k=1} \left[ a_k \cos k\Omega_0 t + b_k \sin k\Omega_0 t \right]$$&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$\Omega_0$ 는 fundamental frequency 로 주기 $T$와 다음의 관계를 가짐: $T=\frac{2\pi}{\Omega_0}$&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 &lt;b&gt;Pulse wave(구형파) periodic signal을 Trigonometric Fourier series로 표현됨을 보여줌.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byf0E0/btsQXErtHI4/be3jfDUGbsxZ809gjD0uVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byf0E0/btsQXErtHI4/be3jfDUGbsxZ809gjD0uVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byf0E0/btsQXErtHI4/be3jfDUGbsxZ809gjD0uVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbyf0E0%2FbtsQXErtHI4%2Fbe3jfDUGbsxZ809gjD0uVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;182&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;$k=1,3,5,7$ 이며 $a_k=0$ 로 sin 성분만이 더해짐으로서 pulse wave가 됨을 보여줌.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;400&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwMZVh/btsQXGCONFB/viONF93QNXuo6WSkAJAVYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwMZVh/btsQXGCONFB/viONF93QNXuo6WSkAJAVYk/img.png&quot; data-alt=&quot;https://tikz.net/fourier_series/&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwMZVh/btsQXGCONFB/viONF93QNXuo6WSkAJAVYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwMZVh%2FbtsQXGCONFB%2FviONF93QNXuo6WSkAJAVYk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;307&quot; data-origin-width=&quot;651&quot; data-origin-height=&quot;400&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://tikz.net/fourier_series/&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Fourier Series: Fourier coefficient구하기&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;rigonometric Fourier series의 weighted sum 에서의 각 coefficient 구하기.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;cos 항에 대한 coefficient:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\begin{aligned}&amp;amp;\int_{t_0}^{t_0+T} \tilde{x}(t)\cos n\Omega_0 t dt \\&lt;br /&gt;&amp;amp;= \int_{t_0}^{t_0+T} \left[ a_0 + \sum_{k=1}^{\infty} \left( a_k \cos k\Omega_0 t + b_k \sin k\Omega_0 t \right) \right] \cos n\Omega_0 t dt \\&lt;br /&gt;&amp;amp;= a_0 \int_{t_0}^{t_0+T} \cos n\Omega_0 t dt + \sum_{k=1}^{\infty} a_k \left[ \int_{t_0}^{t_0+T} \cos k\Omega_0 t \cos n\Omega_0 t dt \right] + \sum_{k=1}^{\infty} b_k \left[ \int_{t_0}^{t_0+T} \sin k\Omega_0 t \cos n\Omega_0 t dt \right] \\&lt;br /&gt;&amp;amp;= 0 + \sum_{k=1}^{\infty} a_k \left[ \int_{t_0}^{t_0+T} \cos k\Omega_0 t \cos n\Omega_0 t dt \right] + 0 \\&lt;br /&gt;&amp;amp;= a_n \frac{T}{2}\end{aligned} \\&lt;br /&gt;\therefore \quad a_n = \frac{2}{T} \int_{t_0}^{t_0+T} \tilde{x}(t)\cos n\Omega_0 t dt$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;sin 항에 대한 coefficient:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\begin{aligned}&amp;amp;\int_{t_0}^{t_0+T} \tilde{x}(t)\sin n\Omega_0 t dt \\&lt;br /&gt;&amp;amp;= \int_{t_0}^{t_0+T} \left[ a_0 + \sum_{k=1}^{\infty} \left( a_k \cos k\Omega_0 t + b_k \sin k\Omega_0 t \right) \right] \sin n\Omega_0 t dt \\&lt;br /&gt;&amp;amp;= a_0 \int_{t_0}^{t_0+T} \sin n\Omega_0 t dt + \sum_{k=1}^{\infty} a_k \left[ \int_{t_0}^{t_0+T} \cos k\Omega_0 t \sin n\Omega_0 t dt \right] + \sum_{k=1}^{\infty} b_k \left[ \int_{t_0}^{t_0+T} \sin k\Omega_0 t \sin n\Omega_0 t dt \right] \\&lt;br /&gt;&amp;amp;= 0 + 0 + \sum_{k=1}^{\infty} b_k \left[ \int_{t_0}^{t_0+T} \sin k\Omega_0 t \sin n\Omega_0 t dt \right]\\&lt;br /&gt;&amp;amp;= b_n \frac{T}{2}\end{aligned} \\&lt;br /&gt;\therefore \quad b_n = \frac{2}{T} \int_{t_0}^{t_0+T} \tilde{x}(t)\sin n\Omega_0 t dt$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;bias 항:&lt;br /&gt;$$a_0 =\frac{1}{T}\int^{t_0+T}_{t_0} x(t) dt$$&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리하면:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;$$\begin{aligned}\tilde{x}(t)&amp;amp;=a_0 + \displaystyle \sum^\infty_{k=1} \left[ a_k \cos k\Omega_0 t + b_k \sin k\Omega_0 t \right], \quad T=\frac{2\pi}{\Omega_0} \\ \quad \\ a_0 &amp;amp;=\frac{1}{T}\int^{t_0+T}_{t_0} x(t) dt \\a_n &amp;amp;= \frac{2}{T} \int_{t_0}^{t_0+T} \tilde{x}(t)\cos n\Omega_0 t dt \\ b_n &amp;amp;= \frac{2}{T} \int_{t_0}^{t_0+T} \tilde{x}(t)\sin n\Omega_0 t dt\end{aligned}$$&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;예제:&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음 Pulse Wave에서 Fourier Series Coefficient를 $k=0,1,2,3$까지 구하라.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byf0E0/btsQXErtHI4/be3jfDUGbsxZ809gjD0uVk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byf0E0/btsQXErtHI4/be3jfDUGbsxZ809gjD0uVk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byf0E0/btsQXErtHI4/be3jfDUGbsxZ809gjD0uVk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbyf0E0%2FbtsQXErtHI4%2Fbe3jfDUGbsxZ809gjD0uVk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;182&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;\begin{align*} b_{1} &amp;amp;= \frac{2}{T} \int_{0}^{2\pi} x(t) \sin t dt = \frac{1}{\pi} \int_{0}^{\pi} \sin t \, dt - \frac{1}{\pi} \int_{\pi}^{2\pi} \sin t dt \\ &amp;amp;= \frac{1}{\pi} \left\{ \big[-\cos t \big]_{0}^{\pi} + \big[ \cos t \big]_{\pi}^{2\pi} \right\} \\ &amp;amp;= \frac{1}{\pi} \{ 1 - (-1) + 1 - (-1) \} &amp;amp;= \frac{4}{\pi} \approx 1.273 \\ \quad \\ b_{3} &amp;amp;= \frac{2}{T} \int_{0}^{2\pi} x(t) \sin 3t dt = \frac{1}{\pi} \left\{ \int_{0}^{\pi} \sin 3t \, dt - \int_{\pi}^{2\pi} \sin 3t dt \right\} \\ &amp;amp;= \frac{1}{\pi} \left\{ \left[ \frac{-\cos 3t}{3} \right]_{0}^{\pi} + \left[ \frac{\cos 3t}{3} \right]_{\pi}^{2\pi} \right\} \\ &amp;amp;= \frac{1}{3\pi} \{ 1 - (-1) + 1 - (-1) \} &amp;amp;= \frac{4}{3\pi} \approx 0.424 \end{align*}&lt;/p&gt;</description>
      <category>.../Signals and Systems</category>
      <category>Fourier series</category>
      <category>trogfonometric</category>
      <author>dsaint31x</author>
      <guid isPermaLink="true">https://dsaint31.tistory.com/936</guid>
      <comments>https://dsaint31.tistory.com/936#entry936comment</comments>
      <pubDate>Wed, 1 Oct 2025 01:16:55 +0900</pubDate>
    </item>
  </channel>
</rss>