전체 글
-
행렬은 뭔가요?BoostCourse 2023. 1. 7. 19:22
From BoostCourse 임성빈 수학기호 쓰려고 LaTex까지 배워왔다. 1. 행렬은 벡터를 원소로 가지는 2차원 배열이다. 2. 벡터가 공간에서 한 점을 의미한다면 행렬은 여러 점들을 나타낸다. 3. 행렬은 벡터 공간에서 사용되는 연산자로 이해할 수 있다. >> $z = Ax$ (벡터 $x$ $\rightarrow$ 벡터 $z$) >> 행렬곱을 통해 벡터를 다른 공간으로 보낼 수 있다. >> 행렬곱을 통해 패턴을 추출하거나 데이터를 압축할 수 있다. 4. 행렬식이 0이 아니고 $n=m$인 경우 역행렬이 존재한다. >> $AA^{-1} = A^{-1}A = I$ np.linalg.inv(x) 5. 역행렬을 계산할 수 없다면 유사역행렬(pseudo-inverse) 또는 무어-펜로즈(Moore-Penr..
-
벡터가 뭐에요?BoostCourse 2023. 1. 5. 02:41
From BoostCourse 임성빈 교수님 나긋나긋한 목소리로 설명해주신다. 하지만 수업량에 비해 동영상 길이가 짧아 이 강의만으로는 벡터에 대해 이해하기 어려울 수도 있다고 생각된다. 다른 강의를 통해 보충할 필요가 있어 보인다. 어쨌든 시작해보자. 기본적인 내용은 이전에 Math Mart 황한순 선생님 동영상을 공부하며 적은 필기내용을 첨부하겠다. (동영상 링크) 해당 동영상은 편입 시험을 위한 선형대수 강의이다 ㅎㅎ 벡터의 노름 구하기 L1 노름: 각 성분의 절대값의 합 사용처: Robust 학습, Lasso 회귀 def l1_norm(x): x_norm = np.abs(x) x_norm = np.sum(x_norm) return x_norm L2 노름: 유클리드 거리 사용처: Laplace 근사..
-
NumpyBoostCourse 2023. 1. 5. 01:06
오늘은 BoostCourse에서 Numpy에 대해 배웠다. From TEAMLAB director 최성철 Corsera에서 Andrew Ng의 ML을 수강할 때 배운 내용이기에 비교적 쉽게 들을 수 있었다. 앞으로 수학적인 강의가 여럿 남았는데, 기초 확률 및 통계는 내 주전공인 심리학 수업 필수 과정이고, 미적분학은 Khanacademy.com에서, 선형대수는 Math Mart 황한순 선생님 동영상에서 배웠기에 어렵지 않게 들을 수 있을 것 같다. Numpy는 Numerical Python의 약자라고 한다. Numpy의 장점은 일반 List에 비해 빠르고 메모리 효율적이라는 것이다. 1. numpy.array(object, dtype=None, *, copy=True, order='K', subok=F..
-
Exception/File/Log HandlingBoostCourse 2023. 1. 2. 23:55
Exception Handling try: 예외 발생 가능 코드 except : 예외 발생 시 대응하는 코드 예시(try ~ except) for i in range(10): try: print(10/i) except ZeroDivisionError: print("Not divided by 0") except Exception as e: print(e) 예시 2 (try ~ except ~ else) for i in range(10): try: result = 10 // i except ZeroDivisionError: print("Not divided by 0") else: print(result) 예시 3 (try ~ except ~ finally) for i in range(10): try: pri..
-
Module and ProjectBoostCourse 2023. 1. 2. 14:35
같은 directory 폴더 안에 있는 .py 파일을 import로 불러서 그 안의 코드를 사용할 수 있다. 1. 별칭(Alias) 설정하기 ex. import fah_converter as fah 2. 모듈에서 특정 함수 또는 클래스만 호출하기 ex. from fah_converter import covert_c_to_f 3. 모듈에서 모든 함수 또는 클래스를 호출하기 ex. from fah_converter import * Built in Moudle random time urllib.request if __name__ == "__main__" In short: It allows you to execute code when the file runs as a script but not when it's..
-
Python Object Oriented ProgrammingBoostCourse 2022. 12. 31. 01:53
오늘은 BoostCourse에서 객체 지향 프로그래밍에 대해 배웠다. From TEAMLAB director 최성철 특정 기능을 가지는 프로그램을 만들기 위해서, 시작부터 끝까지 순서대로 모든 기능을 구현하는 것은 비효율적일 수 있다. 이때, 효율적으로 기능을 구현하기 위해서 OOP를 사용한다. 먼저 OOP는 설계도에 해당하는 클래스와, 구현체인 인스턴스로 나눌 수 있다. 설계도: 클래스(class), 붕어빵의 틀 구현체: 인스턴스(instance), 붕어빵 class SoccerPlayer(object): def __init__(self, name, position, back_number): self.name = name self.position = position self.back_number = b..
-
데이터 구조(Data Structure)BoostCourse 2022. 12. 29. 18:45
기본 데이터 구조로는 다음과 같은 구조가 있다. 1. 스택과 큐(stack & queue with list) 2. 튜플과 집합(tuple & set) 3. 사전(dictionary) 4. Collection 모듈 스택: Last In First Out (LIFO) push - list.append(sth) pop - list.pop() ex) Delivery System 큐: First In First Out (FIFO) enqueue - list.append(sth) dequeue - list.pop(0) 튜플: Unchageable ex) 학번, 이름, 우편번호 등 ** t = (1,) - 값이 하나일 경우 , 필요 집합: 중복 불허, 순서 없음 s.add() s.remove() - 지우려는 elem..