Skip to main content
. 2023 Jan 18;25(2):193. doi: 10.3390/e25020193
Algorithm 1 Counterfactual Supervision-based Information Bottleneck (CSIB)
Input:P(Xe,Ye), eEtr, rth>0, cdim(Zinv), M0, and (x,y) is an example randomly drawn from P(Xe,Ye).
Output: classifier wRc+1, feature extractor Φ=Rc×d.
Begin:
  •   1:

    Lv[]; Lr[]; ΦId×d

  •   2:

    ddim(Xe)

  •   3:

    Apply IB-ERM method (Equation (12)) to P(Xe,Ye) and obtain w*Rc+1 and Φ*Rc×d

  •   4:

    Apply SVD to Φ* as Φ*=UΛVT=[U1,U2][Λ1,0;0,0][V1T;V2T]

  •   5:

    rrank(Φ*)

  •   6:

    z1:r1[M,,M]; zr+1:d1V2TΦx

  •   7:

    z1:r2[M,,M]; zr+1:d2V2TΦx

  •   8:

    x1Vz1; x2Vz2

  •   9:

    ifLv is not empty then

  • 10:

        zold[]; i0; xx

  • 11:

        while i<len(Lv) do

  • 12:

            zLv[i]x

  • 13:

            zold.append(z)

  • 14:

            xzLr[i]:

  • 15:

            ii+1

  • 16:

        end while

  • 17:

        i0

  • 18:

        while i<len(Lv) do

  • 19:

            jlen(Lv)i

  • 20:

            z1zold[j]; z2zold[j]

  • 21:

            zLr[j]:1x1; zLr[j]:2x2

  • 22:

            x1Lv[j]Tz1; x2Lv[j]Tz2

  • 23:

            ii+1

  • 24:

        end while

  • 25:

    end if

  • 26:

    if label(x1) = label(x2) then

  • 27:

        Lr.append(r); Lv.append(VT)

  • 28:

        XeV2TXe; ΦV2TΦ

  • 29:

        Go to Step 2

  • 30:

    end if

  • 31:

    ww*; ΦΦ*

End