<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Hello COCOBALL!</title>
    <link>https://coco-ball.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Wed, 27 May 2026 15:34:08 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>coco_ball</managingEditor>
    <item>
      <title>[DL] 이진 분류(Binary Classification), 다중 분류(Multiclass Classification)</title>
      <link>https://coco-ball.tistory.com/59</link>
      <description>&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;이진 분류&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;입력값에 따라 모델이 분류한 카테고리가 두 가지인 분류 알고리즘을 의미한다. True/false 를 분류하는 데 사용된다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;이진 분류는 베르누이 분포에 의해서 정의된다.&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;h3 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;로지스틱 회귀(Logistic Regression)&lt;/b&gt;&lt;/h3&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;로지스틱 회귀는 이진 분류 알고리즘 중에서 가장 대표적인 알고리즘이다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;로지스틱 회귀는 선형 방정식을 기반으로 하되, 그 결과를 &lt;b&gt;시그모이드 함수&lt;/b&gt;를 통해 0과 1 사이의 확률 값으로 변환하여 이진 분류를 수행한다. 일반적으로 입력 변수 X와 가중치 &lt;span&gt;&lt;span&gt;&amp;beta;&lt;/span&gt;&lt;/span&gt;를 사용하여 다음과 같이 예측을 수행한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;32&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/v4TUQ/btsIeHbJZkK/jQbVcJCrjl77xkrl6FmQHk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/v4TUQ/btsIeHbJZkK/jQbVcJCrjl77xkrl6FmQHk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/v4TUQ/btsIeHbJZkK/jQbVcJCrjl77xkrl6FmQHk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fv4TUQ%2FbtsIeHbJZkK%2FjQbVcJCrjl77xkrl6FmQHk%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;320&quot; height=&quot;32&quot; data-origin-width=&quot;320&quot; data-origin-height=&quot;32&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;z는 선형 결합을 나타내고, 이 값을 시그모이드 함수에 적용하여 클래스 1 에 속할 확률을 계산한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;157&quot; data-origin-height=&quot;48&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eAj1Ms/btsIcEgMgeA/KG8vCTboPHgYhDPXL3GAx0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eAj1Ms/btsIcEgMgeA/KG8vCTboPHgYhDPXL3GAx0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eAj1Ms/btsIcEgMgeA/KG8vCTboPHgYhDPXL3GAx0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeAj1Ms%2FbtsIcEgMgeA%2FKG8vCTboPHgYhDPXL3GAx0%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;157&quot; height=&quot;48&quot; data-origin-width=&quot;157&quot; data-origin-height=&quot;48&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;시그모이드 함수(Sigmoid Function)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시그모이드 함수에 대해 알아보기 전, 오즈 비(odds ratio)에 대한 내용을 먼저 정리한다.&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;264&quot; data-origin-height=&quot;69&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCzPO3/btsIcQuGJIl/kf5hY7BVoRmhK8efFYSzOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCzPO3/btsIcQuGJIl/kf5hY7BVoRmhK8efFYSzOK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCzPO3/btsIcQuGJIl/kf5hY7BVoRmhK8efFYSzOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCzPO3%2FbtsIcQuGJIl%2Fkf5hY7BVoRmhK8efFYSzOK%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;203&quot; height=&quot;53&quot; data-origin-width=&quot;264&quot; data-origin-height=&quot;69&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 p는 성공 확률을 의미하고, 자연로그를 취한 함수를 로짓 함수(logit function)이라 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;233&quot; data-origin-height=&quot;55&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Urds4/btsId0XdMwD/nrnZchEP1sOahB4bO08gY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Urds4/btsId0XdMwD/nrnZchEP1sOahB4bO08gY0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Urds4/btsId0XdMwD/nrnZchEP1sOahB4bO08gY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUrds4%2FbtsId0XdMwD%2FnrnZchEP1sOahB4bO08gY0%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;199&quot; height=&quot;47&quot; data-origin-width=&quot;233&quot; data-origin-height=&quot;55&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;435&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cas4QY/btsIeegClOt/a0NRbkZkhI2f0tS8mlFZj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cas4QY/btsIeegClOt/a0NRbkZkhI2f0tS8mlFZj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cas4QY/btsIeegClOt/a0NRbkZkhI2f0tS8mlFZj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcas4QY%2FbtsIeegClOt%2Fa0NRbkZkhI2f0tS8mlFZj0%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;850&quot; height=&quot;435&quot; data-origin-width=&quot;850&quot; data-origin-height=&quot;435&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그림을 통해 확인할 수 있듯이 p가 0에 가까워 지면 음의 무한대로, p가 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;로짓 함수를 z로 정의하고 z에 대해 정리하면 시그모이드 함수를 얻을 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;410&quot; data-origin-height=&quot;172&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cx6bg4/btsId8uaDtq/iMyNxlZ7Qikkz9BqPRpqn0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cx6bg4/btsId8uaDtq/iMyNxlZ7Qikkz9BqPRpqn0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cx6bg4/btsId8uaDtq/iMyNxlZ7Qikkz9BqPRpqn0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcx6bg4%2FbtsId8uaDtq%2FiMyNxlZ7Qikkz9BqPRpqn0%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;410&quot; height=&quot;172&quot; data-origin-width=&quot;410&quot; data-origin-height=&quot;172&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;849&quot; data-origin-height=&quot;420&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bCQnZ2/btsIdH4Wvvq/3pSzi3q5yft4KwvksKKKLk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bCQnZ2/btsIdH4Wvvq/3pSzi3q5yft4KwvksKKKLk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bCQnZ2/btsIdH4Wvvq/3pSzi3q5yft4KwvksKKKLk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbCQnZ2%2FbtsIdH4Wvvq%2F3pSzi3q5yft4KwvksKKKLk%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;849&quot; height=&quot;420&quot; data-origin-width=&quot;849&quot; data-origin-height=&quot;420&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시그모이드 함수는 입력값을 0과 1 사이의 값으로 변환하여 확률로 해석할 수 있게 한다. 함수값이 0.5보다 크면 모델은 클래스 1로 예측하고, 작으면 클래스 0으로 예측한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로지스틱 회귀 모델은 입력값과 가중치를 곱해 출력된 값을 활성화 함수에 대입하고, 활성화 함수를 통과한 값이 임계값 이상이면 true, 이하이면 false를 반환한다. 시그모이드 함수를 활성화 함수로 사용할 경우 활성화 함수를 통과한 값이 0부터 1 사이의 값을 가지기 때문에 이를 확률처럼 해석하는 것이 가능해진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;손실 함수(Loss Function)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로지스틱 회귀는 손실 함수로 이진 교차 엔트로피(Binary Cross-Entropy)를 사용하고, 그 형태는 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;393&quot; data-origin-height=&quot;75&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AFZNS/btsId3GvqY8/7t8MGOOne29Hpw5TVLKxv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AFZNS/btsId3GvqY8/7t8MGOOne29Hpw5TVLKxv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AFZNS/btsId3GvqY8/7t8MGOOne29Hpw5TVLKxv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAFZNS%2FbtsId3GvqY8%2F7t8MGOOne29Hpw5TVLKxv1%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;393&quot; height=&quot;75&quot; data-origin-width=&quot;393&quot; data-origin-height=&quot;75&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;a는 활성화 함수를 통과한 값이고, 타겟 값인 y는 0 또는 1이기 때문에 i번째 데이터에 대한 손실은 다음과 같은 값을 가진다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;316&quot; data-origin-height=&quot;93&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FsqU8/btsIdiqPLyU/Zlqivfms3RkfdPMPSnjjk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FsqU8/btsIdiqPLyU/Zlqivfms3RkfdPMPSnjjk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FsqU8/btsIdiqPLyU/Zlqivfms3RkfdPMPSnjjk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFsqU8%2FbtsIdiqPLyU%2FZlqivfms3RkfdPMPSnjjk1%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;316&quot; height=&quot;93&quot; data-origin-width=&quot;316&quot; data-origin-height=&quot;93&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시그모이드 함수를 거친 a는 0에서 1 사이의 값을 가진다. -log(a)는 a가 1에 가까워질수록 그 값이 작아지지만, -log(1-a)는 a가 0에 가까워질수록 값이 작아진다.&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;즉, 손실 함수값을 최소화 하는 과정에서 타겟이 참이면 -log(a)의 값이 작아져 a가 1에 가까워지고, 반대의 경우에는 a가 0에 가까워진다.&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;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000;&quot; 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;다중 분류는 true/false의 값을 가지는 이진 분류와는 다르게 3개 이상의 클래스 중 하나를 예측하는 문제를 의미하고, 타겟이 가지는 값에 대응되는 데이터의 집합을 클래스 혹은 레이블이라고 한다. 다중 분류의 경우 단일 레이블 분류(single-lable classification)에 속하고, 이는 입력값 하나당 하나의 클래스에만 대응될 수 있다는 것을 의미한다(하나의 입력값이 여러 개의 클래스에 대응되는 경우는 다중 레이블 분류라고 함).&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;797&quot; data-origin-height=&quot;444&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IixSD/btsIcPJxQnY/p5zqG2iDKwborF8KDgKDyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IixSD/btsIcPJxQnY/p5zqG2iDKwborF8KDgKDyk/img.png&quot; data-alt=&quot;https://yhyun225.tistory.com/14&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IixSD/btsIcPJxQnY/p5zqG2iDKwborF8KDgKDyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIixSD%2FbtsIcPJxQnY%2Fp5zqG2iDKwborF8KDgKDyk%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;797&quot; height=&quot;444&quot; data-origin-width=&quot;797&quot; data-origin-height=&quot;444&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://yhyun225.tistory.com/14&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;이진 분류에서의 로지스틱 회귀는 true/false를 판별하기 때문에 출력값이 하나지만, 다중 분류 모델은 여러 개의 출력 값을 가지며, 각각의 출력값은 대응되는 타겟과 매칭 될 확률을 의미한다. 그림을 통해 확인할 수 있듯이, 다중 분류에서는 softmax 함수를 사용하고(로지스틱 회귀에서는 시그모이드 함수 사용), one-hot encoding이라는 기법을 사용한다(로지스틱 회귀에서는 마지막 출력값인 a가 임계값을 넘는지 검사하기 위해 threshold function을 사용).&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Softmax 함수&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Softmax 함수는 다음과 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;208&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dhGX47/btsIeHpsXXe/5j2hk2VymMOR4luGWFoMv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dhGX47/btsIeHpsXXe/5j2hk2VymMOR4luGWFoMv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dhGX47/btsIeHpsXXe/5j2hk2VymMOR4luGWFoMv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdhGX47%2FbtsIeHpsXXe%2F5j2hk2VymMOR4luGWFoMv0%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;375&quot; height=&quot;156&quot; data-origin-width=&quot;500&quot; data-origin-height=&quot;208&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;시그모이드 함수를 일반화하였으며, 시그모이드 함수에서처럼 결과값을 확률처럼 해석할 수 있도록 출력값들을 0에서 1 사이의 숫자로 정규화한다. 또한, 모든 출력 값의 합이 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;Softmax 함수를 통과했을 때 가장 높은 값에 대응되는 클래스가 모델의 예측값이 된다.&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로 만들고 나머지 모든 값들을 0으로 수정한다. 이러한 기법을 one-hot encoding이라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;color: #000000;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;손실 함수&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로지스틱 회귀는 이진 교차 엔트로피를 사용했으나, 다중 분류에서는 이진 교차 엔트로피의 일반화 버전인 교차 엔트로피(cross entropy) 손실 함수를 사용한다. 이는 categorical cross entropy라고도 부르고, 다음과 같이 정의된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;261&quot; data-origin-height=&quot;112&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zrqIW/btsIe21b6VC/Ks7AQNWKPhsqdRgSS03tzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zrqIW/btsIe21b6VC/Ks7AQNWKPhsqdRgSS03tzk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zrqIW/btsIe21b6VC/Ks7AQNWKPhsqdRgSS03tzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzrqIW%2FbtsIe21b6VC%2FKs7AQNWKPhsqdRgSS03tzk%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;221&quot; height=&quot;95&quot; data-origin-width=&quot;261&quot; data-origin-height=&quot;112&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출력값 중 가장 높은 값을 1로 남겨두고 나머지 값들은 0이 되기 때문에 다음과 같이 정의할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;261&quot; data-origin-height=&quot;76&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ggsdh/btsIdFzpNHX/k1IRT4DK8ekKMOTq7ttLA1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ggsdh/btsIdFzpNHX/k1IRT4DK8ekKMOTq7ttLA1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ggsdh/btsIdFzpNHX/k1IRT4DK8ekKMOTq7ttLA1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGgsdh%2FbtsIdFzpNHX%2Fk1IRT4DK8ekKMOTq7ttLA1%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;261&quot; height=&quot;76&quot; data-origin-width=&quot;261&quot; data-origin-height=&quot;76&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;참고&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://yhyun225.tistory.com/12&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://yhyun225.tistory.com/12&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://yhyun225.tistory.com/14&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://yhyun225.tistory.com/14&lt;/a&gt;&lt;/p&gt;</description>
      <category>Deep Learning</category>
      <category>딥러닝</category>
      <category>이진분류</category>
      <author>coco_ball</author>
      <guid isPermaLink="true">https://coco-ball.tistory.com/59</guid>
      <comments>https://coco-ball.tistory.com/59#entry59comment</comments>
      <pubDate>Wed, 26 Jun 2024 18:59:42 +0900</pubDate>
    </item>
    <item>
      <title>[DL] 베르누이 분포(Bernoulli distribution)</title>
      <link>https://coco-ball.tistory.com/58</link>
      <description>&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;/b&gt; 중 하나이다. 베르누이 분포는 두 가지 가능한 결과를 가지는 시행의 확률 분포를 나타내고, 일반적으로 두 가지 결과는 성공, 실패로 정의된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한, 두 가지의 결과만을 가지는 시행을 &lt;b&gt;베르누이 시행&lt;/b&gt;이라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;베르누이 분포의 정의&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;베르누이 분포는 매개변수 p(성공 확률)로 정의된다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;X를 베르누이 분포를 따르는 이산 확률 변수라고 하면, X는 1, 0의 값을 가질 수 있다.&lt;/li&gt;
&lt;li&gt;X=1일 확률은 p이고, X=0일 확률은 1-p이다.&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;209&quot; data-origin-height=&quot;156&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Pp4aV/btsIcAyPXbb/YrzzMKZnGE61VhkGQQgbK0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Pp4aV/btsIcAyPXbb/YrzzMKZnGE61VhkGQQgbK0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Pp4aV/btsIcAyPXbb/YrzzMKZnGE61VhkGQQgbK0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPp4aV%2FbtsIcAyPXbb%2FYrzzMKZnGE61VhkGQQgbK0%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;171&quot; height=&quot;128&quot; data-origin-width=&quot;209&quot; data-origin-height=&quot;156&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;확률 질량 함수(Probability Mass Function, PMF)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&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;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;342&quot; data-origin-height=&quot;110&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKNU7L/btsIdPImpkX/CrEvFkL0GgzLQQVyye8DBk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKNU7L/btsIdPImpkX/CrEvFkL0GgzLQQVyye8DBk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKNU7L/btsIdPImpkX/CrEvFkL0GgzLQQVyye8DBk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKNU7L%2FbtsIdPImpkX%2FCrEvFkL0GgzLQQVyye8DBk%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;342&quot; height=&quot;110&quot; data-origin-width=&quot;342&quot; data-origin-height=&quot;110&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;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;439&quot; data-origin-height=&quot;58&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sgpLA/btsIcZdQdm7/tRbKrZhyK3uzd9W5A0uuP1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sgpLA/btsIcZdQdm7/tRbKrZhyK3uzd9W5A0uuP1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sgpLA/btsIcZdQdm7/tRbKrZhyK3uzd9W5A0uuP1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsgpLA%2FbtsIcZdQdm7%2FtRbKrZhyK3uzd9W5A0uuP1%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;371&quot; height=&quot;49&quot; data-origin-width=&quot;439&quot; data-origin-height=&quot;58&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;기댓값과 분산&lt;/b&gt;&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;기댓값(Expected value)&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;118&quot; data-origin-height=&quot;42&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwiIWo/btsIdRsBOmI/SNHUCsFnAZ7k3PJJLeIgq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwiIWo/btsIdRsBOmI/SNHUCsFnAZ7k3PJJLeIgq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwiIWo/btsIdRsBOmI/SNHUCsFnAZ7k3PJJLeIgq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwiIWo%2FbtsIdRsBOmI%2FSNHUCsFnAZ7k3PJJLeIgq0%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;42&quot; data-origin-width=&quot;118&quot; data-origin-height=&quot;42&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;분산(Variance)&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;212&quot; data-origin-height=&quot;51&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nuXro/btsIdwWAO18/xMGx9rSV7keQE4XEUKNXTK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nuXro/btsIdwWAO18/xMGx9rSV7keQE4XEUKNXTK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nuXro/btsIdwWAO18/xMGx9rSV7keQE4XEUKNXTK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnuXro%2FbtsIdwWAO18%2FxMGx9rSV7keQE4XEUKNXTK%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;212&quot; height=&quot;51&quot; data-origin-width=&quot;212&quot; data-origin-height=&quot;51&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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;예시&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;베르누이 분포는 단순하지만, 많은 중요한 확률 분포와 모델의 기초가 된다. 예를 들어, 여러 번의 독립적인 베르누이 시행의 합으로 이루어진 이항 분포(Binomial distribution)도 있다.&lt;/p&gt;</description>
      <category>Deep Learning</category>
      <category>딥러닝</category>
      <category>베르누이 분포</category>
      <author>coco_ball</author>
      <guid isPermaLink="true">https://coco-ball.tistory.com/58</guid>
      <comments>https://coco-ball.tistory.com/58#entry58comment</comments>
      <pubDate>Wed, 26 Jun 2024 17:41:41 +0900</pubDate>
    </item>
    <item>
      <title>[DL] 경사 하강법(Gradient descent)</title>
      <link>https://coco-ball.tistory.com/57</link>
      <description>&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;/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;최소값을 찾기 위해 손실 함수를 미분하여 미분계수가 0인 지점을 찾는 방법을 사용할 수 있지만, 일반적으로 사용되는 함수들은 간단한 함수가 아니라 대부분 복잡하고 비선형적인 패턴을 가지는 함수이기 때문에 미분을 통해 최소값을 찾기가 어려운 경우가 많아 손실 함수의 최소값을 찾을 때 경사 하강법을 주로 사용한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;806&quot; data-origin-height=&quot;310&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xHIp3/btsIdi4eaBd/bPdcKkLJf5UeokRZA6tnS1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xHIp3/btsIdi4eaBd/bPdcKkLJf5UeokRZA6tnS1/img.png&quot; data-alt=&quot;https://daebaq27.tistory.com/35&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xHIp3/btsIdi4eaBd/bPdcKkLJf5UeokRZA6tnS1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxHIp3%2FbtsIdi4eaBd%2FbPdcKkLJf5UeokRZA6tnS1%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;806&quot; height=&quot;310&quot; data-origin-width=&quot;806&quot; data-origin-height=&quot;310&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://daebaq27.tistory.com/35&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;384&quot; data-origin-height=&quot;288&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/crFcbp/btsIcFySfG5/Pwkf7AUWMWLqk4HaQwHZVk/img.gif&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/crFcbp/btsIcFySfG5/Pwkf7AUWMWLqk4HaQwHZVk/img.gif&quot; data-alt=&quot;https://hackernoon.com/life-is-gradient-descent-880c60ac1be8&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/crFcbp/btsIcFySfG5/Pwkf7AUWMWLqk4HaQwHZVk/img.gif&quot; srcset=&quot;https://blog.kakaocdn.net/dn/crFcbp/btsIcFySfG5/Pwkf7AUWMWLqk4HaQwHZVk/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;384&quot; height=&quot;288&quot; data-origin-width=&quot;384&quot; data-origin-height=&quot;288&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://hackernoon.com/life-is-gradient-descent-880c60ac1be8&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 위치에서의 기울기가 양수인 경우 x를 음의 방향으로 옮기고, 반대의 경우에는 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;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;문제점&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. Step size&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1263&quot; data-origin-height=&quot;606&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTwZ9l/btsIbiSCYVd/hkoVPNwXkXBCObNzMi3Kt1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTwZ9l/btsIbiSCYVd/hkoVPNwXkXBCObNzMi3Kt1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTwZ9l/btsIbiSCYVd/hkoVPNwXkXBCObNzMi3Kt1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTwZ9l%2FbtsIbiSCYVd%2FhkoVPNwXkXBCObNzMi3Kt1%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;1263&quot; height=&quot;606&quot; data-origin-width=&quot;1263&quot; data-origin-height=&quot;606&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;Step size를 크게 설정할 경우에는 한 번에 이동하는 크기가 커지기 때문에 최소값에 빠르게 수렴할 수 있다는 장점이 있다. 그러나 크기를 과도하게 크게 설정할 경우, 최소값에 수렴하지 못하고 다른 곳으로 발산하는 현상이 발생할 수 있다.&lt;/li&gt;
&lt;li&gt;Step size를 너무 작게 설정할 경우에는 발산하지 않는 대신 최소값에 수렴하는 시간이 오래걸릴 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. Local minima&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1255&quot; data-origin-height=&quot;1020&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FT6Sr/btsIbo500cD/yicdW9H4DPsMZWy3ik3Upk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FT6Sr/btsIbo500cD/yicdW9H4DPsMZWy3ik3Upk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FT6Sr/btsIbo500cD/yicdW9H4DPsMZWy3ik3Upk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFT6Sr%2FbtsIbo500cD%2FyicdW9H4DPsMZWy3ik3Upk%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;1255&quot; height=&quot;1020&quot; data-origin-width=&quot;1255&quot; data-origin-height=&quot;1020&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제로 찾고자 하는 것은 전역 최소값이지만, 경사 하강법은 알고리즘이 시작되는 위치가 랜덤이기 때문에 특정 경우에는 지역 최소값에 빠져 탈출하지 못하고 해당 위치로 수렴할 수 있는 가능성이 존재한다.&lt;/p&gt;</description>
      <category>Deep Learning</category>
      <category>Gradient Descent</category>
      <category>경사하강법</category>
      <category>딥러닝</category>
      <author>coco_ball</author>
      <guid isPermaLink="true">https://coco-ball.tistory.com/57</guid>
      <comments>https://coco-ball.tistory.com/57#entry57comment</comments>
      <pubDate>Tue, 25 Jun 2024 21:01:33 +0900</pubDate>
    </item>
    <item>
      <title>[DL] 데이터셋 구성</title>
      <link>https://coco-ball.tistory.com/56</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt; 데이터셋의 구성 &lt;/b&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&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;모델을 학습시키는 데 사용된다. 모델이 입력과 출력 간의 관계를 학습하여 예측을 할 수 있도록 한다. 전체 데이터셋의 대부분을 차지하며, 다양한 패턴과 예시를 포함하고 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;검증 데이터셋(Validation Dataset)&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;테스트 데이터셋(Test Dataset)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;목적&lt;/b&gt;: 최종 모델의 성능을 평가하는 데 사용된다. 모델의 일반화 성능을 평가하여 실제 상황에서 얼마나 잘 작동할지를 판단한다. 학습과 검증 데이터와 독립적이며, 모델 학습 및 튜닝 과정에서는 사용되지 않는다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;데이터셋의 분할&lt;/b&gt;&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;&lt;b&gt;학습 데이터셋&lt;/b&gt;: 전체 데이터의 60-80%&lt;/li&gt;
&lt;li&gt;&lt;b&gt;검증 데이터셋&lt;/b&gt;: 전체 데이터의 10-20%&lt;/li&gt;
&lt;li&gt;&lt;b&gt;테스트 데이터셋&lt;/b&gt;: 전체 데이터의 10-20%&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;훈련 데이터 단위&lt;/b&gt;&lt;/h2&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;배치(Batch) 방식
&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;미니 배치(Mini Batch) 방식
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;배치 방식의 한계를 극복하기 위해 전체 훈련 데이터셋을 작은 크기의 배치로 나누어서 훈련하는 방식을 의미한다. 일반적으로 신경망은 미니 배치 방식으로 훈련을 진행한다. 각 미니 배치는 여러 샘플들을 포함하고 있으며, 보통 크기는 32, 64, 128 등의 값을 가진다. 메모리 사용량과 계산 시간을 균형 있게 조절하는 것이 가능하지만 미니 배치의 크기에 따라 학습 속도와 성능이 달라질 수도 있다.&lt;/li&gt;
&lt;li&gt;미니 배치의 크기를 1로 하면 확률적 방식이 되고, 훈련 데이터셋의 크기로 하면 배치 방식이 되기 때문에 미디 배치 방식이 가장 융통성 있는 방식이다.&lt;/li&gt;
&lt;li&gt;신경망을 미니 배치 방식으로 훈련할 경우 배치 방식보다 학습 속도가 빨라지고 확률적 성질을 갖게 되어 더 좋은 최적해를 찾을 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;확률적(Stochastic) 방식
&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;/ol&gt;</description>
      <category>Deep Learning</category>
      <author>coco_ball</author>
      <guid isPermaLink="true">https://coco-ball.tistory.com/56</guid>
      <comments>https://coco-ball.tistory.com/56#entry56comment</comments>
      <pubDate>Tue, 25 Jun 2024 19:36:08 +0900</pubDate>
    </item>
    <item>
      <title>[DL] 손실 함수(Loss Function)</title>
      <link>https://coco-ball.tistory.com/55</link>
      <description>&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;/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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;손실 함수의 종류&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;평균 제곱 오차(Mean Squared Error, MSE)&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;419&quot; data-origin-height=&quot;141&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bw3rsg/btsH95ePLSs/Z0gvHlbSV4ekyqSYyYCjq0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bw3rsg/btsH95ePLSs/Z0gvHlbSV4ekyqSYyYCjq0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bw3rsg/btsH95ePLSs/Z0gvHlbSV4ekyqSYyYCjq0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbw3rsg%2FbtsH95ePLSs%2FZ0gvHlbSV4ekyqSYyYCjq0%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;276&quot; height=&quot;93&quot; data-origin-width=&quot;419&quot; data-origin-height=&quot;141&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&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;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;실제값과 예측값 간의 오차의 제곱을 평균하여 계산한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;MSE는 오차가 커질수록 손실 함수값이 빠르게 증가하는 특징이 있다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;회귀 문제에서 주로 사용된다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;평균 절대 오차(Mean Absolute Error, MAE)&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;408&quot; data-origin-height=&quot;137&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pRTcX/btsIblVz8JQ/s3SbNs6Xmnok2pHankhXk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pRTcX/btsIblVz8JQ/s3SbNs6Xmnok2pHankhXk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pRTcX/btsIblVz8JQ/s3SbNs6Xmnok2pHankhXk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpRTcX%2FbtsIblVz8JQ%2Fs3SbNs6Xmnok2pHankhXk0%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;262&quot; height=&quot;88&quot; data-origin-width=&quot;408&quot; data-origin-height=&quot;137&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;MSE와는 다르게 손실 함수가 오차와 비례하여 일정하게 커진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회귀 문제에서 주로 사용된다.&lt;/p&gt;</description>
      <category>Deep Learning</category>
      <category>손실 함수</category>
      <author>coco_ball</author>
      <guid isPermaLink="true">https://coco-ball.tistory.com/55</guid>
      <comments>https://coco-ball.tistory.com/55#entry55comment</comments>
      <pubDate>Tue, 25 Jun 2024 18:06:41 +0900</pubDate>
    </item>
    <item>
      <title>[DL] 범용 근사 정리(Universal Approximation Theorem)</title>
      <link>https://coco-ball.tistory.com/54</link>
      <description>&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;/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;/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 Neural Network)을 사용하는 것이 학습과 일반화 측면에서 더 효율적이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;너무 많은 뉴런을 사용하면 계산 복잡도가 증가하고, 과적합 문제가 발생할 수 있다. 따라서, 신경망의 깊이와 너비는 실용적인 측면에서 최적화되어야 한다.&lt;/p&gt;</description>
      <category>Deep Learning</category>
      <category>딥러닝</category>
      <category>범용 근사 정리</category>
      <author>coco_ball</author>
      <guid isPermaLink="true">https://coco-ball.tistory.com/54</guid>
      <comments>https://coco-ball.tistory.com/54#entry54comment</comments>
      <pubDate>Tue, 25 Jun 2024 17:32:30 +0900</pubDate>
    </item>
    <item>
      <title>[DL] 회귀(Regression), 분류(Classification)</title>
      <link>https://coco-ball.tistory.com/53</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;회귀(Regression)&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;다시 말하자면, 실수형 변수값을 통해 예측하고, 예측 결과가 연속성을 지니는 경우에는 회귀 문제라고 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;분류(Classification)&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;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;1. 이진 분류 (Binary Classification)&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;정의&lt;/b&gt;: 데이터를 두 개의 클래스로 분류하는 문제.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예시&lt;/b&gt;: 스팸 이메일 분류(스팸/비스팸), 질병 진단(질병 있음/없음).&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;2. 다중 분류 (Multi-class Classification)&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;정의&lt;/b&gt;: 데이터를 세 개 이상의 클래스로 분류하는 문제.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예시&lt;/b&gt;: 손글씨 숫자 인식(0-9), 이미지 분류(개, 고양이, 자동차 등).&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;3. 판별 함수 (Discriminant Function)&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;정의&lt;/b&gt;: 입력 데이터를 기반으로 해당 데이터가 속한 클래스를 직접 예측하는 함수.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예시&lt;/b&gt;: 로지스틱 회귀, 서포트 벡터 머신.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;4. 확률 모델 (Probability Model)&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;정의&lt;/b&gt;: 입력 데이터가 각 클래스에 속할 확률을 예측하는 모델.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;예시&lt;/b&gt;: 나이브 베이즈, 소프트맥스 회귀.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Deep Learning</category>
      <category>classification</category>
      <category>regression</category>
      <category>딥러닝</category>
      <category>분류</category>
      <category>회귀</category>
      <author>coco_ball</author>
      <guid isPermaLink="true">https://coco-ball.tistory.com/53</guid>
      <comments>https://coco-ball.tistory.com/53#entry53comment</comments>
      <pubDate>Tue, 25 Jun 2024 16:40:04 +0900</pubDate>
    </item>
    <item>
      <title>[DL] 순방향 신경망(Feedforward Neural Network)</title>
      <link>https://coco-ball.tistory.com/52</link>
      <description>&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;순방향 신경망은 가장 기본적인 형태의 인공 신경망이다. 입력층, 은닉층, 출력층으로 구분되며 입, 출력층은 각각 하나씩 존재하지만 입력층과 출력층 사이에 있는 은닉층은 문제의 복잡도에 따라 가변적으로 구성된다. 계층이 2~3개 정도로 구성되어 있으면 얕은 신경망(Shallow Neural Network), 그 이상인 경우에는 깊은 신경망(Deep Neural Network, DNN)이라고 한다.&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. 입력층 : 외부로부터 입력 데이터를 받아들임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 은닉층 : 데이터의 특징을 추출.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 출력층 : 추출된 특징을 기반으로 추론한 최종 결과 출력.&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;순방향 신경망은 모든 계층이 완전 연결 계층(Fully Connected Layer)로 구성된다. 각 계층에 속한 모든 뉴런들이 이전 계층의 모든 뉴런과 연결되어 있는 구조를 의미하고, 이러한 구조로 인해 같은 입력 데이터로부터 각 뉴런에서는 다른 특징을 추출하는 것이 가능하다. 그러므로, 특징이 많은 데이터일수록 뉴런의 개수가 충분해야 데이터에 포함되어 있는 특징들을 모두 추출할 수 있다.&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;/b&gt;과 &lt;b&gt;활성화 함수&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;활성화 함수는 원하는 형태로 특징을 추론하기 위해 데이터를 비선형적으로 변환하는 과정이다(ReLU 등).&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;739&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mjZiD/btsH8Uxq8mw/9NfTea3difKMCZccsk27D0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mjZiD/btsH8Uxq8mw/9NfTea3difKMCZccsk27D0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mjZiD/btsH8Uxq8mw/9NfTea3difKMCZccsk27D0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmjZiD%2FbtsH8Uxq8mw%2F9NfTea3difKMCZccsk27D0%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;1280&quot; height=&quot;739&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;739&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>Deep Learning</category>
      <category>feedforward neural network</category>
      <category>딥러닝</category>
      <category>순방향 신경망</category>
      <author>coco_ball</author>
      <guid isPermaLink="true">https://coco-ball.tistory.com/52</guid>
      <comments>https://coco-ball.tistory.com/52#entry52comment</comments>
      <pubDate>Mon, 24 Jun 2024 14:11:45 +0900</pubDate>
    </item>
    <item>
      <title>[DL] 손실 함수(Loss Function)</title>
      <link>https://coco-ball.tistory.com/51</link>
      <description>&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;/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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;손실 함수의 종류&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;평균 제곱 오차(Mean Squared Error, MSE)&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;419&quot; data-origin-height=&quot;141&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c1Z2a1/btsIaSdiBnR/yCCxfOwOUcG4xkYcAGPQTk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c1Z2a1/btsIaSdiBnR/yCCxfOwOUcG4xkYcAGPQTk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c1Z2a1/btsIaSdiBnR/yCCxfOwOUcG4xkYcAGPQTk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc1Z2a1%2FbtsIaSdiBnR%2FyCCxfOwOUcG4xkYcAGPQTk%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;276&quot; height=&quot;93&quot; data-origin-width=&quot;419&quot; data-origin-height=&quot;141&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&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;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;실제값과 예측값 간의 오차의 제곱을 평균하여 계산한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;MSE는 오차가 커질수록 손실 함수값이 빠르게 증가하는 특징이 있다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;회귀 문제에서 주로 사용된다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;평균 절대 오차(Mean Absolute Error, MAE)&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;408&quot; data-origin-height=&quot;137&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKYnDv/btsH9J2kTDx/iB7OsdnayBimzCls4sNQD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKYnDv/btsH9J2kTDx/iB7OsdnayBimzCls4sNQD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKYnDv/btsH9J2kTDx/iB7OsdnayBimzCls4sNQD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKYnDv%2FbtsH9J2kTDx%2FiB7OsdnayBimzCls4sNQD0%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;262&quot; height=&quot;88&quot; data-origin-width=&quot;408&quot; data-origin-height=&quot;137&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;MSE와는 다르게 손실 함수가 오차와 비례하여 일정하게 커진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회귀 문제에서 주로 사용된다.&lt;/p&gt;</description>
      <category>Deep Learning</category>
      <category>Loss function</category>
      <category>Mae</category>
      <category>MSE</category>
      <category>손실 함수</category>
      <author>coco_ball</author>
      <guid isPermaLink="true">https://coco-ball.tistory.com/51</guid>
      <comments>https://coco-ball.tistory.com/51#entry51comment</comments>
      <pubDate>Sun, 23 Jun 2024 22:28:30 +0900</pubDate>
    </item>
    <item>
      <title>[DL] 기울기 소실(Vanishing Gradient)</title>
      <link>https://coco-ball.tistory.com/50</link>
      <description>&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;딥러닝에서 은닉층을 많이 추가할수록 학습이 더 잘 될 것 같지만, 실제로는 기울기 소실 문제때문에 그렇지 않다. 기울기 소실은 역전파(backpropagation) 과정에서 발생하는 문제로, 출력층에서부터 멀어지면 멀어질수록 기울기(gradient)가 점점 작아져서 결국 거의 0에 가까워지는 현상을 의미한다. 이렇게 되면 가중치가 업데이트 되지 않아 학습이 매우 느리거나 멈추게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. 활성화 함수&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Sigmoid나 tanh와 같은 활성화 함수는 입력 값이 매우 크거나 작을 때 출력의 변화가 매우 작다. 예를 들어 Sigmoid의 도함수는 아래와 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;548&quot; data-origin-height=&quot;116&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kYaA8/btsH9GYUKcq/zhmw5xVPgpuAIFRRGcKrpK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kYaA8/btsH9GYUKcq/zhmw5xVPgpuAIFRRGcKrpK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kYaA8/btsH9GYUKcq/zhmw5xVPgpuAIFRRGcKrpK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkYaA8%2FbtsH9GYUKcq%2Fzhmw5xVPgpuAIFRRGcKrpK%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;246&quot; height=&quot;52&quot; data-origin-width=&quot;548&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;여기서 &lt;span&gt;&lt;span&gt;&amp;sigma;(x)가 0 또는 1에 가까워지면 도함수가 0에 가까워진다. 이러한 활성화 함수들은 입력 값이 크거나 작을 때 기울기를 거의 0으로 만들기 때문에, 역전파 동안 기울기가 점점 더 작아진다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1088&quot; data-origin-height=&quot;550&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FPBQ6/btsH83HcAvj/joVAlN9gOuwzs1si6UaHlK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FPBQ6/btsH83HcAvj/joVAlN9gOuwzs1si6UaHlK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FPBQ6/btsH83HcAvj/joVAlN9gOuwzs1si6UaHlK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFPBQ6%2FbtsH83HcAvj%2FjoVAlN9gOuwzs1si6UaHlK%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;1088&quot; height=&quot;550&quot; data-origin-width=&quot;1088&quot; data-origin-height=&quot;550&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그림을 통해 설명하자면,&amp;nbsp; Sigmoid 함수의 미분 값은 0일 때 가장 크지만 0.25에 불과하고, x값이 작아지거나 커지면 0에 수렴하는 것을 확인할 수 있다. 따라서, 역전파 과정에서 Sigmoid 함수의 미분값이 반복적으로 곱해질 경우 출력층과 멀어지면 멀어질수록 gradient 값이 매우 작아질 수 밖에 없다. 결국 Sigmoid 함수를 사용할 경우 모델의 학습이 제대로 이루어지지 않게 되는 것이다.&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;Tanh 함수는 출력값이 최대 1, 최소 -1 사이의 값을 가져 Sigmoid 함수에 비해 출력값의 범위를 2배 늘렸으나, 그럼에도 불구하고 Sigmoid 함수에서와 유사하게 x값이 크거나 작아짐에 따라서 기울기의 크기가 매우 작아지기 때문에 기울기 소실 문제를 방지하는 데 어려움이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. 네트워크 깊이&lt;/b&gt;&lt;/h3&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;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;기울기 소실 문제의 해결 방법&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. ReLU 함수&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ReLU 함수는 이러한 기울기 소실 문제를 해결하기 위해서 제안되었다. ReLU는 입력값이 0보다 클 경우 기울기를 항상 유지하기 때문에 기울기 소실 문제를 완화하는 것이 가능하다. 또한, Sigmoid, tanh 함수처럼 특별한 연산이 필요 없이 단순히 0을 기준으로 출력값이 결정되기 때문에 비교적으로 연산 속도가 빠르다는 특징이 있다.&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;하지만 ReLU 함수는 입력값이 0보다 작을 경우 기울기가 항상 0이기 때문에 입력값이 음수인 뉴런은 다시 회생시키는 것이 어렵다는 문제(죽어가는 ReLU, Dying ReLU)가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. Leaky ReLU 함수&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Dying ReLU 현상을 보완하기 위해 제안되었다. 이는 입력값이 음수인 경우 기울기가 0이 아닌 매우 작은 특정 값을 출력하도록 한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;1213&quot; data-origin-height=&quot;96&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4Zdpq/btsH8Lz0GY5/Cgx9mpoPEZ6wX7xovo55p0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4Zdpq/btsH8Lz0GY5/Cgx9mpoPEZ6wX7xovo55p0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4Zdpq/btsH8Lz0GY5/Cgx9mpoPEZ6wX7xovo55p0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Zdpq%2FbtsH8Lz0GY5%2FCgx9mpoPEZ6wX7xovo55p0%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;316&quot; height=&quot;25&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;1213&quot; data-origin-height=&quot;96&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;731&quot; data-origin-height=&quot;342&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/uNgEs/btsH8D95vDm/0hFMtmeqtbjZFhokM4twz1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/uNgEs/btsH8D95vDm/0hFMtmeqtbjZFhokM4twz1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/uNgEs/btsH8D95vDm/0hFMtmeqtbjZFhokM4twz1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FuNgEs%2FbtsH8D95vDm%2F0hFMtmeqtbjZFhokM4twz1%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;731&quot; height=&quot;342&quot; data-filename=&quot;img1.daumcdn.png&quot; data-origin-width=&quot;731&quot; data-origin-height=&quot;342&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;alpha;값에 따라 입력값이 음수이더라도 0이 아닌 기울기값이 출력되기 때문에 뉴런이 죽는 현상을 방지할 수 있다.&lt;/p&gt;</description>
      <category>Deep Learning</category>
      <category>Gradient</category>
      <category>leaky ReLU</category>
      <category>ReLU</category>
      <category>Sigmoid</category>
      <category>tanh</category>
      <category>vanishing gradient</category>
      <category>기울기 소실</category>
      <category>시그모이드</category>
      <author>coco_ball</author>
      <guid isPermaLink="true">https://coco-ball.tistory.com/50</guid>
      <comments>https://coco-ball.tistory.com/50#entry50comment</comments>
      <pubDate>Sun, 23 Jun 2024 21:20:38 +0900</pubDate>
    </item>
  </channel>
</rss>