로지스틱 회귀

jaybon·2022년 10월 10일
0

머신러닝 정리

목록 보기
5/9

로지스틱 회귀

키워드

  • 지도학습 알고리즘이다.
  • 이름은 회귀이지만 분류 모델이다.
  • 선형 회귀와 동일하게 선형 방정식을 학습한다.
  • 이진분류와 다중분류
  • 반복적 알고리즘
  • 릿지 회귀와 같이 계수의 제곱을 규제한다.
  • 이진분류 시 시그모이드 함수(로지스틱 함수)로 결과값을 확률로 치환한다.
  • 다중분류 시 소프트맥스 함수로 결과값을 확률로 치환한다.

+로지스틱?

로지스틱이라는 단어 자체의 뜻이 궁금하다.

일반적인 인구 모형에서 인구가 적은 초창기에는 인구수가 기하급수적으로 성장하지만, 현실적으로는 식량, 거주, 공간, 다른 천연자원의 영향을 받기 때문에 성장이 제한된다. 이런 점을 고려하여 벨기에의 수학자 페르훌스트(Pierre F. Verhulst, 1804~1849)는 맬서스의 인구 증가 모델을 ‘로지스틱(logistic) 모형’으로 수정하였다.
이 모형에서 알 수 있는 것은 초기에는 인구수가 급격하게 증가하지만 어느 순간부터는 완만하게 증가하여 인구수가 일정하게 유지된다는 것이다. 이런 특성은 자연 현상이나 사회 현상에서 실제로 나타난다. 이를테면 일정한 공간에 토끼를 번식시키면 처음에는 기하급수적으로 개체 수가 늘어나지만 시간이 지날수록 개체 수가 안정적인 상태를 유지한다.

(삼성 디스플레이 뉴스룸에서 발췌)

즉 기하급수적으로 증가하다가 완만해지는 형태를 말하는 것 같다.

+회귀와 분류?

회귀와 분류 / 이진분류 다중분류가 무엇일까?

회귀와 분류 포스팅 보러가기

로지스틱 회귀의 선형방정식

간단한 예를 들자면 여러 사탕이 있는데
색깔 / 단단함 / 크기로 제조사를 알 수 있다고하자

그렇다면 색깔 / 단단함 / 크기는 특성
제조사는 타겟

결과값(z) = a x 색깔 + b x 단단함 + c x 크기 + d

로지스틱 회귀는 위와 같은 방정식으로 학습한다.

a / b / c 는 가중치 혹은 계수이다.

시그모이드 함수

로지스틱 회귀를 위한 방정식은 결과 값이 아주 큰 음수가 될 수도, 아주 큰 양수가 될 수도 있다.
이렇게 되면 확률계산을 하기 어려워지기 때문에 0~1사이의 값으로 만들어 줘야한다.

시그모이드 함수(로지스틱 함수)를 이용하여 변환 할 수 있다.

이진 분류 시 시그모이드 함수의 결과 값으로
0.5 초과는 양성클래스
0.5 미만은 음성클래스로 분류한다.
(사이킷런 기준)

위를 통해서 로지스틱 회귀 이진 분류를 한다.

시그모이드 함수는 S자형 곡선 또는 시그모이드 곡선을 갖는 수학 함수이다. 시그모이드 함수의 예시로는 로지스틱 함수가 있으며 다음 수식으로 정의된다.

여러 종류의 시그모이드 함수는 인공 뉴런의 활성화 함수로 사용되었다. 통계학에서도 로지스틱 분포, 정규 분포, 스튜던트 t 분포 등의 누적 분포 함수로 시그모이드 곡선이 자주 등장한다. 시그모이드 함수는 가역 함수로, 그 역은 로짓 함수다.

(위키백과 시그모이드 함수에서 발췌)

+인공뉴런의 활성화 함수?

뉴런에서 임계값 이상의 자극이 주어져야 감각이 반응하는 것처럼, 인공 뉴런에서도 다수의 입력신호가 주어지면, 미리 부여된 가중치와 계산을 한 후 그 총합이 정해진 임계값을 넘으면, 1을 출력하고 넘지 못하면 0 (또는 -1)을 출력한다. 이때 출력을 결정하는 함수를 활성화 함수(activation function)라 한다.
활성화 함수의 대표적인 예로는 Sigmoid 함수가 있다.

(성균관대 인공지능을 위한 기초수학 입문에서 발췌)

+로지트 함수?

로지트함수의 값은 로그 변환에 의해 음의 무한대(−∞)부터 양의 무한대(∞)까지의 값을 가질 수 있다.
로지스틱함수(Logistic function)는 로지트함수의 역함수이다.

(데이터 사이언스 스쿨에서 발췌)

로지스틱 회귀 다중 분류

사이킷런의 LogsiticRegression 클래스는 기본적으로 반복적인 알고리즘을 사용한다.

준비된 데이터셋에 따라 반복횟수를 조절하면 될 것 같다.(부족할 시 콘솔에 경고 발생.)

또한 릿지 회귀와 같이 계수의 제곱을 규제한다.

다중 분류는 클래스(범주)마다 결과값(z)을 하나씩 계산한다.

그 중에서 가장 높은 값을 출력하는 클래스가 예측 클래스이다.

다중 분류는 시그모이드 함수가 아닌 소프트맥스 함수를 사용하여 여러 z값을 확률로 변환한다.

+다중회귀나 다중분류는 규제가 필요한가?

?

소프트맥스 함수

시그모이드 함수는 하나의 선형 방정식의 출력값을 0~1 사이로 압축하는 반면, 소프트맥스 함수는 여러개의 선형 방정식의 출력값을 0~1 사이로 압축하고 전체 합이 1이 되도록 만든다.

지수 함수를 사용하기 때문에 정규화된 지수 함수라고도 부른다.

소프트맥스 함수(Softmax function)는 로지스틱 함수의 다차원 일반화이다. 다항 로지스틱 회귀에서 쓰이고, 인공신경망에서 확률분포를 얻기 위한 마지막 활성함수로 많이 사용된다. 이름과 달리 최댓값(max) 함수를 매끄럽거나 부드럽게 한 것이 아니라, 최댓값의 인수인 원핫 형태의 arg max 함수를 매끄럽게 한 것이다. 그 계산 방법은 입력값을 자연로그의 밑을 밑으로 한 지수 함수를 취한 뒤 그 지수함수의 합으로 나눠주는 것이다.

(위키백과 소프트맥스 함수에서 발췌)

참고

미디움 / A Ydobon / 소프트맥스 함수
https://financial-engineering.medium.com/ml-softmax-%EC%86%8C%ED%94%84%ED%8A%B8%EB%A7%A5%EC%8A%A4-%ED%95%A8%EC%88%98-2f4740141bfe

벡터?

벡터는 수학, 물리학, 공학에서 크기와 방향을 갖춘 양을 일컫는다.
컴퓨터에서 벡터는 화상의 표현 요소로서의 방향을 지닌 선. 선그림.
컴퓨터에서 벡터는 또한 동적 배열 자료구조를 뜻하기도 한다.
인공 지능의 기계 학습 분야에서 벡터는 기계 학습 분야에서 입력 데이터를 표시하는 방법이다.

(위키백과 벡터에서 발췌)

확률분포?

확률 분포(確率 分布, probability distribution)는 확률 변수가 특정한 값을 가질 확률을 나타내는 함수를 의미한다.

(위키백과 확률분포에서 발췌)

원핫 형태의 arg max 함수?

one-hot(원핫)인코딩이란? 단 하나의 값만 True이고 나머지는 모두 False인 인코딩을 말한다.
즉, 1개만 Hot(True)이고 나머지는 Cold(False)이다.
예를들면 [0, 0, 0, 0, 1]이다. 5번째만 1이고 나머지는 0이다.
행렬을 자주 사용하는 연산에서는 4와 같은 스칼라값보다 [0, 0, 0, 0, 1]와 같은 행렬이 자주 사용된다.

(기술 블로그에서 발췌)

argmax 함수의 사용처는
1) 원핫인코딩된 데이터중 가장 큰 값의 인덱스를 리턴 받기위해서.
(원핫 인코딩 [0, 0, 0, 0, 1])

argmax 결과값 = 4

2) Softmax를 통해 나온 결과중 최대값의 인덱스를 얻고자 할 때.
(소프트맥스 결과값 [0.2, 0.5, 0.7, 0.3, 0.4])

argmax 결과값 = 2

참고 사이트

삼성 디스플레이 뉴스룸
https://news.samsungdisplay.com/23925

위키백과 시그모이드 함수
https://ko.wikipedia.org/wiki/%EC%8B%9C%EA%B7%B8%EB%AA%A8%EC%9D%B4%EB%93%9C_%ED%95%A8%EC%88%98

성균관대 인공지능을 위한 기초수학 입문
http://matrix.skku.ac.kr/math4ai-intro/W13/

데이터 사이언스 스쿨
https://datascienceschool.net/03%20machine%20learning/10.01%20%EB%A1%9C%EC%A7%80%EC%8A%A4%ED%8B%B1%20%ED%9A%8C%EA%B7%80%EB%B6%84%EC%84%9D.html

위키백과 소프트맥스 함수
https://ko.wikipedia.org/wiki/%EC%86%8C%ED%94%84%ED%8A%B8%EB%A7%A5%EC%8A%A4_%ED%95%A8%EC%88%98

위키백과 벡터
https://ko.wikipedia.org/wiki/%EB%B2%A1%ED%84%B0

기술 블로그
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=wideeyed&logNo=221164668953

위키백과 확률분포
https://ko.wikipedia.org/wiki/%ED%99%95%EB%A5%A0_%EB%B6%84%ED%8F%AC

profile
티스토리 블로그 https://ondolroom.tistory.com/

0개의 댓글