Learning AI

5. Lab : 역 인덱스 (inverse index)

By  | 2017년 12월 8일 | 
(coding the matrix) 간단한 검색 엔진 만들기 하나의 프로시저가 많은 양의 문서를 읽어 들여 후속 되는 검색 질의에 신속하게 응답 할 수 있게 인덱싱 파이썬이 제공하는 다양한 모듈 module , 컴포넌트들로 구성된 다양한 라이브러리를 활용해서 구현 import math 후help(math) 를 호출함으로 써 도움말 볼 수 math 에 정의된 프로시저로 3의 제곱근을 구한 뒤 다시 제곱해보면 예상과 다른 결과가 나옴-> 2.9999999999996... 왜냐면 파이썬은 정수가 아닌 실수를 제한적인 정밀도로 표현 (근사값) math.pimath.e 등 다양한 수학적 도구 가지고 있음 임포트할 땐, from <모듈 이름> import <항목 이름> fr

컴퓨터 시스템 및 파이썬 이해

By  | 2018년 2월 21일 | 
(고성능 파이썬) 컴퓨터 시스템- 연산 장치 ; 초당 계산 처리량- 기억 장치 ; 얼마나 많이 저장, 빠르게 r/w- 연결(통신) 장치 ; 위 둘 간의 데이터를 얼마나 빠르게 옮기나 * BSB ; 백사이드버스 (cpu와 cache를 연결) 연산장치- 입력 비트를 다른 비트로 변환 및 프로세스 상태 변경- IPC ; instructions per cycle- 초당 사이클 횟수는 클럭 속도로 측정- 클럭 속도는 높이면 초당 수행 연산량 증가 / IPC 높아지면 벡터화 수준 증가(한꺼번에 처리 하는 정도 ; SIMD)- 트랜지스터를 더 작게 못만드는 제약으로 하이퍼스레딩/ 비순차 실행(out-of-order execution)/ 멀티코어 아키텍쳐 등 방법론 등장 * 하이퍼스레딩 ; OS가 가상의 두

2. 집합, 함수

By  | 2017년 12월 5일 | 
(coding the matrix) 으악 벡터 행렬을 배우기 전에 알아야할 중요한 수학 개념엔, 집합(set), 시퀀스(sequence;순서있는리스트), 함수 그리고 확률이론이 있다 집합- 중복 x- 순서 x- {a,b,c,d}- 무한집합, 유한집합이 있으며, 유한집합의 경우 |S|는 집합의 크기(cardinality)를 의미한다(개수) 카테시안 곱(cartesian product)- 두 집합 A와 B의 카테시안 곱(데카르트 곱)은 각 원소의 모든쌍 (a,b)로 이루어진 집합임- A = {1,2,3} , B = {a,b,c,d}, |AxB| ? 3 * 4 = 12- 즉 유한집합 A, B에 대해 |A x B| = |A| x |B| 이다 함수- 가능한 입력 집합 D의 각 원소에 대해 가능한 출

3. 확률

By  | 2017년 12월 6일 | 
(coding the matrix) 벡터와 행렬이 중요하게 사용되는 한 분야가 바로 '확률' ex) 구글의 페이지랭크 시스템 ; 벡터와 행렬을 확률 계산에 사용 확률이론?- 무엇이 일어날 수 있는지, 그 가능성이 얼마나 되는지- 확률에 대한 계산법(caculus)- 가상적 실험에 대한 예측 확률분포- 유한한 정의역 Ω에서 음수가 아닌 실수의 집합 R+로의 함수 Pr()- 정의역의 모든 원소 w에 대해 Pr(w)의 총합을 구했을 때 1이 나온다면 -> (이산) 확률분포- 정의역의 원소는 실험결과(outcome)이라고 한다- Pr()에 의한 실험결과의 함수값은 실험결과의 확률이라고 한다 균등 분포- 모든 실험결과가 동일한 가능성을 가지며, 동일한 확률이 할당 되는 경우- 이 때의 확률분포를

4. Lab: 파이썬 기본(선형대수 관련)

By  | 2017년 12월 6일 | 
(coding the matrix) 이책의 장점은, 단원 끝마다 랩이 있다는 거 뭔가를 구현해볼 수 있다는게 좋은 듯 중요한 것이나 몰랐던 것 위주로 정리함 // : 정수 나눗셈에 대한 truncation 한줄 조건 표현식 : <표현식> if <조건> else <표현식> 집합- { } 사용하여 표시 { 1 + 2 , 4, 4} -> {3, 4}- 중복 원소 제거, 순서 보장 x- 집합의 크기(cardinality)는 len()을 이용해 구함 합산- sum()- 합산의 시작점을 0이 아닌 다른 값으로 하려면, sum({1,2,3}, 10) = 16 집합의 멤버십 테스트- in- not in 합집합과 교집합- |- &- 몰랐음ㄷㄷㄷ;; 집합 변경-