분류 전체보기
-
머신러닝 프로젝트 처음부터 끝까지전공 서적/핸즈온 머신러닝 2018. 8. 22. 13:06
큰 그림 보기 문제 정의 비즈니스 목적을 정확히 아는 것이 중요하다. 비즈니스의 목적이 문제의 구성, 알고리즘의 선택, 평가 시 사용할 성능 지표, 모델 튜닝을 위한 자원 을 결정한다. 파이프라인 데이터 처리 컴포넌트들이 연속되어 있는 것 각 컴포넌트는 완전히 독립적이며, 컴포넌트 사이의 인터페이스는 데이터 저장소 밖에 없다. 시스템을 이해하기 쉽게 만들고, 각자의 컴포넌트에 집중할 수 있다. 한 컴포넌트가 고장 날 경우 하위 컴포넌트는 문제가 생긴 컴포넌트의 마지막 출력을 사용해 평상시처럼 동작할 수 있다. 성능 측정 지표 선택 평균 제곱근 오차(RMSE) 예측에 얼마나 많은 오류가 있는지 알 수 있음 평균 절대 오차(MAE) 데이터 가져오기 테스트 세트 만들기 데이터 스누핑 편향 테스트 세트를 볼 경..
-
-
-
한눈에 보는 머신러닝전공 서적/핸즈온 머신러닝 2018. 8. 16. 22:32
왜 머신러닝을 사용하는가? 전통적인 접근 방법 문제가 단순하지 않을 경우 길고 복잡한 규칙으로 인해 유지보수의 난이도가 높아진다. 머신러닝 기반 접근 방법 패턴을 감지하여 좋은 기준을 자동으로 학습한다. 프로그램이 짧아지고 유지 보수하기 쉬우며 정확도가 더 높다. 머신러닝 기반 시스템은 변화를 자동으로 인식하고 업데이트 한다. 전통적인 방식으로는 너무 복잡하거나 알려진 알고리즘이 없는 문제를 해결할 수 있다. 머신러닝 알고리즘이 학습한 것을 조사하여 예상치 못한 연관 관계나 새로운 추세를 발견할 수도 있다. 데이터마이닝 머신러닝 기술을 적용하여 대용량의 데이터를 분석할 경우 겉으로 보이지 않던 패턴을 발견할 수 있다. 머신러닝 시스템의 종류 지도 학습과 비지도 학습 지도 학습 알고리즘에 주입하는 훈련 데..
-
모델 평가와 성능 향상전공 서적/파이썬 라이브러리를 활용한 머신러닝 2018. 8. 6. 19:00
교차검증 데이터를 여러 번 반복해서 나누고 여러 모델을 학습 K-겹 교차 검증 데이터를 k개의 부분집합으로 나눈 후 그 중 하나만 테스트 세트로 사용 이 작업을 k번 반복 다섯 개의 정확도를 얻게 된다. 이 정확도의 평균이 모델의 정확도의 기대치가 된다. 모델이 훈련에 사용한 폴드에 의존적이거나 데이터셋이 작을 경우 폴드에 따른 정확도의 차이가 크다. 장점 데이터를 무작위로 나눴을 때 테스트 세트에 분류하기 쉬운 샘플만 담기는 경우를 방지할 수 있다. 모델이 훈련 데이터에 얼마나 민감한지 알 수 있다. 단점 연산 비용이 k배 늘어난다. 계층별 k-겹 교차 검증 폴드 안의 클래스 비율이 전체 데이터셋의 클래스 비율과 같도록 데이터를 나눈다. 만약 샘플의 90%가 클래스 A 10%가 클래스 B일 경우 계층별..
-
데이터 표현과 특성 공학전공 서적/파이썬 라이브러리를 활용한 머신러닝 2018. 8. 6. 18:42
특성의 종류 연속형 특성 범주형 특성 원 핫 인코딩이 표현에 사용됨 구간 분할 연속형 데이터에 아주 강력한 선형 모델을 만드는 방법 각 구간에서 다른 값을 가지고 있으므로 선형 모델이 훨씬 유연해짐 상호 작용과 다항식 구간 선형 회귀에 기울기를 추가 구간 데이터에 원본 데이터 특성을 추가 기울기가 모든 구간에서 같기 때문에 데이터의 특성을 잘 반영하지 못함 구간별로 기울기를 다르게 함 구간 데이터와 원본 데이터를 곱한 특성들을 추가 선형 모델이 더욱 유연해짐 원본 특성을 거듭제곱한 고차항 특성을 추가 1차원 데이터셋에서도 부드러운 곡선을 만듬 데이터가 부족한 영역에서는 너무 민감하게 동작 단순한 모델에서는 성능을 높여주지만, 복잡한 모델에서는 성능이 낮아질 수 있음 (생각)단순한 모델에서는 특성 추가가 ..
-
비지도학습전공 서적/파이썬 라이브러리를 활용한 머신러닝 2018. 8. 6. 15:00
차원 축소, 특성 추출, 매니폴드 학습 주성분 분석(PCA) 특성들이 통계적으로 상관관계가 없도록 데이터셋을 회전시키는 기술 특성 추출에 사용됨 주성분 주된 분산의 방향 데이터의 차원 축소 시 얼마나 많은 성분을 유지할지 알려주어야 함 비음수 행렬 분해(NMF) 성분의 가중치 합으로 각 데이터 포인트를 나타낼 수 있음 음수가 아닌 성분과 계수값을 찾음 패턴 추출에 사용됨 t-SNE를 이용한 매니폴드 학습 시각화가 목적, 3개 이상의 특성은 거의 뽑지 않음 훈련 데이터를 새로운 표현으로 변환 시키지만 새로운 데이터에는 적용하지 못함 이웃 데이터 포인트에 대한 정보를 보존하려 노력 군집 K-평균 군집 데이터를 영역을 대표하는 클러스터 중심을 찾음 실패 경우 클러스터는 둥근 형태로 나타남 비교적 간단한 형태를..
-
지도학습전공 서적/파이썬 라이브러리를 활용한 머신러닝 2018. 8. 6. 14:45
분류와 회귀 분류 미리 정의된 가능성 있는 여러 클래스 레이블 중 하나를 예측하는 것 이진 분류, 다중 분류로 나뉨 회귀 실수를 예측하는 것 일반화, 과대적합, 과소적합 일반화 훈련 이후 들어온 새롭게 들어온 데이터를 정확히 처리할 수 있는 능력 과대적합 훈련 세트의 정확성을 높이기 위하여 모델이 너무 복잡해진 경우 과소적합 훈련이 부족해 모델이 너무 간단한 경우 지도 학습 알고리즘 K-최근접 이웃 새로운 데이터 포인트에 대해 예측할 때 훈련 데이터셋에서 가장 가까운 데이터 포인트를 찾는다. 이웃의 수를 늘릴수록 결정 경계는 더 부드러워진다. 장점 이해하기 매우 쉬운 모델 대개 많은 조정 없이 좋은 성능을 낸다. 단점 훈련 세트가 매우 크면 예측이 느려진다. 데이터를 전처리하는 과정이 중요하다. 선형 모..
-
소프트웨어 제품 라인 공학Topcit/소프트웨어 개발 2018. 6. 11. 23:15
소프트웨어 제품 라인 공학 개요 정의 소프트웨어의 품질과 생산성을 높이기 위해서는 재사용 저장소의 개념을 도입하여 컴포넌트 재사용율을 높여야 한다. 여러 시스템의 공통적인 부분을 소프트웨어 핵심 자산으로 개발, 관리 및 재사용하여 소프트웨어의 개발 생산성과 품질을 극대화 하는 것을 목표로 1980년대에 만들어진 개발 방법론 소프트웨어 제품 라인 구성 요소 구분 Core Asset 개발 반복적인 수행으로 Products의 공통되는 부분을 찾아내고, 기존의 Products 개발의 생산성을 향상 시키는 개발 단계 Product 개발 개발 대상 Product의 핵심 공통 기능 개발에 Core Asset을 활용함으로써 생산 기간의 단축을 가능하게 한다. 관리 올바른 조직 구조, 자원 할당, 중재 및 감독, 교육 ..