일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 쉽게 시작하는 캐글 데이터 분석
- 생성AI
- 제이펍리뷰어
- FastAPI
- 세상에 없던 금융 디파이 입문편
- 업무 자동화
- 한빛미디어리뷰
- 데이터 과학 기본 수학
- 딥러닝을 위한 수학
- 심층학습 수학
- 멀티모달 생성AI 인사이드
- 제이펍 리뷰어
- 한빛미디어 리뷰
- 프로그래머의 뇌
- 개발자를 위한 필수 수학
- 한빛미디어 리뷰어
- The programmer's Brain
- 제이펍 IT리뷰어
- 멀티모달AI
- 개발자 수학
- JPub리뷰어
- 탈중앙화 금융
- tidy first
- 처음 시작하는 fastapi
- JPub 리뷰어
- 한빛미디어 #인사이드머신러닝인터뷰 #머신러닝인터뷰 #머신러닝면접
- 파이썬 자동화 교과서
- 프로그래밍 인지과학
- IT 서적 리뷰
- 파이썬 웹서비스
- Today
- Total
목록DEEP LEARNING (13)
무말랭이 숙성중
Comparing to human-level performance, Avoidable bias? Cat classification을 다시 예로 들때, ERROR율이 다음과 같다고 하자. Human 1%Training 8%Dev 10% - 현재, Human과 Training error사이의 gap이 꽤 크다 => Reducing bias 이경우에 Human-level error와 training error에 집중하여 training error를 줄여야한다. 이 과정을 Reducing bias라고 하며 아래의 방법이 있다ex) Bigger NN train, Run train set longer Human 7.5%Training 8%Dev 10% - 한편, Human error과 training error사이..
Comparing to human-level performance why human level performance?? 기계와 시간이 지남에 따라 Accuracy가 올라간다고 할때, 위의 그래프는, 일정 시간이 지날때 Human의 accuracy을 넘을 순 있지만 Bayes optimal error구간을 도달하지 못함을 보여준다. 실제로 Human level performance를 넘길때까진 성능과 속도가 증가한다. 하지만 아무리 오랜 시간을 투자해도 Bayes optimal error을 surpass(넘길수)없다. 왜냐하면 accuracy는 noisy때문에(고양이 사진에서는 blur 등) 절대 100%의 정확도를 가질 수 없기 때문이다. So, Human-level performance가 더 좋고 ML..
Cat classifier 를 생각해보자, A algo: 3% errorB algo: 5% error evaluation metric이 위와 같다고 할때, A알고리즘이 마냥 좋은것이라고 할 수 있을까? A algo : 3% error + pornographicB algo : 5% error + no-pornographic 라고하고 이 고양이 Classifier 가 상용화되려는 과정이라고하면 User와 회사는 B를 선택할것이다. 이럴 경우 evaluation metric이 잘못되었으므로 evaluation metric을 다시 설정해야 한다. 그럼 pornographic image를 cat으로 분류하는 현재상태에서 어떻게 해야 cat으로 분류가 안되도록 할 수 있을까? 위의 경우엔 Error율을 아래의 과정..
Logistic Regression을 생각해 볼때, Regularization은 Loss Function 뒤에 Regularization 항을 추가하면 된다. 일반적으로 R1, R2 Regularization이 있으며 아래와 같다. 왜 b에 대해서는 항을 추가하지 않는지 궁금해할수도 있다. b는 상수값인데 네트워크 파라미터에서 W에 비해 b는 너무 작기때문에 보통 생략을 한다. 여기서, 람다는 파이썬에서 제공되는 기능의 이름이기 때문에 우리가 실제로 사용할때는 lambd로 사용을 하도록 하자. 모든 레이어에 대해서 J가 아래라고할떄, (w[l],b[l]은 마지막 레이어의 파라미터들)각 레이어 l에 대한 hidden Units들이 존재하기 때문에 W : ( n[l-1]*n[l-1]) 차원이다.따라서, 위와..
Bias와 Variation을 줄여보도록 하자. Train을 통해서 초기의 model이 나온다. 이때 첫번째로 질문할 수 있다. High bias를 가지고 있는가? Train한 데이터만 보더라도 결과가 high performance를 내는가를 확인한다. Yes일 경우, Training set에도 잘 맞지 않는 다는 뜻이므로 몇가지 방법을 실행해본다 Train -> model 이 high bias 인가? Yes : Training set에도 잘 맞지 않는 분류이다.-Bigger Networks 사용 (권장)-More hidden Units 사용 (권장)-Train Longer-Advanced optimization Algorithm을 사용해본다-NN architecture를 바꿔본다 하여 Train set..
Bias & Variance에 대해 알아보자. Bias는 편향된, 즉 제대로 Classification 되지 않은 상태이며 Variance는 학습 데이터가 너무 고려된 나머지 Overfitting 된 상태이다. Bias와 Bariance를 어떻게 구별할것인가?Cat classification으로 생각해보자 A B C DTrain set error: 1% 15% 15% 0.5%Dev set error: 11% 16% 30% 1.0% A: Overfitting = high variance B: Underfitting = high bias (* Train, Dev error 차이가 1%밖에 차이가 안난다)C: high bias, high varianceD: low bias, low variance 위의 결과는..
Training, Development, Test set을 어떻게 설정하느냐에 따라서 High Performance에 빨리 도달하는데 영향을 줌. Training Neural Networks에서, Decision 요소들:1) Layer 갯수를 몇개로 할것인지2) Hidden Units을 각 Layer에 몇개씩 둘것인지3) Learning late를 뭘로 설정할건지4) Activation function을 뭘로 할건지(서로다른 Layer에서)등등... 새 application을 실행할때 이 모든 요소들을 고려하기란 쉽지 않음.따라서, 아래의 과정을 반복함. ( Idea - Code - Experiment ) ex) Layer를 x개로 해보자! / data set을 이렇게 해보자! -> 실행되는 코드로 실험..
dev set과 test set의 Size는 어떻게 결정해야 하는가?이 분야에 대해서도 많은 의견변화가 있어왔다. Old way of splitting data: 1) Train 70% : Test 30% 2) Train 60% : Dev 20% : Test 20% 데이터가 적었던 예전을 기준으로는 합리적일 수 있음.그러나 100만개의 데이터가 있다면 Train 98% : Dev 1% : Test 1%만 하더라도 Dev, Test 각각이 1만개씩 충분한 양을 포함함. =>데이터 양이 많은 경우 20%보다 작은 비율로 Dev, Test 데이터를 구성해도 충분함. Size of test set: To be big enough to give high confidence in the overall perform..