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
no image
핸즈 온 머신러닝 :: 4. 모델 훈련
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 4. 모델 훈련 모델이 어떻게 작동하는지 잘 이해하면 모델 및 알고리즘 설정, 하이퍼 파라미터 변경을 적절하고 빠르게 할 수 있다. 4.1 선형 회귀 선형 회귀는 특성들의 선형 함수로 함수 값을 예측하며, 주로 RMSE를 최소화하는 선형 파라미터를 학습한다. 4.1.1 정규방정식 선형 회귀는 수학적으로 RMSE를 최소화하는 파라미터를 계산을 통해 구할 수 있다. 4.1.2 계산 복잡도 정규 방정식을 통해 파라미터를 ..
2020.01.16
no image
핸즈 온 머신러닝 :: 3. 분류
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 3. 분류 일반적인 지도 학습 중 2장에서 회귀를 다루었다면 3장에서는 분류를 다룬다. 3.1 MNIST 머신러닝을 공부할 때 많은 경우에 MNIST 데이터셋 분류하기로 공부를 시작한다. 이 데이터셋은 7만장의 28 by 28 이미지 파일로 이루어져 있으며 각각의 이미지 파일은 0 부터 9 까지의 숫자 중 하나를 뜻한다. sklearn.datasets 에 포함되어있다. 데이터는 dictionary 형태로 불러와지는데..
2020.01.16
no image
핸즈 온 머신러닝 :: 2. 머신러닝 프로젝트 처음부터 끝까지
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 2. 머신러닝 프로젝트 처음부터 끝까지 2장에서는 머신러닝 프로젝트에서 공통적으로 중요한 요소들에 대해 설명한다. 2.1 실제 데이터로 작업하기 인공적으로 만들어진 데이터셋 보다는 실제 데이터로 실험하는 것이 좋으며, 대표적인 데이터 저장소는 Kaggle이 있다. https://www.kaggle.com/ Kaggle: Your Home for Data Science www.kaggle.com 다양한 competit..
2020.01.15
no image
핸즈 온 머신러닝 :: 1. 한눈에 보는 머신 러닝
핸즈 온 머신러닝 (Hands-On Machine Learning with Scikit-Learn & TensorFlow) / 오렐리앙 제론 지음 , 박해선 옮김 을 읽고, 추후 기억을 되살릴 수 있게끔 나만의 방법으로 내용을 리뷰한다. 따라서 리뷰의 내용 별 비중이 주관적일 수 있다. 챕터 1. 한눈에 보는 머신 러닝 1장에서는 전반적인 머신러닝의 정의와 종류에 대해 언급한다. 짧게 짧게 짚고 넘어가겠다. 1.1 머신러닝이란? 머신러닝은 데이터로부터 학습하도록 컴퓨터를 프로그래밍 하는 것이다. 또한 어떤 작업에서 경험을 통해 성능을 향상 시키는 과정이다. 1.2 왜 머신러닝을 사용하는가? 전통적인 접근 방법으로 스팸 필터링을 한다면 수동적이며 데이터의 변화에 적응하지 못한다. 반면 머신러닝 기반으로 필..
2020.01.13
no image
Python numpy 파이썬 넘파이 r_ , c_
파이썬 넘파이의 r_, c_ 에 대해 설명하고자 한다. 데이터 전처리 과정에서 여러 행렬을 column으로 이어 붙이기 위해 numpy.c_을 사용하곤 한다. numpy.c_ 의 정확한 정의는 다음 document를 보면 알 수 있다. https://docs.scipy.org/doc/numpy/reference/generated/numpy.c_.html numpy.c_ — NumPy v1.17 Manual Translates slice objects to concatenation along the second axis. This is short-hand for np.r_['-1,2,0', index expression], which is useful because of its common occurren..
2020.01.09