Tensorflow 손실 함수에서 다중 인덱스 합계 계산

알렉스 페르 신

일치 지수 (c-index) 와 동일한 손실 함수를 사용하여 신경망을 최적화하는 실험을하고 있습니다 . 내가 사용하고 싶은 손실 함수는 (링크의 라텍스 방정식)

{i = 0} ^ N ∑ {j = i} ^ N \ 시그마 ((y_i-y_j) (y'_i-y'_j))

여기서 y '는 예측 벡터이고 y는 배치 크기 N의 레이블 벡터이며 \ sigma는 시그 모이 드 함수입니다. TensorFlow에서 이것을 구현하고 싶지만 두 인덱스 합계를 표현하는 방법을 찾을 수 없습니다.

나는 방정식을 TensorFlow와 Keras 프리미티브로 표현할 수있는 다른 형태로 재배치 해 보았지만 성공하지 못했습니다. Keras를 사용하고 있으므로 Keras 또는 TensorFlow 구현을 모두 사용할 수 있습니다.

Python 코드는

from itertools import permutations, combinations
a = np.arange(4)
a = a*100

def loss_ci(y_true, y_pred):
summ = 0.
total=0
for i in range(len(y_true)):
    for j in range(i+1,len(y_true)):
        summ += 1/(1+np.exp(-(y_true[i]-y_true[j]) * (y_pred[i]-y_pred[j])))
        total+=1
return (summ)/total

print("y_true\t\ty_pred\t\tc-index\tloss")
for c in permutations(a,3):
for d in combinations(a,3):
    print(c, d, "\t{:.4f}".format(ci(c, d)), "\t{:.4f}".format(loss_ci(c, d)))
비제이 m

손실은 아래 코드와 같이 텐서 흐름을 사용하여 계산할 수 있습니다.

from itertools import permutations, combinations
a = np.arange(4)
a = a*100

def loss_ci(y_true, y_pred):
summ = 0.
total=0
for i in range(len(y_true)):
    for j in range(i+1,len(y_true)):
        summ += 1/(1+np.exp(-(y_true[i]-y_true[j]) * (y_pred[i]-y_pred[j])))


return (summ)

def tf_loss_ci(y_true, y_pred):
  Y = tf.constant(y_true)
  _Y = tf.constant(y_pred)
  S = tf.sigmoid(tf.multiply((Y[tf.newaxis,:]-Y[:,tf.newaxis]),(_Y[tf.newaxis,:]-_Y[:,tf.newaxis])))
  S = tf.reduce_sum(tf.matrix_set_diag(S,tf.zeros_like(Y))) / 2
  sess = tf.InteractiveSession()
  tf.global_variables_initializer().run()
  return S.eval()

print("y_true\t\ty_pred\t\ttensorloss\tloss")
for c in permutations(a,3):
  for d in combinations(a,3):
    print(c, d, "\t{:.4f}".format(tf_loss_ci(np.asarray(c, np.float32), np.array(d, np.float32))), "\t{:.4f}".format(loss_ci(c, d)))

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

GradientTape는 손실 함수에서 두드러기를 계산합니다.

분류에서Dev

Tensorflow에서 손실 함수는 어떻게 작동합니까? 배치에서 어떻게 계산됩니까?

분류에서Dev

tf.GradientTape ()를 사용하여 Tensorflow에서 한 번에 여러 레이어의 손실 및 계산 기울기를 계산합니다.

분류에서Dev

인덱스 조합에서 인덱스 계산

분류에서Dev

팬더는 다중 인덱스 프레임에서 참값을 계산합니다.

분류에서Dev

R의 인덱스에 대한 다중 합계

분류에서Dev

Python은 datetime 인덱스에서 매일 시간을 계산합니다.

분류에서Dev

다중 인덱스 데이터 프레임에서 데이터 하위 집합 추출 및 열 차이 계산

분류에서Dev

이진 검색에서 중간 점 인덱스 계산

분류에서Dev

Pandas를 사용하여 다중 인덱스로 날짜에 걸쳐 값의 곱을 계산합니다.

분류에서Dev

Pytorch는 누적 텐서의 별도 손실을 계산합니다.

분류에서Dev

0에서 1 로의 전환 수와 1이 처음 나타나는 인덱스를 계산합니다.

분류에서Dev

실행중인 창에서 각 창에 대한 R ^ 2 값을 계산합니다.

분류에서Dev

단위 테스트 실행 중에 발생하는 gc 수를 계산합니다.

분류에서Dev

각 열의 합계를 계산 한 다음 R에서 어부 테스트를 실행합니다.

분류에서Dev

소프트 맥스 버전의 삼중 항 손실에 대한 기울기 계산

분류에서Dev

tensorflow / keras에서 predict_on_batch를 사용하여 훈련 후 다시 계산할 때 train_on_batch 출력 손실이 다른 이유는 무엇입니까?

분류에서Dev

R의 중첩 된 for 루프, 두 번째 인덱스가 첫 번째 인덱스 내부에서 계산 됨

분류에서Dev

다중 스레딩 환경에서 클래스의 인스턴스 수를 계산합니까?

분류에서Dev

Pandas에서 특정 수준의 다단계 인덱스에 대한 성장률 계산

분류에서Dev

PHP-중첩 된 다차원 배열 인덱스 계산

분류에서Dev

PyTorch에서 부트 스트랩 된 교차 엔트로피 손실을 어떻게 계산합니까?

분류에서Dev

Pandas는 계층 적 다중 인덱스를 병합합니다.

분류에서Dev

BCEWithLogitLoss (Binary Cross Entropy + Sigmoid activation)에서 손실 계산 후 Softmax Activation 함수 사용

분류에서Dev

Datetime 인덱스에서 DataFrame 결합, 동일한 인덱스 인 경우 다른 행의 값 합계

분류에서Dev

다중 작업 DNN 모델링에 대한 손실을 계산하는 더 좋은 방법이 있습니까?

분류에서Dev

다단계 관계에서 합산

분류에서Dev

pandas : 단일 인덱스를 hierarchical_index에서 시리즈로 변환하여 인덱스 값에 대한 계산을 허용합니다.

분류에서Dev

다중 인덱스 열에 대한 사전 성형 집계

Related 관련 기사

  1. 1

    GradientTape는 손실 함수에서 두드러기를 계산합니다.

  2. 2

    Tensorflow에서 손실 함수는 어떻게 작동합니까? 배치에서 어떻게 계산됩니까?

  3. 3

    tf.GradientTape ()를 사용하여 Tensorflow에서 한 번에 여러 레이어의 손실 및 계산 기울기를 계산합니다.

  4. 4

    인덱스 조합에서 인덱스 계산

  5. 5

    팬더는 다중 인덱스 프레임에서 참값을 계산합니다.

  6. 6

    R의 인덱스에 대한 다중 합계

  7. 7

    Python은 datetime 인덱스에서 매일 시간을 계산합니다.

  8. 8

    다중 인덱스 데이터 프레임에서 데이터 하위 집합 추출 및 열 차이 계산

  9. 9

    이진 검색에서 중간 점 인덱스 계산

  10. 10

    Pandas를 사용하여 다중 인덱스로 날짜에 걸쳐 값의 곱을 계산합니다.

  11. 11

    Pytorch는 누적 텐서의 별도 손실을 계산합니다.

  12. 12

    0에서 1 로의 전환 수와 1이 처음 나타나는 인덱스를 계산합니다.

  13. 13

    실행중인 창에서 각 창에 대한 R ^ 2 값을 계산합니다.

  14. 14

    단위 테스트 실행 중에 발생하는 gc 수를 계산합니다.

  15. 15

    각 열의 합계를 계산 한 다음 R에서 어부 테스트를 실행합니다.

  16. 16

    소프트 맥스 버전의 삼중 항 손실에 대한 기울기 계산

  17. 17

    tensorflow / keras에서 predict_on_batch를 사용하여 훈련 후 다시 계산할 때 train_on_batch 출력 손실이 다른 이유는 무엇입니까?

  18. 18

    R의 중첩 된 for 루프, 두 번째 인덱스가 첫 번째 인덱스 내부에서 계산 됨

  19. 19

    다중 스레딩 환경에서 클래스의 인스턴스 수를 계산합니까?

  20. 20

    Pandas에서 특정 수준의 다단계 인덱스에 대한 성장률 계산

  21. 21

    PHP-중첩 된 다차원 배열 인덱스 계산

  22. 22

    PyTorch에서 부트 스트랩 된 교차 엔트로피 손실을 어떻게 계산합니까?

  23. 23

    Pandas는 계층 적 다중 인덱스를 병합합니다.

  24. 24

    BCEWithLogitLoss (Binary Cross Entropy + Sigmoid activation)에서 손실 계산 후 Softmax Activation 함수 사용

  25. 25

    Datetime 인덱스에서 DataFrame 결합, 동일한 인덱스 인 경우 다른 행의 값 합계

  26. 26

    다중 작업 DNN 모델링에 대한 손실을 계산하는 더 좋은 방법이 있습니까?

  27. 27

    다단계 관계에서 합산

  28. 28

    pandas : 단일 인덱스를 hierarchical_index에서 시리즈로 변환하여 인덱스 값에 대한 계산을 허용합니다.

  29. 29

    다중 인덱스 열에 대한 사전 성형 집계

뜨겁다태그

보관