전체 글(857)
-
지도 학습 알고리즘별 간단한 사용법 정리
“지도 학습 요약 정리” 최근접 이웃 작은 데이터 셋의 경우 , 기본 모델로서 좋고 설명하기 쉬움 선형 모델 첫번째로 시도하기 좋은 알고리즘, 대용량 데이터 셋 가능, 고차원 데이터에도 가능 나이브 베이즈 분류만 가능, 선형 모델보다 훨씬 가능 선형모델과 역할 비슷하지만 덜 정확 결정트리 매우 빠름, 데이터 스케일 조정 필요 없음, 시각화하기 좋음 랜덤포레스트 결정 트리보다 거의 좋은 트리 내보냄 , 매우 안정적이고 강력함데이터 스케일 조정 필요 없음 , 고차원 희소 데이터에는 부적합 그래디언트 부스팅 결정 트리 랜덤포레스트보다 성능 조금 더 좋음 그러나 학습은 조금 더 느리고 예측은 빠르고 메모리를 조금 사용매개변수 튜닝 할 것이 랜덤포레스트 보단 많음 서포트 벡터 머신 비슷한 의미의 특성들로 이뤄진 ..
2018.01.06 -
지도학습_ 커널 서포트 벡터 머신, 신경망
SVM 입력 데이터에서 단순한 초평면으로 정의되지 않는 더 복잡한 모델을 만들 수 있도록 확장한 것입니다.분류와 회귀 모두 사용 SVC SVR : 사용하는 회귀 문제에도 같은 개념을 적용 할 수 있다. 개념 설명 : 프리드먼 "THE ELEMENTS OF STATISTICAL LEARNING" 12장 선형 모델과 비선형 특성: 직선과 초평면 -> 유연하지 못함 -> 저차원 데이터셋에서는 매우 제한적선형 모델 유연하게 하는 법 -> 특성끼리 곱하거나 특성을 거듭제곱하는 식으로 새로운 특성 추가 from sklearn.svm import LinearSVC linear_svm = LinearSVC().fit(X, y) mglearn.plots.plot_2d_separator(linear_svm, X) mgle..
2018.01.06 -
지도학습 결정트리 앙상블(Randomforest, Gradient Boosting)
도움이 되셨다면, 광고 한번만 눌러주세요. 블로그 관리에 큰 힘이 됩니다 ^^ 결정 트리 1. 분류 / 2. 회귀모델 결정에 다다를 때까지 예/아니오 질문 이어가면서 학습 구분 예제는 예/아니오 연속적인 데이터에 적용한 테스트는 " 특성 i는 값 a 보다 큰가? " 계측적으로 영역을 분할해가는 알고리즘 ## 복잡도 제어하기 모든 leaf node 가 순수 노드가 될 때까지 진행하면 -> 과대적합 발생 (훈련 세트 100% 정확하게) -> 이상치에 너무 민감 과대 적합 막는 전략 크게 2가지 1) 사전 가지치기 -> 일찍 중단하는 전략 2) 데이터 포인트가 적은 노드를 삭제하거나 병합하는 전략(사후 가지치기) 1) 사전 가지치기 방법 트리의 최대 깊이나 리프의 최대 개수를 제한하거나 또는 노드를 분할하기 ..
2018.01.05 -
완벽한 공부법
1. 믿음 정의 1. 기대 : 자신의 미래에 관한 믿음.2. mindset : 자기 존재에 관한 믿음이며 자신을 바라보는 사고 방식3. 자기 효능감 : 특정한 과제를 수행할 수 있다는 자기 능력에 관한 믿음. 실패 경험이 쌓이고 현재 상황을 변화시킬 수 없다는 경험이 누적될 때마다 무기력은 학습되고 인간의 행동을 지배하게 된다.그러나 희망적인 것은 비관을 학습 할 수 있듯이 낙관도 학습된다는 것이다. 동기부여를 받으려면 초반의 성공이 중요하다.[데이브 램지는 고객들에게 먼저 부채 목록을 작성하게 한다. 적은 금액 부터 순서대로 적으라고 한다. 이자에 상관 없이 적은 금액부터 해결하라고 말한다.]작은 성공을 통하여 기대를 낳자. 장애물은 포기하라는 뜻이 아닙니다. 뭔가 어려운 것은 그것을 극복했을 때 나를..
2018.01.04 -
선형대수 1강~3강
음... 사실 머 엄청나게 논리적으로 할 것은 아니고.... 그냥 강좌 듣고 노트필기 끄적이면서.. 수업 내용 중 모르는 거 있으면 더 보충하고 그럴려 합니다.ㅎㅎ 이러다 실력이 점점 좋아지면 발전이 있지 않겠습니까..ㅎㅎ https://www.youtube.com/playlist?list=PLSN_PltQeOyjDGSghAf92VhdMBeaLZWR3 # Linearity 하기 위해선 2가지 만족해야함 1) superposition 2) homegeniety # 항상 원점을 지날 때만 가능하다고 하네요# 변화량에 대해서는 선형성을 따질 수 있답니다. # 미분과 적분에서도 가능하고 Matrix 에서도 가능하다고 하네요.# 그리고 선형대수학에서는 matrix를 (a,b,c) 이렇게 쓰는 것이 아니라 Tran..
2018.01.04 -
선형대수학을 다시 공부하기
예전에는 논문을 볼 일도 없고 학교 수업에만 쫓아가다 보니 선형대수학을 학교에서 배웠지만 많이 활용이 안되서 그런지 머릿속에서는 점점 잊혀져 가더라구요. 논문을 읽거나 다른 사람들의 논문 리뷰를 보면서 수학적인 지식을 설명해주긴 하지만, 그걸로는 먼가 너무 부분적으로 아는 것 같아서 이번 기회에 다시 공부해서 별거 없는 내용지만 흔적을 남기려고 합니다. 여러 사람들이 추천해주는 걸 모아봤습니다! 추천 사이트 2013.한양대교수님 이상화교수님 강의https://www.youtube.com/playlist?list=PLSN_PltQeOyjDGSghAf92VhdMBeaLZWR3 http://www.bigbook.or.kr/bbs/bbs/board.php?bo_table=bo16&wr_id=2 영어강좌도 있습니..
2018.01.04 -
지도학습_k-최근접 이웃 , 선형모델(로지스틱,svm) , 나이브 베이즈 분류기
기준 scikit-learn package 나는 멀 해도 안먹히지만 Matplotlib에서한글 깨질 때 유용한 사이트 --> https://ansuchan.com/matplotlib-with-korean/ # 지도학습 # 입력과 출력 샘플이 있는 것# 분류 / 회귀# 분류 - 이진 분류, 다중 분류 # 회귀 - 부동수소점수(실수)를 예측 # k-최근접 이웃# 가장 간단한 머신러닝 # 장단점# 2개의 중요한 매개변수 # 1. 데이터 포인트 사의의 거리를 재는 방법# 2. 이웃의 수 # 다양한 거리를 재는 방식이 나와 있음# 장점 : 1. 이해하기 쉬운 모델 # 단점 : 전처리가 중요하다. , 예측이 느리고 특성 처리 부족 # 이러한 단점 해결 모델 -> 선형 모델 ## 선형 모델 # 모델 파라미터 w 와 ..
2018.01.03 -
문제와 데이터 이해하기
머시러닝 과정에서 가장 중요한 것은 데이터 이해하고 그 데이터가 해결 해야 할 문제와 어떤 관련이 있는지 이해하는 일이다. 왜냐하면 알고리즘마다 잘 들어맞는 데이터나 문제의 종류가 다르기 때문이다. 최소한 마음에 담아둘 사항1. 어떤 질문에 대한 답을 원하는가? 가지고 있는 데이터가 원하는 답을 줄 수 있는가? 2. 내 질문을 머신러닝 문제로 가잘 잘 기술하는 방법은 무엇인가? 3. 문제를 풀기에 충분한 데이터가 있는가? 4. 내가 추출한 데이터의 특성은 무엇이며 좋은 예측을 만들어 낼 수 있는 것인가? 5. 머신러닝 어플리케이션 성과를 어떻게 측정할 것인가 6. 머신러닝 솔루션이 다른 연구나 제품과 어떻게 협력 할 수 있겠는가? ## 항상 머린속에 큰 그림을 생각하자 # Python필수 libraryn..
2018.01.03 -
기계학습
데이터 과학의 핵심 : 비즈니스 문제를 데이터 문제로 변환시킨 뒤 관련 데이터를 수집하고 이해하고 전처리하고 형식을 바꾸는 것 기계학습은 이러한 과정 이후에 생각해야 하는 것 # 모델링 모델이란 ? -> 모델은 다양한 변수 간의 수학적 관계를 표현한 것 ex > 요리책 , 먹는 사람의 수, 배고픈 정도와 같은 변수를 통해서 재료의 양을 결정하는 모델을 사용비즈니스 모델에서 요리책 모델은 시행착오를 기반으로 누군가 직접 다양한 재료의 조합으료 요리 시도해 보고 가장 마음에 드는 조합을 찾았을 것## 요즘 보니 요리하는 로봇을 만들어 쉐프의 데이터를 입력하면 비슷하게 만들어주는 머신까지도 발명했다고 하더라구요.. # 기계학습 데이터를 통해 모델을 만들고 사용하는 것 -> 모델링 or 데이터마이닝 # 신용카드..
2018.01.02 -
경사하강법
특정 상황에서 가장 적합한 모델을 찾아야 할 경우 가장 적합한(Best) 라는 것은 대부분 "모델의 오류(error)를 최소화 하는" or "likelihood(우도)를 최대화하는" 것을 의미한다. 즉 어떤 최적합 문제에 대한 답을 내리는 것이다. 최적합 문제를 풀 때 경사하강법(gradient descent)이라 불리는 방법을 주로 사용한다. def sum_of_squared(v) :"""v에 속해 있는 항목들의 제곱합을 계산한다."""return sum(v_i**2 for v_i in v) 이러한 함수 f가 있을 때 -> 최대화 즉 함수 f 를 최대화시키는 입력값 v를 찾아야 한다. # gardient(경사,기울기) - 편미분 벡터함수가 가장 빠르게 증가할 수 있는 방향을 나타낸다. 방법중 하나는 임..
2018.01.02 -
베이지안 추론
빈도주의론자 입장에서는 " 귀무가설이 사실이라면 이렇게 극단적인 통계치가 발생할 확률은 3%이다" 베이지안들은 알려지지 않은 parameter를 확률변수로 보는 방법이 있다. parameter에 대한 사전 분포로 주어지고 관측된 데이터와 베이즈 정리를 이용하여 사후정리를 갱신할 수 있다. 그래서 피라미터에 대한 확률적으로 결론을 낼 수 있다. ex ) 동전 던지기 예시처럼 알려지지 않은 parameter가 확률이라고 가정해보자 보통 모든 확률 값은 0~1 사이에서 정의 되는 베타분포를 사전분포르 사용한다. 베타분포https://ko.wikipedia.org/wiki/%EB%B2%A0%ED%83%80_%EB%B6%84%ED%8F%AC import mathdef B(alpha,beta) : "모든 확률값의 ..
2018.01.02 -
matplotlib 간단한 실습
from collections import Counter from matplotlib import pyplot as plt import numpy as np years = [1950,1960,1970,1980,1990,2000,2010] gdp = [300.2,543.3,1075.9,2862.5,5979.5,10234.2, 15234.4] plt.plot(years,gdp,color="green",marker="o",linestyle="solid") plt.ylabel("billionsof $") plt.show() # 막대 그래프 movies =["a","b","c","d","e"] num_oscars=[5,11,3,6,10] # 막대 너비 default 0.8 # 막대가 가운데로 올수 있도록 왼쪽 좌..
2018.01.02