2025/03 24

[미적분] 5 Vector Calculus ~ 5.1 Differentiation of Univariate Functions

공부하는 단계에서 정리한 내용입니다.잘못된 내용이 있다면 말씀해주시면 감사하겠습니다.https://mml-book.github.io/book/mml-book.pdf 5 Vector Calculus머신러닝은 결국 좋은 파라미터를 찾아서 모델 성능을 높이는 과정이고,이것은 vector calculus를 활용해서 함수 최적화 문제로 바꿔서 접근할 수 있다.아래는 vector calculus로 해결할 수 있는 함수 최적화 문제들의 예시이다.  이번 장에서는 함수를 중심으로 다룬다.함수 $f$는 입력$(x \in \mathbb R^D)$을 받아서 출력($f(x)$)을 하는 것이라고 할 수 있다.입력 공간을 domain, 출력 공간을 image/codomain이라고 부르고, 따로 명시되지 않으면 실수값으로 한정한다..

선형대수 2025.03.31

[프로그래머스] 올바른 괄호 (파이썬, 시간초과- 리스트 대신 디큐)

[문제] 문제 설명괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다.예를 들어- "()()" 또는 "(())()" 는 올바른 괄호입니다.- ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.제한사항- 문자열 s의 길이 : 100,000 이하의 자연수- 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. 입출력 예sanswer"()()"true"(())()"true")()("false"(()("false  [내 풀이]처음 풀..

코테 오답노트 2025.03.27

[선형대수] Exercise 4.7 ~ 4.12

공부하는 단계에서 정리한 내용입니다.잘못된 내용이 있다면 말씀해주시면 감사하겠습니다.https://mml-book.github.io/book/mml-book.pdf 4단원 연습문제를 풀었다갈수록 재밌어진다누가 날 묶어두고 수학만 풀라고 했으면 좋겠다 (그렇다고 잘하는 건 아님) 4.7Diagonalizability 판별한 뒤가능하면 diagonal form하고 basis 행렬을 구하고, 불가능하면 이유를 설명하는 문제였다.역시나 $4 \times 4$ 크기 행렬의 eigenvalue를 계산하는 것이 쉽지 않았다.  4.8SVD 구하는 문제였다.  4.9얘도 SVD 구하는 문제였다.  4.104.8에서 구한 $A$의 SVD를 바탕으로 rank-1 approximation을 구해보는 문제였다. 4.11$AA..

선형대수 2025.03.24

[선형대수] Ex 4.1 ~ 4.6

공부하는 단계에서 정리한 내용입니다.잘못된 내용이 있다면 말씀해주시면 감사하겠습니다.https://mml-book.github.io/book/mml-book.pdf 4단원 연습문제를 풀었다갈수록 재밌어진다누가 날 묶어놓고 수학만 풀라고 했으면 좋겠다 (그렇다고 잘하는 건 절대 아님) 4.1그냥 Laplace하고 Sarrus 적용해서 determinant 구하는 문제였다.   4.2Determinant를 효율적으로 계산해보는 문제였다.$5 \times 5 $크기의 행렬이므로 Laplace나 Sarrus를 쓰기는 쉽지 않을 것이다.가우스 소거법을 적용해서 대각원소들을 곱하는 방법을 사용했다.  4.3그냥 eigenspace 계산문제였다.  4.4얘도 eigenspace 계산문제였다.$4 \times 4$ 행..

선형대수 2025.03.22

[프로그래머스] 유연근무제 (파이썬, 테케 생각 잘한 게 뿌듯해서 기록함)

[문제]7일 중 평일에 직원이 스스로 설정한 시간 안에 잘 출근을 했는지 확인하는 문제였다.  [내 코드]내 코드는 아래와 같다.1. 토, 일 기록을 아예 제외해주고 (예외: startday가 7인 경우)2. 커트라인 시간을 설정해주고 (예외: schedules의 분단위가 50~59인 경우)3. 각 직원별로 만족여부를 판별해줬다.def solution(schedules, timelogs, startday): answer = 0 for i in range(len(schedules)): # 토,일 기록 제외 if startday == 7: timelogs[i].pop(6) timelogs[i].pop(0) else: ..

코테 오답노트 2025.03.21

[선형대수] 4.7 Matrix Phylogeny ~ 4.8 Further Reading

공부하는 단계에서 정리한 내용입니다.잘못된 내용이 있다면 말씀해주시면 감사하겠습니다.https://mml-book.github.io/book/mml-book.pdf 4.7 Matrix Phylogeny아래는 행렬의 phylogeny(생물의 진화 과정과 그 관계를 나타내는 방법)이다.맨 위의 Real matrices에서부터 보면 된다.(검은 화살표: 부분집합 관계/ 파란 글씨: 수행할 수 있는 연산)(+ Non-singular 행렬과 non-defective 행렬은 다르다!  e.g. 회전행렬 $R = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix}$    $\rightarrow$  invertible..

선형대수 2025.03.20

[선형대수] 4.6 Matrix Approximation

공부하는 단계에서 정리한 내용입니다.잘못된 내용이 있다면 말씀해주시면 감사하겠습니다.https://mml-book.github.io/book/mml-book.pdf 4.6 Matrix Approximation지금까지 행렬 $A$를 $A = U \Sigma V^{\top}$으로 분해시키는 방법에 대해서 알아봤다.이제 $A$ SVD로 전체 분해하는 방법 대신에, low-rank 행렬 $A_i$들의 합으로 나타내는 방법을 알아볼 것이다.SVD를 전체 분해할 때보다 계산 비용이 적게 든다!  $m \times n$ 행렬 $A$는 아래와 같이 rank-1 행렬들의 합으로 나타낼 수 있다.$$A = \sum_{i=1}^r \sigma_i u_i {v_i}^{\top}$$$u_i$와 ${v_i}^{\top}$는 각각..

선형대수 2025.03.19

[프로그래머스] 지폐 접기 (파이썬, 예시 테게에 없는 테케도 생각하기)

[문제]지폐를 몇 번 접어야 지갑에 들어가는지를 구하는 문제였다.  [내 코드]처음 내 코드이다.Bill의 최댓값을 2로 나눈 몫과 bill의 최솟값을 bill로 설정하고 answer(횟수)를 1 올려줬다.만약에 bill의 최댓값이 wallet의 최댓값보다 작거나 같고, bill의 최솟값이 wallet의 최촛값보다 작거나 같으면 for문을 멈추고 답을 냈다. 나름 머리를 쓴다고 range를 16으로 설정했다. Bill값이 2,000 이하니 아무리 많이 접어도 16번이기 때문이다.def solution(wallet, bill): answer = 0 for i in range(16): bill = [max(bill) // 2, min(bill)] answer += 1 ..

코테 오답노트 2025.03.18

[선형대수] 4.5.3 Eigenvalue Decomposition vs. Singular Value Decomposition

공부하는 단계에서 정리한 내용입니다.잘못된 내용이 있다면 말씀해주시면 감사하겠습니다.https://mml-book.github.io/book/mml-book.pdf 4.5.3 Eigenvalue Decomposition vs. Singular Value DecompositionEiegendecomposition $A = PDP^{-1}$과 SVD $A = U \Sigma V^{\top}$에 대해서 복습을 해보자. [Existance]• SVD는 항상 존재한다.  하지만 eigendecomposition은 정사각행렬에만 적용할 수 있고, $\mathbb R^n$의 eigenvector들의 basis를 찾을 수 있을 때만 존재한다. [Orthogonality]• Eigendecomposition 행렬 $P$..

선형대수 2025.03.17

[선형대수] 4.5.2 Construction of the SVD

공부하는 단계에서 정리한 내용입니다.잘못된 내용이 있다면 말씀해주시면 감사하겠습니다.https://mml-book.github.io/book/mml-book.pdf 4.5.2 Construction of the SVD이번 section에서는 왜 SVD가 항상 존재하는지, 그리고 SVD를 어떻게 계산하는지에 대해서 알아볼 것이다. SVD는 정사각행렬의 eigendecomposition과 비슷한 면이 있다. Remark.SPD(symmetric positive definite) 행렬 $S$의eigendecomposition은 $S = S^{\top} = PDP^{\top}$이고SVD는 $S = U \Sigma V^{\top}$ 이다.만약 $U = P = V$이고 $D = \Sigma$ 일 때 eigendec..

선형대수 2025.03.16