본문 바로가기

반응형

전체 글

(149)
3주차_#4. 서버를 100대 가지고 있는 경우, 인공신경망보다 Random Forest를 써야하는 이유는? Answer. 접근 할때 '딥러닝'과 '앙상블 모델'이라는 특징으로 접근을 해보았다. Random Forest는 tree 기반의 앙상블 모델이다. 문제를 여러 개의 파트로 쪼갠후 각각에 대한 답을 구하고 그 결과를 합치는 방법이기 때문에 서버가 여러개인 경우 사용하기에 용이 하다. 반면 뉴럴네트워크는 end-to-end learning이다. 즉, 뉴럴네트워크는 한쪽 끝에서 입력을 받아들이고 다른 쪽 끝에서 출력을 생성하는데, 입력 및 출력을 직접 고려하여 네트워크 가중치를 최적화 한다. * end-to-end leaning : 전체를 모델로 한번에 학습 [참고] http://perso.univ-st-etienne.fr/fod07375/Workshop/assets/slides/Presentation_Wol..
3주차_#3. 오래된 머신러닝 기법인 나이브베이즈(naïve bayes)의 장점 나이브베이즈 - 스팸필터나 키워드 검색을 활용한 문서 분류에 사용되는 지도학습분류기 - 베이즈정리를 적용하여 데이터를 구성하는 각각의 요소들이 독립이라는 가정하에 입력 벡터를 분류하는 확률 모형 - 장점 1. 계산복잡성이 낮아 시간 소요가 짧다. 2. 메모리 용량을 크게 차지 하지 않는다. 3. 그럼에도 상당히 좋은 성능을 낸다. (SVM과도 경쟁할 만큼 우수한 분류 성능) [참고] https://brunch.co.kr/@crescent702/16 https://ratsgo.github.io/machine%20learning/2017/05/18/naive/ http://untitledtblog.tistory.com/31
3주차_#2. 베이지안(Bayesian)과 프리퀀티스트(Frequentist) 간의 입장 차이 조건부확률 - B라는 사건이 일어 났을때 A사건이 일어날 확률. 여기서 B라는 사건이 이미 일어난 상황에서 A가 일어 났다는 것은 결국 A와 B가 동시에 일어났다는 것이다. - P(A|B) = P(A∩B)/P(B) (단, P(B) != 0) 예제1] 1~20까지의 숫자가 적혀있는 카드가 있다고 할때, A: 2의 배수가 나오는 사건 B: 3의 배수가 나오는 사건 이라 하자. 이때, 2의 배수가 나왔을 때 그것이 3의 배수였을 확률은 얼마인가? Answer) P(B|A) = P(B∩A)/P(A) = 6의 배수가 나올 확률 / (10/20) = (3/20) / (10/20) = 3/10 = (6의 배수인 카드) / (2의 배수인 카드) 예제2] 안경 맨눈 남학생 5 7 여학생 6 4 A: 남학생일 사건 B: ..
3주차_#1. 어떨 때 모수적 방법론을 쓸 수 있고, 어떨 때 비모수적 방법론을 쓸 수 있나요? 통계적 추론 적절한 표본집단을 지정하여 이 표본집단에서 평균, 표준편차와 같은 통계량을 구한 뒤 이를 통해 모수를 추정한다. * 통계량(statistics) : 추출된 표본의 평균, 표준편차, 분산 등 * 모수(parameter) : 모집단의 모평균, 모표준편차, 모분산 등 모수적 방법 정규성을 갖는다는 모수적 특성을 이용하는 통계적 방법 * 중심극한정리 : 본래의 분포에 상관없이 무작위로 복원추출된 연속형 자료의 평균의 분포는 정규분포를 따른다. 군당 30명 이상으로 구성된 표본의 경우 정규분포를 따른다고 가정한다. 비모수적 방법 정규성 검정에서 정규분포를 따르지 않는다고 증명되거나 군 당 10명 미만의 소규모 실험에서는 정규분포임을 가정할 수 없다. 이 경우 비모수적 방법을 이용한다. 비모수적 방법에..
크롤링(Crawling)_05 (부분 문자열 매칭) 부분 문자열 매칭 ^ 문자열의 시작 $ 문자열의 끝 * 문자열의 부분 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117..
크롤링(Crawling)_04 (함수) 예제 #1. 기사 제목 크롤링 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 def title_matcher(tag): return tag.name == 'h3' def get_news_title(url): res = requests.get(url) html = res.text soup = BeautifulSoup(html, 'html5lib') h3 = soup.find(lambda x : x.name == 'h3') # h3 = soup.find(title_matcher) # h3 = soup.find('h3') return h3.get_text() print(get_news_title('http://media.daum.net/digital/newsview?ne..
크롤링(Crawling)_03 (HTML page crawling 실습) HTML page crawling 실습 - 순서 1. browser로 크롤링 대상 사이트 접속 2. 원하는 data 확인 3. [개발자도구]를 이용하여 request 방식, URL, data의 위치(태그) 확인 4. request 모듈로 request 전송 및 response 처리 ** urllib, urllib2 등 여럿이 존재하지만 여기서는 requests 사용 5. BeautifulSoup 모듈로 response parsing하여 원하는 data 부분을 추출 BeautifulSoup을 이용하여 tag 검색하기 - html 태그를 여러 조건 (class, id 혹은 기타 정보 등)을 이용하여 추출 * find/fild_all 함수 : 태그 검색 조건을 명시하여 태그 (전체) 검색 find - 가장 먼..
크롤링(Crawling)_02 (API를 이용한 크롤링) API(Application Programming Interface) - 특정 프로그램을 만들기 위해 제공되는 모듈(함수 등)을 의미 - WEB에서 사용될 때는 보통 WEB API로 지칭 - 일반적으로 XML, JSON의 형태도 응답을 전달 (원하는 데이터 추출이 수월) *** 코드 200 : 정상 404 : 페이지 요청 오류 403 : 권한없음 500 : 서버에러 Daum API - https://developers.daum.net/console - [웹 검색 가이드 문서] https://developers.daum.net/services/apis/search/web 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import requests from bs4 import..