Ch.07-1 확인문제 1. 어떤 인공 신경망의 입력 특성이 100개이고 밀집층에 있는 뉴런 개수가 10개일 때 필요한 모델 파라미터의 개수는?A: 1010개,파라미터의 개수를 구하는 방법은 입력 특성에 출력층의 뉴런 개수를 곱한 가중치에 각 뉴런이 가지는 절편 개수를 더한다.(입력특성) * (뉴런 개수) + (뉴런 개수)100 * 10 + 10 = 1010 2. 케라스의 Dense 클래스를 이용해 신경망의 출력층을 만드려고 합니다. 이 신경망이 이진 분류 모델이라면 activation 매개변수에 어떤 활성화 함수를 지정해야 하나요?A: Signoid 함수Dense층은 밀집층, 완전 연결층이라고도 하며 뉴런과 입력층의 변수들이 모두 한 번씩 곱해져 가중치가 모두 생긴다. 밀집층에서는 분류하려는 클래스..
[기본 숙제]k-평균 알고리즘은 주어진 데이터를 k개의 클러스터로 묶는 알고리즘으로, 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작한다. 자율 학습의 일종으로, 레이블이 달려 있지 않은 입력 데이터에 레이블을 달아주는 역할을 수행한다K-평균 알고리즘 작동 방식1. 무작위로 K개의 클러스터 중심 정하기2. 각 샘플에서 가장 가까운 클러스터 중심을 찾아 해당 클러스터의 샘플로 지정3. 클러스터에 속한 샘플의 평균값으로 클러스터 중심 변경4. 클러스터 중심에 변화가 없을 때 까지 2번으로 돌아가 반복 [추가 숙제]1. 일반적으로 데이터 셋에서 주성분은 특성의 개수만큼 찾을 수 있다.2. (1000, 100) 크기 데이터셋에서 10개의 주성분을 찾아 변환하면 샘플의 수는 그대로 존재하며, 특성의 수..
[필수과제]교차검증은 검증세트를 떼어 내어 평가하는 과정을 여러 번 반복하는 과정을 의미한다.교차 검증을 통해 얻은 점수들의 평균으로 최종 검증 점수를 얻을 수 있다.일반적을 5-폴드 교차 검증이나 10-폴드 교차검증을 많이 사용하며, 이를 통해 데이터의 80~90%까지 훈련에 사용할 수 있다. [선택과제]랜덤 포레스트(Random Forest)랜덤 포레스트는 가장 대표적인 앙상블 학습 알고리즘으로, 결정 트리를 훈련하기 위해 부스트랩 샘플을 만들고 전체 특성 중 일부를 랜덤하게 선택하여 결정트리를 만든다. 엑스트라 트리(Extra Tree)엑스트라 트리는 랜덤 포레스트와 매우 비슷하지만 부트스트랩 샘플을 사용하지 않고 노드를 분할할 때 최선이 아니라 랜덤하게 분할한다. 따라서 랜덤 포레스트보다 훈련 ..
[필수 과제]로지스틱 회귀로지스틱 회귀는 분류 모델의 한 종류로 선형 회귀와 동일하게 선형 방정식을 학습한다. 예를 들어 아래와 같이 나타낼 수 있다.여기서 a, b, c, d e는 가중치, 혹은 계수를 의미하고, z는 어떤 값도 가능하다.하지만 이를 확률로 나타내려면 0과 1사이의 값으로 나타내야한다. 이때 사용되는 함수가 바로 시그모이드 함수(Sigmoid function)이다. 시그모이드 함수는 z가 아주 큰 음수일때 0이 되고, 아주 큰 양수일때 1이 될 수 있게 아주 복잡한 계산을 통해 위와 같은 그래프를 만들 수 있다. [선택 과제]에포크 횟수가 적으면 모델이 훈련 세트를 덜 학습하지만, 횟수가 늘어날 수록 훈련 세트를 학습을 더 하여 훈련 세트에 아주 잘 맞는 모델이 만들어진다. 이를 바꿔말..
[필수 과제] 위와 같은 코드를 실행했을 때, n이 커짐에 따라 그래프의 모양이 나타난다. k-최근접 이웃 알고리즘에서 이웃의 개수를 줄이면 훈련세트에 있는 국지적인 패터에 미감해지고, 이웃의 개수를 늘리면 데이터 전반에 있는 일반적인 패턴을 따르기 때문에 n이 1이었을 때, 데이터 값에 좀더 fit한 그래프 모양이 그려지며, 5개, 10개로 늘어날 수록 그래프의 모양이 좀 더 단순하게 나타남을 알 수 있다. [선택과제]Model ParameterModel Parameter은 모델 내부에 존재하는 구성 변수로, 데이터로부터 값을 추정할 수 있습니다.모델이 예측을 할 때 필요하다.문제에 대한 모델의 기술을 정의하는 값.실무자가 수동으로 설정하지 않는 경우가 많으며 학습된 모델의 일부로 저장되는 경우가 많..
다짐쓰고 바로 공부하는사람? 저요...주중에는 일 + 운동으로 정신없는 나날을 보냈고, 주말에도 침대에 누워있다가도 해결하지 못했던 업무가 생각나 결국엔 책상앞에 앉고 말았다. (아니 앉아야 했으니 앉았다.) 그리고 미룰 수 있을때 까지 미뤄왔던 머신러닝 공부!!! 혼공 스터디는 처음이라 다른 분들은 어떻게 작성했을까 블로그를 몇개 둘러보고 아 이렇게 하는구나 파악 완료했다. 생각보다 범위는 넒었지만 1챕터는 기본적인 개념과 colab에 대한 전반적인 설명과 이런게 있어~ 정도의 내용이었고, 본격적인 머신러닝 실습을 2챕터에서 공부했다! 1. 기본숙제 2. 추가 숙제1. 비지도 학습은 타겟 없이 입력데이터만을 사용한다. 비지도 학습은 정답을 사용하지 않기 때문에 무언가를 맞출 수 없다. 2. train..
공부를 시작하기 전에나는 통계를 전공했고, 지금은 데이터 분석과 관련된 업무를 하고 있는 1년 차 신입이다.처음 지금의 회사를 입사하여 입사평가를 준비하면서, 내가 생각하고 기대했던 데이터 분석과는 거리가 있을 것 같다는 생각에 스트레스를 받았다. 하지만 입사평가를 끝나고 현장에 투입되어 프로젝트를 진행하면서 '데이터 분석'이라는 게 너무나 광범위해서 데이터 분석 중에도 나에게 맞는 게 따로 있을 거란 생각이 들었다.그러다 다음 프로젝트로 머신러닝과 관련된 업무를 맡게 되었다. 하지만 나는 그저 코드 몇줄 따라 쓰고 이미 오래전에 배워 하나도 기억에 남지 않는 희미한 머신러닝 지식뿐이라 이번 혼공스터디에 꼭 참여해야겠다 다짐했다. 그리고 어쩌면 머신러닝 공부를 하면서 내 진로에 대한 방향을 확인할 수 있..
참고 글 [Python] OpenCV를 이용한 이미지/영상 처리 - Adaptive Threshold, otsu algorithm Threshold 이전 글 [Python] OpenCV를 이용한 이미지/영상 처리 - 이진화(Binarization), TrackBar 참고 글 [Python] OpenCV를 이용한 이미지/영상 처리 - 동영상 및 카메라 출력 이전글 1. OpenCV를 이용한 이미지/영상 처리 - seoyuun22.tistory.com 18. 윤곽선 (Image Contours) 윤곽선(Contours)은 동일한 색 또는 동일한 강도를 가지고 있는 영역의 경계선을 연결한 선으로 대상의 외형을 파악하는데 유용하게 사용된다. 윤곽선을 그리는 과정 윤곽선을 그릴 때는 원본 이미지의 훼손을 방지하기..