전체 글75 [Math for AI] 확률론 딥러닝에서 확률론이 필요한 이유 기계학습에서 사용하는 손실 함수(loss function)들의 작동 원리는 확률론을 기반으로 하고 있다 회귀 분석에서 사용하는 손실 함수인 l2-norm: 예측 오차의 분산을 최소화하는 방향으로 학습을 유도 분류 문제에서 사용하는 손실 함수인 cross-entropy: 모델 예측의 불확실성을 최소화하는 방향으로 학습을 유도 ⇒ 분산 및 불확실성을 최소화하기 위해서는 이들을 측정하는 방법을 알아야 하는데, 이것을 통계학에서 제공하기 때문에 기계학습을 이해하기 위해서는 확률론의 기본 개념에 대한 이해가 선행되어야 한다 확률분포, 확률변수 확률변수 random variable 확률 실험(random experiment)의 결과 또는 결과물에 대한 숫자적 표현 이산확률변수와 연속.. 2023. 3. 13. [PyTorch] 02 Basic Operation 포스팅 개요 본 포스팅은 PyTorch의 기본적인 연산 중 view, reshape, transpose와 dot, mm, matmul의 차이점을 중심으로 정리한 글입니다. view / reshape / transpose : contiguity의 측면에서 차이를 가짐 contiguous: matrix의 눈에 보이는 순차적인 shape information과 실제로 matrix의 각 데이터가 저장된 위치가 같은지 여부 view: tensor가 contiguous할 때 shape를 재구성함 → view에 의해 재구성된 tensor는 항상 contiguity가 보장됨 tensor_ex = torch.rand(size=(2, 3, 2)) tensor_ex # view tensor_ex.view([-1, 6]) #.. 2023. 3. 13. [PyTorch] 01 TensorFlow vs PyTorch 포스팅 개요 본 포스팅은 대표적인 딥러닝 프레임워크의 특징, 그 중에서도 TensorFlow와 PyTorch의 차이점에 대해 정리한 글입니다. Deep Learning Framework Keras: TensorFlow, PyTorch를 기반으로 하는 wrapper → user-friendly Keras, TensorFlow는 static graphs를 사용하는 반면, PyTorch는 dynamic computational graph를 사용 2020년 자료라서 popularity rank는 현재와 다를 수 있음 TensorFlow vs PyTorch TensorFlow Static Computational Graph. Define and Run 그래프를 먼저 정의 → 실행 시점에 그래프에 데이터를 feed.. 2023. 3. 13. [Python] 09 Data Handling 01 CSV CSV Comma Separate Value, Character Separate Value 필드를 쉼표(,) 또는 그 외의 구분자로 구분한 텍스트 파일 엑셀 양식의 데이터를 프로그램에 상관 없이 쓰기 위한 데이터 형식 CSV 객체 import csv reader = csv.reader(f, delimiter=",", quotechar='"', quoting=csv.QUOTE_ALL) delimiter: 구분자 quotechar: 문자열을 둘러싸는 신호 문자 quoting: quotechar로 둘러쌀 레벨 (QUOTE_ALL / QUOTE_MINIMAL) 파이썬에서의 CSV 유동 인구 데이터로부터 성남시 데이터만 수집 import csv seoung_nam_data = [] header = [.. 2023. 3. 8. [Python] 08 File & Exception & Log Handling 01 Exception Handling 01-1 Exception 예상 가능한 예외와 예상 불가능한 예외 예상 가능한 예외 발생 여부를 사전에 인지할 수 있는 예외 ex. 사용자의 잘못된 입력, → 개발자가 반드시 명시적으로 정의해야 함 예상 불가능한 예외 인터프리팅 과정에서 발생하는 예외 예외 처리 Exception Handling 프로그램은 제품이므로, 모든 잘못된 상황에 대한 대처가 필요 exception의 종류 Built-in Exception 예시 Exception 이름 내용 IndexError list의 index 범위를 넘어갈 때 NameError 존재하지 않는 변수를 호출할 때 ZeroDivisionError 0으로 숫자를 나눌 때 ValueError 변환할 수 없는 문자/숫자를 변환할 때.. 2023. 3. 8. [Python] 07 Python Object Oriented Programming 01 객체지향 프로그래밍 개요 OOP에서의 ‘객체’ 속성(attribute)과 행동(method)을 가지는 것 OOP의 구성 요소 클래스(class): 객체의 설계도 인스턴스(instance): 클래스로 구현한 객체 02 Objects in Python class 선언하기 class SoccerPlayer(object): class: class 예약어 SoccerPlayer: 클래스 이름 object: 상속 받는 부모 클래스. object 클래스는 python3에서 자동 상속되므로 생략 가능 cf. Python naming rule snake_case (띄어쓰기 부분에 _ 사용) → 변수명 / 함수명의 작명 방식 CamelCase (단어의 첫 글자를 대문자로 작성) → Class명의 작명 방식 attri.. 2023. 3. 7. [Python] 06 Pythonic Code 00 Overview Pythonic code 파이썬 스타일의 코딩 기법 파이썬 특유의 문법을 활용하여 코드를 효율적으로 작성하는 방법 but, 많은 언어들이 서로의 장점을 채용하며 발전해온 결과, 위에서 언급한 ‘파이썬 특유의 문법’은 더 이상 파이썬의 고유한 문법은 아니게 됨 01 split & join split(): string type의 값을 ‘기준값’으로 나눠서 list 형태로 변환 join(): string으로 구성된 list를 합쳐 하나의 string으로 변환 colors = ["red", "orange", "yellow", "green"] result1 = ", ".join(colors) print("result1:", result1) result2 = result1.split(", ").. 2023. 3. 7. [Python] 05 Python Data Structure 01 Data Structure 01-1 Stack 스택 Stack Last In First Out (LIFO) 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 스택 관련 메서드 S.push(e): element e를 stack S의 맨 위에 추가 S.pop(): stack S의 맨 위 element를 삭제하고 return S.top(): stack S의 맨 위 element를 삭제하지 않고 그 주소를 return S.is_empty(): stack S에 element가 없는 경우 true를 return len(S): stack S의 element의 개수를 return Stack with list object S = [1, 2, 3, 4, 5] S.append(10) # push. S = [1,.. 2023. 3. 7. [Python] 04 Advanced Function Concept 01 call by object reference 함수에서 parameter를 전달하는 방식 값에 의한 호출 call by value 함수에 인자를 넘길 때 값이 복사되어 함수로 전달되는 방식 → 함수 내에 인자 값 변경 시, 호출자에게 영향을 주지 않음 def swap_value(x, y): temp = x # 값이 복사되어 함수로 전달됨 -> 호출자에게 영향을 주지 않음 x = y y = temp x = 4 y = 5 swap_value(x, y) print(x, y) # 4 5 참조에 의한 호출 call by reference 함수에 인자를 넘길 때 메모리 주소가 함수로 전달되는 방식 → 함수 내에 인자 값 변경 시, 호출자의 값도 변경됨 객체 참조에 의한 호출 call by object refer.. 2023. 3. 7. 이전 1 ··· 3 4 5 6 7 8 9 다음