no image
핸즈 온 머신러닝 :: 16. 강화 학습
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 16. 강화 학습 강화 학습 (Reinforcement Learning)은 요즘 머신러닝에서 흥미진진한 분야이며 오래된 분야이다. 2017년 5월 알파고가 바둑 세계챔피언 커제를 이기며 성과의 절정에 다다랐다. 강화 학습 분야에 강력한 딥러닝을 적용했더니 상상 이상의 성능을 낸 것이다. 16.1 보상을 최적화하기 위한 학습 에이전트(agent)는 관측(observation)을 하고 주어진 환경(environment)..
2020.02.02
no image
핸즈 온 머신러닝 :: 15. 오토인코더
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 15. 오토인코더 데이터들을 효율적으로 표현할 수 있는 coding을 학습할 수 있는 인공 신경망을 오토인코더라고 부른다. 따라서 오토인코더는 차원축소에 유용하며 특성 추출기처럼 작동하므로 심층 신경망의 비지도 사전훈련에 사용될 수 있다. 또한 훈련 데이터와 비슷한 새로운 데이터를 생성할 수 있는데 이를 generative model이라고 부른다. 오토데이터는 입력과 같은 출력을 특정 조건하에서 학습하며 배운다. 1..
2020.01.31
no image
핸즈 온 머신러닝 :: 14. 순환 신경망
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 14. 순환 신경망 순환 신경망 (recurrent neural networks)은 미래를 예측할 수 있는 신경망이다. 주식가격 예측, 자율 주행 시스템에서 차의 이동경로 예측 등을 도운다. 입력은 임의 길이를 가진 sequence 일 수 있다. 또한 RNN의 창의성을 활용하여 멜로디 제작, 문장 생성, 이미지 캡션 생성 등을 할 수 있다. 14.1 순환 뉴런 지금까지는 신호가 입력층에서 출력층 한 방향으로만 흐르는..
2020.01.28
no image
핸즈 온 머신러닝 :: 13. 합성곱 신경망
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 13. 합성곱 신경망 convolutional neural network (CNN)은 대뇌의 시각 피질 연구로부터 시작되었고 이미지 검색 서비스, 자율 주행 자동차, 영상 자동 분류 시스템 등 시각 분야에 큰 기여를 했으며 그 외에도 음성 인식이나 자연어 처리 같은 작업에도 많이 사용된다. 13.1 시각 피질의 구조 시각 피질 안의 많은 뉴런이 작은 local receptive field를 가져, 시야의 일부 범위 ..
2020.01.27
no image
핸즈 온 머신러닝 :: 12. 다중 머신과 장치를 위한 분산 텐서플로
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 12. 다중 머신과 장치를 위한 분산 텐서플로 11장에서는 훈련 속도를 높일 수 있는 여러 기술을 알아보았다면, 12장에서는 텐서플로를 사용해 연산을 여러 개의 장치에 분산시켜서 병렬로 실행시키는 법을 배운다. 텐서플로의 분산 컴퓨팅 기능은 주요한 장점이다. 계산 그래프를 여러 장치와 머신에 어떻게 분할 시킬지 완전히 제어할 수 있고 연산을 다양한 방식으로 병렬화하고 동기화할 수 있어서 모든 종류의 병렬화 방식이 사..
2020.01.24
no image
핸즈 온 머신러닝 :: 11. 심층 신경망 훈련
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 11. 심층 신경망 훈련 10장에 비해서 훨씬 더 깊은 심층 신경망을 훈련시킬 때의 문제들을 살펴보고 해결 방법을 공부한다. 11.1 그래디언트 소실과 폭주 문제 알고리즘이 하위층(입력층)으로 진행됨에 따라 그래디언트가 점점 작아진다면 그래디언트 소실 현상이라고 부르고, 점점 커져서 발산한다면 그래디언트 폭주라고 부른다. 과거 많이 사용되던 로지스틱 활성화 함수와, 평균이 0이고 표준편차가 1인 정규분포 초기화 방법..
2020.01.22
no image
핸즈 온 머신러닝 :: 10. 인공 신경망 소개
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 10. 인공 신경망 소개 뇌의 구조로부터 아이디어를 얻은 것이 artificial neural networks의 핵심 아이디어이다. 그리고 인공 신경망은 딥러닝의 핵심이다. 이는 강력하고 확장성이 좋아서 수백만개의 이미지를 분류하거나, 음성 인식 서비스 등을 진행하거나 게임하면서 학습하는 알파고 등 대규모 머신러닝 문제를 다루기 좋다. 10.1 생물학적 뉴런에서 인공 뉴런까지 인공 신경망 자체는 오래전부터 있었다. ..
2020.01.19
no image
핸즈 온 머신러닝 :: 9. 텐서플로 시작하기
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 9. 텐서플로 시작하기 Tensorflow는 수치 계산을 위한 강력한 라이브러리이다. 계산 그래프를 정의한 다음, 실행하는 형태로 이루어져있다. 텐서플로는 구글 브레인에서 개발하였고 C++로 개발된 python library다. 텐서플로의 장점으로는 자동 미분 기능을 지원한다는 점과 TensorBoard라는 훌륭한 시각화 도구를 활용할 수 있다는 점, 모든 종류의 신경망 구조 및 계산 그래프를 만들 수 있다는 점 등..
2020.01.18
no image
핸즈 온 머신러닝 :: 8. 차원 축소
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 8. 차원 축소 많은 경우 머신러닝 문제는 훈련 샘플 각각이 수백만개의 특성을 가지고 있는데, 이는 훈련을 느리게 하며 성능을 좋지 않게 만든다. 이를 curse of dimensionality 라고 한다. 예를 들어 MNIST 이미지에서는 이미지 경계에 주로 흰색 픽셀이 있으므로 완전히 제거해도 많은 정보를 잃지 않는다. 또한 인접한 픽셀을 합치는 과정을 진행해도 많은 정보를 잃지 않는다. 차원을 축소시키면 일부 ..
2020.01.18
no image
핸즈 온 머신러닝 :: 7. 앙상블 학습과 랜덤 포레스트
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 7. 앙상블 학습과 랜덤 포레스트 여러 예측기로부터 예측을 수집하면 좋은 모델 하나보다 더 좋은 예측을 얻을 수 있다. 이를 앙상블 학습이라고 한다. 그 중, 결정 트리들의 앙상블을 랜덤 포레스트라고 한다. 7.1 투표 기반 분류기 여러 분류기 중 가장 많이 선택된 클래스를 예측하는 것을 직접 투표 (hard voting) 이라고 한다. 만약 훈련 결과가 모두 독립이라면 51%의 정확도를 가진 1000개의 분류기로 ..
2020.01.17
no image
핸즈 온 머신러닝 :: 6. 결정 트리
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 6. 결정 트리 Decision Tree는 분류와 회귀, 다중 출력 모두 가능한 다재다능한 머신러닝 알고리즘이다. 6.1 결정 트리 학습과 시각화 https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html sklearn.tree.DecisionTreeClassifier — scikit-learn 0.22.1 doc..
2020.01.17
no image
핸즈 온 머신러닝 :: 5. 서포트 벡터 머신
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 5. 서포트 벡터 머신 Support Vector machine은 매우 강력하고 많은 경우에 사용할 수 있는 머신러닝 모델이다. 딥 러닝이 유행하기 전에 SVM 모델이 크게 유행했다. 5.1 선형 SVM 분류 SVM 분류기는 데이터들을 선형 기준으로 구분하는 것을 목적으로 한다. 이 때에, 기준 선에 가장 가까운 데이터가 최대한 멀어지도록 기준 선을 긋는다면 더 잘 그은 기준선이 될 것이다. 따라서 이를 large ..
2020.01.16