엔트로피의 이해 및 머신러닝 사용 예제 (액티브 러닝, 의사결정트리)

Поделиться
HTML-код
  • Опубликовано: 20 сен 2024
  • 엔트로피의 개념을 쉽게 이해해보고, 머신러닝에서 어떻게 활용되는 지 알아봅니다.
    1. 액티브 러닝
    2. 의사결정트리
    제가 만든 모든 머신러닝 관련 영상은 아래 재생목록에서 쉽게 찾으실 수 있습니다.
    • 머신러닝

Комментарии • 31

  • @coohde
    @coohde 3 года назад +16

    정말 큰 도움이 되었습니다. 귀한 자료 감사합니다.

    • @TheEasyoung
      @TheEasyoung  3 года назад +1

      생활코딩님 감사합니다. 올해도 건강하시고 좋은 지식 많이 공유해주세요.

  • @jmlee9110
    @jmlee9110 3 года назад +2

    액티브 러닝 예시를 통해서 확실하게 이해가 되었어요! 멋진 강의 감사합니다^^

  • @자연어천재만재
    @자연어천재만재 2 года назад +1

    다시 봐도 좋은 영상...

  • @jaechoi9852
    @jaechoi9852 4 года назад +1

    겁나 멋있습니다. 엔트로피 계산 후 일정 값을 정하고 그 이상 값에 해당하는 것들만 레이블링해서 고치면 확실히 비용이 적게 들겠네요.

  • @가상민-x7n
    @가상민-x7n 4 года назад

    최곱니다...엔트로피 정의의 대표인 동전을 이용한 강의 감사합니다 ^^

  • @alfl8867
    @alfl8867 4 года назад

    민석님 짱입니다 자주 잘 챙겨보고있어요 ㅠ 앞으로도 잘 부탁드립니다

  • @김승현-u6k
    @김승현-u6k 4 года назад +1

    좋은 강의 감사합니다!

  • @freddieKim01
    @freddieKim01 Год назад

    감사합니다~~~

  • @서정훈-f8y
    @서정훈-f8y 5 лет назад +1

    재밌게 잘 보고있어요

  • @ai_forme
    @ai_forme 3 года назад +1

    좋은 영상 감사합니다. 😄
    근데 Active Learning에서 버전2가 버전1보다 나음을 보일때 예시로 I'am feeling blue 를 판별하는 것은 좀 자명하지 않나 하네요ㅎㅎ.. 그렇게 학습했으니까?
    엔트로피를 적용하여 더 효율적으로 추가학습이 가능하다는 것은 이해가 됐는데, 차라리 예시가 Blue day.. 이런걸 V1에선 happy로 판단했는데, V2에서는 unhappy로 판단했다. 이런식이 낫지 않을까요??
    제가 잘못 이해하고 있는 부분이 있을까요 ㅎㅎ 아무튼 유익한 영상 감사드립니다!

    • @TheEasyoung
      @TheEasyoung  3 года назад +1

      좋은 피드백 감사합니다. 잘 이해하고 계신거 같아요!

  • @sian4897
    @sian4897 4 года назад

    감사합니다 :)

  • @후유-o1i
    @후유-o1i 8 месяцев назад

    의사 결정트리에서 엔트로피 구할때 3/6 *( -3/3*log(3/3) )인가요 .. - 3/6*3/3*log(3/6*3/3) 이 아니라 ..
    -pi*log(pi) 인데 3/6을 묶어서 계산하는지 잘 이해가안갑니다!..

  • @후유-o1i
    @후유-o1i 8 месяцев назад

    엔트로피가 0.3 이나 0.8이나 결국 1비트를 무조건 차지해야 하는게 맞을까요?? 차지하는 최소 비트수를 나타낸다..인가요? 그러면 엔트로피가 높으면 비트(정보)(불확실성)을 많이 차지하므로 낮은 엔트로피의 조건의 필터링을 통해 많이 걸러내야 한다.. 그렇다면 두조건중 엔트로피가 3.4 3.8 이라면 어차피 차지하는 비트수는 같으므로 어느 조건을 먼저 할지 상관이 없는건가요? 어렵네요 ㅠㅠ..

  • @yonghojung5446
    @yonghojung5446 4 года назад +2

    2:00~에서 나오는 구분해야 하는 클래스 수에 따라 엔트로피 값이 올라가게 되는 부분 질문드리고 싶습니다.
    클래스 8개를 구분해야 할 때 최대 엔트로피가 3이 된다고 하셨는데 최대 앤트로피는 최대로 불확실 할 때이고 그렇다면 8개 클래스 각각 일어날 확률이 동일하게 1/8(=0.125) 일 때이고 식에 대입하면
    -(0.125*log_2(0.125)+0.125*log_2(0.125)+0.125*log_2(0.125)+0.125*log_2(0.125)+0.125*log_2(0.125)+0.125*log_2(0.125)+0.125*log_2(0.125)+0.125*log_2(0.125)) = 3
    이렇게 해서 나온 3이 맞나요?
    클래스가 2개가 아닌 3개 이상일 때 위 식이 나오는 과정도 단지 클래스가 2개일 경우에서 1가지 경우가 늘어난 것으로 생각하면 되나요?
    즉 클래스 2가지 경우에서는
    앞 | 뒤 | 엔트로피
    100 %| 0 %| 0
    90% | 10%| 0.46
    50% | 50%| 1
    이런식이라면 3개의 클래스는(※ log(3)(base = 2)=1.58)
    경우1 | 경우2 | 경우3 | 엔트로피
    100 %| 0 % | 0% | 0
    50% | 40% | 10% | 1.36
    33.3%| 33.3% | 33.3% | 1.58
    이런식으로 되는 것이 맞나요?

    • @TheEasyoung
      @TheEasyoung  4 года назад

      맞습니다. 감사합니다.

  • @rudgud5431
    @rudgud5431 3 года назад +1

    4:29의 좌측 total entropy는 어떻게 계산하신거죠?
    1/6*(-(0/1)*log2(0/1) - (1/1)*log2(1/1)) + 5/6*(-(3/5)*log2(3/5) - (2/5)*log2(2/5))
    에서 log2(0)은 -inf가 나오고 log2(1)은 1, 5/6*(-(3/5)*log2(3/5) - (2/5)*log2(2/5))은 0.80913이 나와 다 더하면 0.966라는 값이 나오지 않습니다..

    • @Justinlabry
      @Justinlabry 3 года назад

      저도 0.809 나옵니다.
      님이 맞다고 생각합니다. 저는 wolframalpha 돌렸떠여 ^^
      님 아니였으면 제가 틀리줄 알고 더 계산할뻔 했네요. ^^

  • @yonghojung5446
    @yonghojung5446 4 года назад +1

    질문 하나 더 드리고 싶습니다.
    2:06 에서 '최고의 엔트로피는 몇이 될까요?'라고 질문하셨는데 최고의 엔트로피값을 구할 일이 있나요? 즉 엔트로피 최대값에 관심을 갖을 이유가 무엇인지 궁금합니다. 엔트로피를 최소로 하는 값을 찾는 것이 목적인 것으로 알고있습니다. (마치 cost 최소값처럼)
    만약 엔트로피 최대값이 큰 의미를 갖지 않는다면 클래스가 2개가 넘어가는 경우에도 log(base = 2)를 취하는 이유가 궁금합니다.
    만약 클래스가 3개라면 log(base = 3)으로 하여 엔트로피 최대값을 1로 통일하여도 되지 않나 싶습니다.
    굳이 log(base = 2)를 취하는 근본적인 이유가 무엇인지 궁금합니다.

    • @TheEasyoung
      @TheEasyoung  4 года назад +1

      엔트로피를 최소로 하는 목적은 보통 머신러닝 모델을 최적화할 때 쓰이는 방법입니다. 엔트로피는 머신러닝 모델 최적화 뿐만 아니라 많은 부분에 사용됩니다. 엔트로피의 최대값은 정보를 보내기 위한 최소의 비트 수로 이해하실 수 있습니다. 클래스가 4개면 2개의 비트만 있으면, 이 정보를 보낼 수 있는 것이죠. 정보를 얼마나 최소한의 데이터로 보낼 수 있느냐는 트래픽을 최소화하는 데 상당히 중요한 점입니다. 또한 최고 엔트로피값을 안다면, 액티브 러닝으로 데이터 샘플링할 때 불확실한 데이터를 필터링할 수도 있습니다. 이 역시 레이블링 비용을 줄이는 아주 중요한 역할을 합니다. 엔트로피도 여러 종류인데 그 중 섀넌 엔트로피가 로그 베이스를 2로 하는 주 이유는 최대 필요한 비트수를 구하기 위해서로 알고있습니다. 감사합니다.

    • @yonghojung5446
      @yonghojung5446 4 года назад

      @@TheEasyoung 그렇다면 베이스가 2인 이유는 우리가 일반적으로 사용하는 컴퓨터가 2진수를 사용해서겠군요. 감사합니다.

  • @kimfrancesco76
    @kimfrancesco76 2 года назад

    좋은 강의 감사합니다. Entropy가 높은 I am sad와 I am feeling blue에 대해서 Label를 지정한 후 모델버전 2.0를 만들어서 기존의 training 데이터에 더해서 한다고 하셨는데요. 제가 잘 못 이해할 수 있지만, 버전 1에서 trraining 데이터에는 label이 없는 데이터 셋으로 이해가 되는데요. training 데이터셋에 label이 없는(버전1)것과 label이 있는(버전2)가 함께 학습될 수 있나요? 아니면, 버전1의 training 데이터셋에서 label이 있었던 건가요?

    • @이상규-o6g6y
      @이상규-o6g6y 2 года назад

      model version1 학습에 사용된 데이터가 기존에 가지고 있던 training dataset(라벨링된)입니다.

  • @kroos650
    @kroos650 4 года назад +1

    안녕하세요. 한가지 궁금한점이 있습니다. 의사결정나무로 분류 모델들의 특징을 잡아서 예측하려는 모델링을 하고자할때, 엔트로피가 (분류해야할게 8 개) 0~3이면 어느 시점에서 의사결정나무의 뎁스를 끊어야할까요? 엔트로피가 몇일때 가지에서 끊어야하는건 비교해봐야하는건가요?

    • @TheEasyoung
      @TheEasyoung  4 года назад +1

      저라면 그리드 서치로 가지 끊는 것을 결정할 것 같습니다. 엔트로피 기반으로 어떤 시점에 끊어야 할 지에 대한 정답은 없습니다만, 데이터 기반 그리드 서치가 한 방법일 것 같습니다.

    • @kroos650
      @kroos650 4 года назад

      @@TheEasyoung 답변 감사합니다. 영상 보고 주니어 분석가로서 노력하고 있습니다. 정말 영상으로 설명해주셔서 감사해요.

  • @complieerror
    @complieerror 4 года назад +1

    안녕하세요 강의 보다가 궁금한 점이 생겨 댓글남깁니다. 디시전트리에 엔트로피 값을 계산하고 난 후에 엔트로피 값이 낮은것을 먼저 선택하여 먼저 왜 분류하는지 궁금합니다...

    • @TheEasyoung
      @TheEasyoung  4 года назад

      안녕하세요. 엔트로피가 낮은 특징을 선택하는 것이 아니라, A라는 특징으로 분류된 데이터의 총 불확실성이 B로 분류된 데이터의 불확실성보다 낮다면 A로 분류하게 되는 것입니다. 감사합니다.

  • @epochmaker81
    @epochmaker81 5 лет назад

    좋은 강의 감사합니다. 항상 잘 보고 있습니다. 혹시 강의자료 공유 가능하신가요?

    • @TheEasyoung
      @TheEasyoung  5 лет назад

      안녕하세요, 자료 공유는 안타깝게도 하지 않고 있습니다. 피드백 감사드립니다!