본문 바로가기

머신러닝55

Linear Regression - OLS(최소자승법) 최소자승법, OLS란 Ordinary Linear Lease Square의 약자로, 회귀로 문제를 푸는 방법을 해보겠습니다. 그 중에서 수학적으로 많이 사용하는 방법이 OLS입니다.이 방법에 대해서 알아보겠습니다. 이렇게 생긴 데이터를 하나의 직선으로 만든다고 해봅시다. 총 5개의 데이터를 직선으로 만든다면, y=ax+b 형태를 띌 것입니다. 우리는 x, y를 알고 있으므로 a, b를 찾아야합니다. 어떤 직선이 잘맞는지 모르기 때문에 각 데이터를 넣어야합니다.1=1a+b3=2a+b4=3a+b6=4a+b5=5a+b 이 문제를 벡터와 행렬로 표현한다면, 결과적으로 Y = AX라고 표현할 수 있습니다.y1 = x1*a+by2 = x2*a+b...와 같이 되므로위에서 얘기한 5가지 식과 동일하게 나타낼 수 있습.. 2024. 5. 2.
선형 회귀(Linear Regression) - 회귀 일반적인 문제 해결 절차는 다음과 같습니다. 1. 문제에 대해 공부합니다.2. 규칙을 만듭니다.3. 평가하고 에러를 고치고4. 다시 새로운 문제에 대해 공부하고5. 규칙을 만듭니다... 그러나 만약 데이터를 기반으로 한다면 문제해결 방식은 달라집니다. 1. 문제를 분석하고2. 머신러닝 혹은 딥러닝 알고리즘을 훈련시킵니다.3. 결과를 얻고 다시 에러를 고치고 반복합니다.4. 그 후 런칭을 합니다5. 데이터를 베이스로 하기 때문에 데이터를 이용한 '모델'에 대해서는 코딩을 하지 않는 경우가 많고 알고리즘 구현하고, 서비스로 런칭하는 릴리즈 코딩만 있습니다.  모델 스스로 데이터를 기반으로 변화에 대응할 수 있습니다.런칭 후 업데이트 되는 것도 자동화를 할 수 있기 때문입니다. 업데이트한 과정에서 데이터가 더.. 2024. 4. 28.
Python Box plot +모양이 평균지점이고 Box plot의 맨 위와 맨 아래가 upper fence, lower fence입니다.데이터의 절반이 들어가는 IQR(Interquartile Range)의 각각 1.5배를 벗어나는 지점에 만약 데이터가 있으면 이 데이터를 outlier라고 말합니다. samples = [1, 7, 9, 16, 36, 39, 45, 45, 46, 48, 51, 100, 101]samplestmp_y = [1]*len(samples)tmp_y 당연히 두 개의 길이는 똑같습니다.len(samples), len(tmp_y)이제 이걸 가지고 plot을 그릴겁니다. import matplotlib.pyplot as pltplt.figure(figsize=(12,4))plt.scatter(samples, tm.. 2024. 4. 27.
Python으로 다양한 함수 나타내기 (+다항함수, 지수함수, 시그모이드, 벡터 3Dscatter) 1. 함수 나타내기다항함수 방정식을 코드를 통해 그려보는 방법을 알아보겠습니다.그림 그리는 데이터는 numpy로, matplotlib로 그려보겠습니다.import numpy as npimport matplotlib.pyplot as plt x의 변화에 대한 y의 변화를 그리는 것인데, 다항식만 쓰기엔 x값이 없습니다. 이럴 땐 x값부터 정해주어야 합니다. x는 -3부터 2까지 100개의 데이터를 만든다고 생각하면 됩니다. 따라서 numpy의 linspace를 이용합니다. x = np.linspace(-3, 2, 100)y = 3 * x**2 + 2 x를 출력해보겠습니다.  함수 식에 따라 y도 정의되었으니 y도 출력해보겠습니다.  이걸 토대로 그래프를 그릴 수 있습니다.그래프는 pyplot의 plot함수.. 2024. 4. 25.
728x90