영역과 범위가 [0,1] 인 s 자 곡선에 대한 공식이 있습니까?


10

기본적으로 유사성 측정 값을 예측 변수로 사용되는 가중치로 변환하려고합니다. 유사점은 [0,1]에 있으며 가중치는 [0,1]에도 제한됩니다. 그래디언트 디센트를 사용하여 최적화 할 수있는이 매핑을 수행하는 매개 변수 함수를 원합니다. 요구 사항은 0은 0에 매핑되고 1은 1에 매핑되며 엄격하게 증가하고 있습니다. 간단한 파생 상품도 인정됩니다. 미리 감사드립니다

편집 : 지금까지 답변 주셔서 감사합니다, 그들은 매우 도움이됩니다. 내 목적을보다 명확하게하기 위해 과제는 예측입니다. 내 관측 값은 예측할 단일 차원을 가진 매우 희소 한 벡터입니다. 입력 치수는 유사성을 계산하는 데 사용됩니다. 내 예측은 가중치가 유사성의 함수 인 예측 변수에 대한 다른 관측 값의 가중치 합계입니다. 간단하게하기 위해 가중치를 [0,1]에 묶고 있습니다. 0이 0에 매핑되고 1이 1에 매핑되고 엄격하게 증가하는 이유는 분명합니다. whuber가 f (x) = x를 사용하여 지적했듯이 이러한 요구 사항을 충족시키고 실제로는 잘 작동합니다. 그러나 최적화 할 매개 변수가 없습니다. 나는 많은 관측치를 가지고 있으므로 많은 매개 변수를 견딜 수 있습니다. 그래디언트 디센트를 손으로 코딩하므로 간단한 파생물을 선호합니다.

예를 들어, 주어진 응답의 대부분은 약 0.5입니다. 왼쪽 / 오른쪽으로 이동하는 매개 변수를 사용하는 것이 좋습니다 (예 : 베타 배포판)


4
에프(엑스)=엑스모든 요구 사항을 충족시킵니다.
whuber

왼쪽에서 오른쪽으로 시프트를 제어하는 ​​것에 대한 편집 내용에 따라 조금 추가했습니다. 내 사진에 나오는 세 가지 예제 가족은 모두 그것을 직접 통제 할 수 있습니다.
Glen_b-복지 모니카

답변:


8

여기 하나가 있습니다 :

와이=11+(엑스1엑스)β

어디 β 이다 >0

[![][1]] 2


이것은 표준 기능입니까? h에스나는? 나는 결혼에서 그것을 식별하고 싶지만 나는 할 수 없었다. 참조 해 주시겠습니까?
Darkmoor

안녕하세요 Darkmoor, 나는 "역 로짓 기능"으로 놀아서이 적도를 얻었습니다. 로짓가 (0,1)에 매핑하고 있기 때문에 그것은 역 로짓 Y = (X) = 1 / (1 + E ^ -x)과 유사한 것으로 볼 수 imgur.com/a/H0kGF
Ismam 후다

2
y = 1 / (1+ (x ^ r / (1-x ^ r)) ^-b)를 사용하여 함수가 0.5 인 위치를 조정할 수 있도록 추가 조정 레벨을 추가 할 수 있습니다. . 그런 다음 x0에서 y = .5를 얻으려면 r = -log (2) / log (x0)를 설정하십시오. 또는 x = x0에서 0과 1 사이의 k에 대해 y = k가되도록하려면 r = -log ((1 / k-1) ^ (1 / b) +1) / log (x0)를 설정하십시오.
wmsmith

7

@whuber가 이미 언급했듯이 함수 f(x)=엑스언급 한 세 가지 요구 사항을 충족합니다 (예 : 0은 0에 매핑되고 1은 1에 매핑되고 기능은 엄격하게 증가합니다). 질문의 제목에서 Sigmoid / Logistic 곡선과 같이 S 자 모양의 함수에 관심이 있음을 나타냅니다. 이 올바른지? 이 경우, 지정한 4 가지 기준을 모두 만족시키는 다음과 같은 물류 기능을 시도해야합니다.

11+이자형케이(엑스0.5)
.

그만큼 케이이 방정식에서 곡선의 기울기를 제어합니다. 바꾸다케이 또한 얼마나 가까운지를 제어 할 수 있습니다 에프(0)에프(1)각각 0과 1이다. 예를 들어케이=20, 에프(0)=4.539787이자형05에프(1)=0.9999546.

이 함수의 미분은 다음과 같이 쉽게 계산됩니다.

케이이자형케이(엑스0.5)(1+이자형케이(엑스0.5))2
이 기능에 대한 자세한 내용은 https://en.wikipedia.org/wiki/Logistic_function참조하십시오.

이 함수는 1-> 1을 맵핑하지 않습니다. 실제로, f-> 1은 x-> ∞로 표시됩니다. k에 따라 x = 1에서 f의 값은 아주 작을 수 있지만 정확히 0이 될 수는 없습니다. 실제로 분모에서 e ^ ...를 사용하는 주된 이유는 관련 도메인이 [0,1] 대신 [0, ∞).
wmsmith

7

요구 사항에 맞는 가장 일반적인 솔루션을 제공하겠습니다. 그러면 가장 유연하게 선택하고 최적화 할 수 있습니다.

"S 자형" 은 위쪽으로 오목한 부분과 아래쪽으로 오목한 부분으로 구성된 단조 증가 곡선 (변환이 일대일이어야하므로) 으로 해석 할 수 있습니다. 우리는 왼쪽 반을 오목하게 만드는 데 집중할 수 있습니다. 왜냐하면 다른 유형 (왼쪽 반을 오목하게)은 그러한 변형을 뒤집어서 얻었 기 때문입니다.

변형 이후 에프 차별화 할 수 있어야하므로 감소하는 파생물이 있어야합니다 에프'왼쪽 절반에, 오른쪽 절반에 미분이 증가합니다. 그럼에도 불구하고 미분은 음이 아니어야하며 격리 된 지점에서만 0이 될 수 있습니다. (만약 : 미분의 최소값은 변형의 기울기를 최소화합니다.)

미분은 미분 할 필요는 없지만, 실질적인 문제로 우리는 미분이 거의 모든 곳에서 미분 가능하다고 가정 할 수있다 에프''.

이 이차 미분은 실제로 무엇이든 할 수 있습니다 . 우리가 필요한 것은

  • 그것은 통합 가능합니다.

  • 왼쪽 간격의 모든 값에 대해 0보다 작거나 같습니다. [0,케이),

  • 오른쪽 간격의 모든 값에 대해 0보다 크거나 같습니다. (케이,1].

이러한 기능 에프''(및 그 역수)는 모든 솔루션 세트를 매개 변수화합니다. (일부 중복성이 있습니다. 아래 설명 된 최종 정규화 단계로 처리됩니다.)

미적분학의 기본 정리를 통해 회복 할 수 있습니다 에프에서 어떤 같은 사양입니다. 그건,

에프'(엑스)=0엑스에프''()

에프(엑스)=0엑스에프'().

조건 에프'' 보장하다 에프 최소에서 단조롭게 상승 에프(0) 최대로 에프(1)=. 마지막으로 정규화에프 이전 적분의 값을 .


다음은 2 차 도함수의 랜덤 워크 버전으로 시작하는 그림입니다. 그것에서 파생 상품은 정규화되지 않았지만 변환은에프 되었습니다.

그림

이 접근 방식을 적용하려면 다음에 대한 분석 식으로 시작할 수 있습니다. 에프''유한 한 수의 매개 변수에 따라 달라질 수 있습니다. 보간 기가 값의 부정성을 존중하는 경우 그래프를 따라 일부 점을 제공하고 그 사이에 보간하여이를 지정할 수도 있습니다.[0,케이) 그리고 양성 (케이,1]. 후자는 그림을 생성하는 데 사용되는 방법입니다. 해당 R코드 (아래)는 계산 세부 정보를 제공합니다.

이 방법을 사용하면 원하는 변환을 디자인 할 수 있습니다. S- 곡선을 스케치하고 (상대) 기울기를 추정하여 시작할 수 있습니다.에프', 그리고 그것의 기울기를 추정합니다. 일부를 지정하십시오에프'' 그 후자의 그림과 일치시키고 계산을 진행하십시오. 에프' 그리고 에프.

참고 에프 먼저 오목한 다음 오목한 부분은 부정함으로써 얻을 수 있습니다. 에프''처음에. S 자 곡선을 만들기위한 중요한 조건은 다음과 같습니다.에프''실제로 최대 한 번 0을 교차 할 수 있습니다 .

덧붙여서, 해결책 에프(엑스)=엑스 설정으로 발생 에프''(엑스)=0 거의 모든 곳에서 에프' 일정하고 긍정적 인 에프선형이다; 정규화로 기울기가 보장됩니다1 요격은 0. (만들기에프' 상수와 음수가 솔루션을 생성합니다 에프(엑스)=1엑스.)

n <- 51                      # Number of interpolation points
k.1 <- floor(n * 2/3)        # Width of the left-hand interval
k.2 <- n - k.1               # ............ right-hand interval
x <- seq(0, 1, length.out=n) # x coordinates
set.seed(17)

# Generate random values of the second derivative that are first negative,
# then positive.  Modify to suit.
y.2 <- (c(runif(k.1, -1, 0), 0.5*runif(k.2, 0, 1))) * abs(cos(3*pi * x)) + 
  c(rep(-.1, k.1), rep(.5,k.2))

# Recover the first derivative and then the transformation.  Control the 
# minimum slope of the transformation.
y.1 <- cumsum(y.2)
y.1 <- y.1 - min(y.1) + 0.005 * diff(range(y.1))
y <- cumsum(y.1)
y <- (y - y[1]) / (y[n] - y[1]) # Normalize the transformation

#
# Plot the graphs.
par(mfrow=c(1,3))
plot(x, y.2, type="l", bty="n", main="Second derivative")
points(x, y.2, pch=20, cex=0.5)
abline(h=0, col="Red", lty=3)
plot(x, y.1, type="l", bty="n", lwd=2, main="First derivative")
abline(h=0, col="Red", lty=3)
plot(x, y, type="l", lwd=2, main="Transformation")

7

당신이 이것을 사용하려고하는 것은 나에게 명확하지 않으므로 그렇게하는 것이 합리적인지 말할 수는 없지만 모든 기준을 충족시키는 것은 상당히 사소한 것 같습니다.

  • S 자 곡선

  • 파라 메트릭 함수

  • 0은 0에, 1은 1에, 엄격하게 증가

  • 간단한 파생

그렇다면 pdf가 "간단한"[0,1]에 대해 편리한 특정 단일 모달 분포 *를 사용하는 것이 어떻겠습니까? 그것은 당신이 거기에 열거 한 것의 모든 부분을 충족시키는 것 같습니다.

* (이 모드는 엔드 포인트에서 멀리 떨어져 있습니다)

  • s 모양의 곡선-단일성 (끝 점이 아닌 모드)으로 보장

  • 파라 메트릭-매개 변수가있는 특정 패밀리를 제공함으로써

  • 0은 0에 매핑되고 1은 1에 엄격하게 증가합니다. [0,1]의 분포 함수가하는 일입니다. 밀도가 (0,1) 이상> 0이어야합니다.

  • 단순 미분 – 이것이 pdf입니다. 따라서 pdf가 자신에게 적합한 기준으로 "단순"하면 완료됩니다.

Alex R이 말했듯이 이것들은 무한합니다. 그가 언급 한 베타는 명백한 것이지만 cdf는 불완전한 베타 기능이므로 평가할 무언가가 필요할 것입니다 .- 많은 패키지 (거의 모든 괜찮은 통계 패키지 포함)의 표준 기능이므로 의심 할 것입니다. 어려워 그러나 모든 베타 버전이 단조로운 것은 아니며 (끝이 아닌 모드로) 가족에 "s"모양이 아닌 cdfs도 포함되어 있습니다.

다음은 합리적으로 단순한 세 가족의 사진입니다.

여기에 이미지 설명을 입력하십시오

다른 많은 선택이 있으며 새로운 것을 쉽게 구성 할 수 있습니다.

-

질문에 대한 편집에 대한 답변 :

내가 그림을 그린 세 가족 모두 삼각 분포의 왼쪽에서 오른쪽으로 시프트 (i)를 얻는 간단한 방법이 있습니다. 매개 변수는 곡선을 왼쪽 또는 오른쪽으로 직접 이동합니다 (예 : 비대칭 정도를 제어합니다. =12대칭 경우입니다). logitnormal의 경우μ매개 변수는 비대칭을 제어합니다. 베타 배포의 경우αβ (동등하게, αα+β12)가 제어합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.