목록분류 전체보기 (25)
나름개발블로그
Chapter 14 CNN Convolution neural network (합성곱 신경망) 시각 피질 구조 뉴런들은 시야의 일부 범위 안에 있는 시각 작극에 반응 고수준 뉴런이 이웃한 저수준 뉴런의 출력에 기반한다 . 합성곱 층 convolutional layer zero padding : 높이와 너비를 맞추기 위해 입력 주위에 0을 추가하는것 stride : 한 수용장과 다음 수용장의 사이 간격 필터 filter 또는 convolution kernel 이라고 부른다 . 층의 전체 뉴런에 적용도니 하나의 필너튼 하나의 feature map 을 만든다. 여러가지 특성 뱁 쌓기 합성곱층은 여러가지 필터를 가지고필터마다 하나의 특성맵을 출력한다. 메모리 요구사항 filter 200, kernel_size 5..

Chapter 11 심층 신경망 훈련하기 훈련중에 그레이디언트 소실 , 폭주 등과 같은 문제에 직면 할 수 있다. 그레이디언트 소실과 폭주 문제 경사 하강법이 하위층의 연결 가중치를 변경되지 않은 채로 두는 문제 를 그레이디언트 소실이라고한다. 그레이디언트가 점점 커져서 여러층이 비정상적으로 큰 가중치로 갱신되는 현상을 그레이디언트 폭주라 고한다 (순환 신경망에서 주로 보임) 글로럿과 He 초기화 (앞쪽 수학적인 요소들은 한번쓱 읽어보고 넘어감 ...) 케라스는 기본적으로 균등분포의 글로럿 초기화를 사용한다. #kernel_initailizer 값 조절로 He 초기화를 사용 할 수도 있다. keras.layers.Dense(10,activation='relu',kernel_initializer="he_n..

Chapter 10 케라스를 사용한 인공 신경망 소개 생물학적 뉴런에서 인공 뉴런까지 인공 신경망은 1943년 처음 소개 되었었다. 긴시간 침체기에 있다가, 최근 다시 주목을 받기 시작하고 있다. 예전과 다르게 앞으로 우리 생활에 더 큰 영향을 줄 것이라 생각한다. 그에 대한 근거는 아래와 같다. 훈련데이터가 많이졌다. 하드웨어 발전이 크게 발전했다. 훈련 알고리즘이 향상 되었다. 이론상 제한점이 실전에서는 문제가 되지않았다. 투자와 진보의 선순환으로 들어갔다. 생물학적 뉴런 뉴런을 사용한 논리연산 인공 뉴런 (artificial neuron) 퍼셉트론 가장 간단한 인공 신경망중 하나로 1957년에 프랑크 로젠블라트가 제안 TLU(threshold logic unit) 또는 LTU(linear thres..
Chapter 9 clustering outlier detection density estimation Clustering 비슷한 것 끼리 모오는것! 아래와 같은 다양한 어플리케이션에서 사용됨 고객분류 데이터분석 차원축소기법 이상치탐지 준지도학습 검색엔진 이미지분활 k-means from sklearn.cluster import KMeans k = 5 kmeans = KMeans(n_clusters=k) y_pred = kmeans.fit_predict(X) 알고리즘이 찾을 클러스터 갯수 k 값을 준다. 모델 이너셔 (inertia) 각 샘플과 가장 가까운 센트로이드 사이의 평균 제곱 거리 최선의 클러스트 갯수를 선택하는 방법중 하나는 실루엣 점수 from sklearn.metrics import sil..
차원의 저주 차원 축소를 위한 접근 방법 투영 매니폴드 학습 PCA 주성분 분석 (principal component analysis) 가장 인기 있는 차원 축소 알고리즘 데이터에 가장 가까운 초평면을 정의한 다음 , 데이터를 이 평면에 투영시킴 분산보존 분산이 최대로 보존되는 축으로 투영 주성분 i번째 축을 데이터의 i 번째 주성분이라고 한다. SVD(특잇값 분해) 라는 표준 행렬 분해 기술이 있어서 찾을 수 있다. d차원으로 투영하기 Xd-proj=XWdX_\text{d-proj} = XW_dXd-proj=XWd sklearn 사용하기 from sklearn.decomposition import PCA pca = PCA(n_components =2) X2D = pca.fit_transform(X)..
chapter 7 앙상블 학습과 랜덤 포레스트 여러개의 예측기로 부터 예측 결과를 모아 이용 하는 투표 기반 분류기 다수결의 투표로 정해지는 분류기를 직접투표(Hard voting) 이라고 한다. 모든 분류기에서 확률 계산이 가능할떄 , 예측확률을 평균내어 가장 높은 클래스를 선택하는 방식은 간접투표 (soft voting)이라고 한다. 배깅과 페이스팅 배깅(bagging) : 훈련 세트에서 중복을 허용하여 샘플링하는 방식 페이스팅(pasting) : 중복을 허용하지 않고 셈플링 하는 방식 sklearn의 배깅과 페이스팅 from sklearn.ensemble import BaggingClassifier from sklearn.tree import DecisionTreeClassifier bag_clf ..

Chapter 6 Decision tree 결정 트리 학습과 시각화 from sklearn.tree import export_graphviz export_graphviz( tree_clf, out_file=image_path("tree.dot"), ... ) 요런식으로 그림이 나온다. 예측하기 결정 트리의 여러 장점중 하나는 데이터 전처리가 거의 필요하지 않다. samples : 얼마나 많은 훈련 샘플이 적용되었는지 value : 노드에서 각 클래스에 얼마나 많은 훈련 샘플이 있는지 gini : 불순도(impurity) 를 측정 클래스 확률 추정 CART 훈련 알고리즘 sklearn은 결정 트리를 훈련시키기위해 CART(classification and regression tree) 알고리즘을 사용한다 ..

chapter 5 Support vector machine (SVM) 머신러닝에서 가장 인기 있는 모델 복잡한 분류 문제에 적합하며 작거나 중간 크기의 데이터 셋에 적합 선형 SVM 분류 소프트 마진 분류 모든 샘플이 모두 도로 바깥쪽에 올바르게 분류되어 있으면 이는 하드 마진 분류 라고한다. 하드 마진 분류는 데이터가 선형적으로 구분 되어있어야 하고, 이상치에 민감함 마진오류 사이에 적절한 균형을 잡는게 소프트 마진 분류라고 한다. sklearn SVM모델에서 C는 마진오려를 지정하는 하이퍼파라미터 SVM 모델이 과대적합(overfitting) 이면 C를 감소시켜 모델을 규제가능 비선형 SVM 분류 다항식 커널 낮은 차수의 다항식은 매우 복잡한 데이터셋을 잘 표현 하지 못함, 높은차수의 다항식은 괸장히..