📗강의노트/핸즈온 머신러닝

    [핸즈온 머신러닝] 제 11장 연습문제 풀이

    Exercise Part.11Training Deep Neural Network1. He 초기화를 사용하여 무작위로 선택한 값이라면 모든 가중치를 같은 값으로 초기화해도 괜찮을까요?¶아니다. 모든 가중치는 독립적으로 샘플링되어야 한다. 즉 같은 초깃값을 가지면 안된다. 가중치를 무작위로 샘플링하는 중요한 한 가지 목적은 대칭성을 피하기 위함이다.2. 편향을 0으로 초기화해도 괜찮을까요?아무런 상관이 없다. 편향을 가중치처럼 초기화해도 괜찮다. 그렇게 큰 차이를 만들지 않는다.3. ReLU보다 ELU 활성화 함수가 나은 세 가지는 무엇인가요?(1) 음수를 받을 수 있어서 뉴런의 평균출력이 보다 더 0에 가깝다.(2) 도함수가 항상 0이 아니다. dead ReLU현상을 피할 수 있다.(3) ReLU의 기울기..

    [핸즈온 머신러닝] 제 11장 정리

    11장. 심층 신경망 훈련Vanishing Gradient : backpropagation이 진행됨에 따라, 그레디언트가 점점 작아지는 경우(0에 가까워짐, 반대의 경우는 Gradient Exploding)Xavier initialization : 평균이 0이고 표준편차 σ=2ninputs+noutputs‾‾‾‾‾‾‾‾‾‾√ELU : ELUα(z)=α(exp(z)−1) if z가 0보다 작을 때 / ELUα(z)=z if z가 0보다 크거나 같을 때z가 0이하여도 그레디언트가 0이 아니라 죽은 뉴런을 만들지 않는다. 하지만 ReLU보다 계산할 때와 테스트 시에 느리다.Batch Normalization : Gradient Vanishing & Exploding을 해결하기 위해 나왔다...

    [핸즈온 머신러닝] 제 10장 연습문제 풀이

    Exercise Part. 10Neural_Network 1. 초창기 인공 뉴런을 사용해 A+B(+는 XOR연산)를 계산하는 인공신경망을 그려보세요.EC DA B처럼 아래서 위로 네트워크가 진행된다고 했을 때,(not A) and B = DA and (not B) = CC or D = E ( A + B (XOR) )2. 고전적인 퍼셉트론보다 로지스틱 회귀 분류기가 일반적으로 선호되는 이유는 무엇인가요? 퍼셉트론을 어떻게 수정하면 로지스틱 회귀 분류기와 동등하게 만들 수 있나요?고전적인 퍼셉트론은 선형적으로 구분될 때만 수렴하고 확률을 추정할 수 없다. 하지만 로지스틱은 선형적으로 구분되지 못해도 클래스 확률을 잘 출력할 수 있다. Activation은 softmax로 바꾸고, 경사 하강법을 사용하여 훈련..

    [핸즈온 머신러닝] 제 9장 연습문제 풀이

    Exercise Part. 9Tensorflow1. 계산을 집접 실행하지 않고 계산 그래프를 만드는 주요 장점과 단점은 무엇인가요?(1) 장점 : 텐서플로가 자동 미분 가능 / 병렬로 계산 가능 / 내부 구조를 살피기 쉬움(2) 단점 : 익숙하지 않음 / 단계별 디버깅 수정이 어려움2. a_val = a.eval(session=sess)와 a_val = sesss.run(a)는 동일한 문장인가요?¶그렇다. 동일하다.3. a_val, b_val = a.eval(session=sess),b.eval(session=sess)와 a_val,b_val = sess.run([a,b])는 동일한 문장인가?부수효과로 인해 동일하지 않다. 첫 번째는 그래프를 두 번 실행하지만 두 번째는 그래프를 한 번 실행한다. 그리고..

    [핸즈온 머신러닝] 제 8장 연습문제 풀이

    Exercise Part. 8Dimensionality_reduction1. 데이터셋의 차원을 축소하는 주요 목적은 무엇인가요? 대표적인 단점은 무엇인가요?주 목적 : 알고리즘 속도 향상, 데이터 시각화를 통한 통찰, 메모리 공간 절약단점 : 정보 손실로 인한 알고리즘 성능 저하, 계산 비용 높음, 파이프라인 복잡도 증가, 변환된 데이터 이해 어려움2. 차원의 저주란 무엇인가요?저차원 공간에서는 없는 문제가 고차원에서는 발생한다는 것. 무작위로 선택한 고차원 벡터는 매우 희소해서 과대적합의 위험이 크다. 많은 양의 데이터를 필요로한다.3. 데이터셋의 차원을 축소시키고 나서 이 작업을 원복할 수 있나요? 할 수 있다면 어떻게 가능할까요? 가능하지 않다면 왜일까요?완벽하게 되돌리는 것은 불가능. 재구성정도는..

    [핸즈온 머신러닝] 제 8장 정리

    Part 8. dimensionality_reductionKeyword차원 축소 :차원 축소는 훈련 속도를 높이는 것, 데이터 시각화에도 아주 유용하다.하지만 차원을 축소시키면 일부 정보가 유실된다.투영 ( Projection ) :데이터는 고차원 공간 안의 저차원 부분 공간에 놓여있다. 투영 말 그대로 훈련 샘플을 부분 공간에 수직으로 투영하면 2D 데이터 셋을 얻을 수 있다.매니폴드 ( manifold ) :2D 매니폴드는 고차원 공간에서 휘어지거나 뒤틀린 모양이다.많은 차원 축소 알고리즘이 훈련 샘플이 놓여 있는 매니폴드를 모델링하는 식으로 작동하는 것이 매니폴드 학습이다.모델을 훈련시키기 전에 훈련 세트의 차원을 감소시키면 훈련 속도는 빨라지지만 항상 더 낫거나 간단한 솔루션이 되는 것은 아니다...