분류 전체보기 186

[핀테커스] 231005 matplot 실습

케글의 아이리스 데이터로 시각화 실습 시각화 별거 아니라고 생각했는데 현실은 내가 별거였다. 그리고 ChatGPT의 최적화 코드를 보고 한번 더 현타. 열심히 하자. import matplotlib.pyplot as plt from sklearn.datasets import load_iris import numpy as np figsize = (10, 10) iris = load_iris() iris_X, iris_y = iris.data, iris.target feature_names = iris.feature_names n_feature = len(feature_names) fig, axes = plt.subplots(4, 4, figsize=figsize) for i, ax in enumerate(..

새싹/TIL 2023.10.05

[선형대수학] Least squares - Normal Equation 정규방정식

출처 : www.boostcourse.org/ai251 역행렬이 존재한다면 아래와 같이 정리 할 수 있다. 행렬의 미분 개념이 있지만 (fg)' = f'g + fg' 를 통해 천천히 진행하자. 역행렬이 존재하지 않을 경우 해가 무수히 많거나 없다. 명확한 증명은 어렵지만 기하학적(직관적)으로 이해할 수 있다. 어느 한 점에서 어느 평면에 수선의 발을 내릴 수 없는 경우가 있을까? 가장 가까운 점은 있을 것이다. 이렇게 직관적으로 항상 해가 존재한다. 역행렬의 존재 유무 매트릭스가 선형독립이면 역행렬이 존재한다. 매트릭스가 선형의존이면 역행렬이 없다. 그런데 현실적으로 변수보다 데이터가 많고, 데이터가 많으면 많을 수록 선형의존 확률이 낮아진다. 그래서 대부분의 경우 역행렬이 없는 경우가 없다....

개발/수학 2023.10.04

[선형대수학] Least squares 최소자승법

출처 : www.boostcourse.org/ai251 Over-determined Linear Systems (#equations ≫ #variables) 방정식(백터의 차원) > 변수(특징 feature) --> 그래야 구체적인 해를 구할 수 있다. 선형독립의 경우 방정식 개수 >= 변수 개수 일때 해를 구할 수 있다. 반대일 경우 해가 많아진다... Inner Product 내적 벡터의 원소끼리 곱하여 합. a) 𝐮∙𝐯=𝐯∙𝐮 교환법칙 b) (𝐮+𝐯)∙𝐰=𝐮∙𝐰+𝐯∙𝐰 분배법칙 c) (𝑐𝐮)∙𝐯=𝑐(𝐮∙𝐯)=𝐮∙(𝑐𝐯) 상수배 d) 𝐮∙𝐮 ≥ 𝟎, and 𝐮∙𝐮 = 𝟎 if and only if 𝐮 = 𝟎 Vector Norm 길이. 크기. 피타고라스 정리로 계산. 내적과의 관계도 있다. 𝐮 = [..

개발/수학 2023.10.04

[핀테커스] 230921 python 수학 실습

Exercise.1 - 77: Accuracy 구하기¶For loop, ifstatement를 이용하여 accuracy를 구하는 방법에 대해 연습해봅니다. In [ ]: predictions = [0, 1, 0, 2, 1, 2, 0] labels = [1, 1, 0, 0, 1, 2, 1] n_correct = 0 for pred_idx in range(len(predictions)): if predictions[pred_idx] == labels[pred_idx]: n_correct += 1 accuracy = n_correct / len(predictions) print(f'accuracy[%] = {accuracy*100:.2f}%') accuracy[%] = 57.14% Exercise.1 - 78..

새싹/TIL 2023.09.21

[핀테커스] 230920 python 수학 실습

Exercise.1 - 50: Standardization(3)¶Data index를 이용하여 standardization을 하는 방법에 대해 복습합니다. 정규분포 -> 표준정규분포 변경하는 작업 In [ ]: scores = [10, 20, 30] n_student = len(scores) score_sum, score_square_sum = 0, 0 # 표준편차 for idx in range(n_student): score_sum += scores[idx] score_square_sum += scores[idx] ** 2 mean = score_sum / n_student square_of_mean = mean**2 mean_of_square = score_square_sum / n_student v..

새싹/TIL 2023.09.20

[핀테커스] 230919 python 수학 실습

Exercise.1 - 9: 추가점수를 받은 학생들의 평균 복합 대입 연산자를 이용해 학생들의 점수를 수정하고, 평균을 다시 구해봅니다.¶ 이를 통해 모든 data가 같은 값으로 변했을 때 평균이 어떻게 바뀌는지 확인해봅니다. In [ ]: score1 = 10 score2 = 20 score3 = 30 n_student = 3 mean = (score1 + score2 + score3)/n_student print(mean) 20.0 In [ ]: score1 += 10 score2 += 10 score3 += 10 print(score1, score2, score3) 20 30 40 In [ ]: mean = (score1 + score2 + score3)/n_student print(mean) 30..

새싹/TIL 2023.09.19