HeYStRanGeR
article thumbnail
[ML] 다변량 선형 회귀 분석 - 정규화 & 표준화

(2022.04.02) 기계학습 수업들으면서 정리하기 8탄 Lecture4_ML 내용정리-2 다변량 선형회귀 분석을 위해서는 데이터 확보가 매우 중요하다. 캐글(kaggle)이라는 사이트는 다양한 데이터를 가지고 있는데, 여기서 데이터를 가져와 실습을 진행해보았다. y는 기대수명으로 두고, x에 해당하는 데이터를 정리하려고한다. 기대수명과의 상관관계를 파악하여 상관관계가 높은 데이터만 가져오고, 낮은 데이터를 버리도록 한다. 왜냐면, 상관관계가 크지 않는 데이터까지 포함해버리면, 학습이 잘 되지 않거나, 예측의 신뢰도가 떨어질 수 있기 때문이다. 1. 우선, 다변량 데이터의 값이 있는지 없는지를 판별한다. --> isnull() 2. 데이터 값이 없다면, dropna(inplace=True) 를 통해서 ..

article thumbnail
[ML] Linear Regression (선형회귀) & Normal Equation (정규방정식)

(2022.03.30~04.01) 기계학습 들으면서 정리하기 7탄 Lecture4_ML 내용정리-1 예측선 긋기: 선형회귀 -----> 오차 수정하기: 경사하강법 (오차를 줄이는 방향으로 함수의 계수를 최적화함) 회귀 Regression : 회귀 분석은 대표적인 지도학습 알고리즘 선형회귀: 독립변수 x를 사용하여 종속변수 y의 움직임을 예측하고, 설명하는 작업. 예측선을 긋는 일 - 단순 선형회귀: 하나의 x값으로 y값 설명이 가능할 때 - 다중 선형회귀: x값이 여러 개 필요할 때 - 선형회귀의 모델은 선형 방정식, 동작을 결정하는 파라미터는 직선의 기울기(w)와 y절편(b) - 선형회귀의 오차함수(손실함수,비용함수)의 예로는 평균제곱오차가 있음 - 선형회귀에서의 학습은 손실함수인 MSE를 최소로 만드..

article thumbnail
[ML] Pandas 활용

(2022.03.26) 기계학습 수업들으면서 정리하기 6탄 Lecture3_ML 내용정리-2 Pandas numpy는 2차원 행렬 형태의 데이터를 지원함--> 데이터 속성을 표시하는 행과 열의 label을 가지고 있지 않음 --> python pandas 패키지로 문제 해결 - 2가지 데이터 구조 제공: 시리즈, 데이터프레임 - 시리즈: 동일 유형의 데이터를 저장하는 1차원 배열 - 데이터프레임: 시리즈 데이터가 여러 개 모여 2차원적 구조를 갖는 것 - 각 행과 열의 이름 부여 --> 행: index, 열: columns --> 시리즈를 모아 하나의 데이터프레임으로 만들 수 있음 --> pandas의 DataFrame 클래스 이용 --> python의 딕셔너리 구조: key-열의 이름 , value-데..

article thumbnail
[ML] Numpy 활용

(2022.03.26) 기계학습 수업들으면서 정리하기 5탄 Lecture3_ML 내용정리-1 ( *실습은 구글 코랩환경에서 python으로 이루어짐 ) ( 데이터처리패키지 - numpy, pandas ) ( 머신러닝 도구 - scikit learn, tensorflow ) Numpy : 머신러닝을 위한 데이터 처리의 핵심 도구 데이터 처리를 위해서는 리스트와 리스트 간의 다양한 연산이 필요 --> but, python 기본 리스트는 기능 부족, 연산 속도 느림 --> numpy 배열 선호 numpy의 배열은 1차원 - 벡터, 2차원 - 행렬 로 간주하여 연산 numpy의 핵심 객체는 다차원 배열 - 배열의 각 요소: 인덱스(index) -정수 - 차원: 축(axis) 리스트는 동일하지 않은 자료형 항목도..

article thumbnail
[ML] 과적합 & 과소적합

(2022.03.26) 기계학습 수업들으면서 정리하기 4탄 Lecture2_ML 내용 정리-3 과적합: overfitting - 특정한 데이터 집합에만 매우 정확하며, 다른 데이터에는 들어맞지 않는 상태 - 일반화가 제대로 되지 않음을 의미 - 주요 원인: 1) 학습에 사용된 데이터 수가 적음 2) 데이터를 설명하기 위한 곡선이 너무 복잡함(사소한 것까지 반영됨) 과적합 해결하기: 패널티 부여 과적합의 근본적인 문제는 모델에 지나친 자유를 부여한 것 --> 모델이 데이터에 지나치게 맞춰지지 않도록 억제해야함 --> 모델을 복잡하게 하지 않도록 복잡성에 대한 regularization 기법(패널티)을 이용함. --> 단순하게 --> 학습은 오차를 줄이는 것 뿐만 아니라 패널티 항도 같이 줄이는 일을 하게 ..

article thumbnail
[ML] Gradient Descent : 경사하강법

(2022.03.26) 기계학습 수업들으면서 정리하기 3탄 Lecture2_ML 내용 정리 -2 머신러닝은 문제를 해결하는 모델 모델의 동작을 결정하는 것은 파라미터 파라미터를 더 좋은 상태로 변경하는 것이 학습 모델은 현재의 파라미터를 바탕으로 행동을 하는데, 이는 실제 결과와 차이가 있음. --> 이를 오차라고 함. 오차가 없다 == 학습이 완벽하게 잘 되어있다 == 모델이 데이터를 잘 설명한다고 볼 수 있다 ---> 학습이란 오차가 줄어드는 방향으로 파라미터를 변경하는 일이라고 할 수 있음. 경사하강법: Gradient Descent - 현재 가중치 w위치에서 오차 곡면의 기울기를 알면, 기울기를 따라 내려가 곡면의 낮은 곳으로 갈 수 있음 - 최적해에 도달하면, 기울기 벡터가 0이 될 것이고, 이..

article thumbnail
[ML] 기계학습에 필요한 수학 기초 지식

(2022.03.25) 기계학습 수업 들으면서 정리하기 2탄 Lecture2_ML 내용 정리 -1 간단하게 알아둘 수학 기호, 표기법들 머신러닝은 데이터(특징값을 원소로 하는)를 입력으로 제공, 컴퓨터에게 분류/판단/행위를 하게 함. 다수의 원소를 가지는 데이터를 다뤄야 함 --> 벡터 데이터 머신러닝 모델에 데이터가 제공되면, 다양한 변화과정을 겪음 --> 벡터에 행렬을 곱하는 일 ---> 벡터와 행렬을 다룸 ----> 선형대수 벡터 핵심 정리 +) 두 행렬 A와 B를 곱할 때, A의 열의 개수==B의 행의 개수이어야함. 머신러닝에서 사용되는 여러 기법에서 가장 중요한 것은 미분이다. 미분: 순간 변화량을 구하는 것 --> 독립 변수값의 변화량에 대한 함수값 변화량 비의 극한 편미분: 둘 이상의 변수를..

article thumbnail
[ML] 기계학습 기초

(2022.03.25) 기계학습 들으면서 정리하기 1탄 Lecture1_ML 내용 정리 ML 기초 지식 기존의 문제 해결 방법: 인간이 기계에게 하나하나 지시하는 것 - 새로운 문제해결이 불가능 머신러닝: 문제를 해결하는 일반적인 방법을 가르쳐줌 - 새로운 문제 해결이 가능 - 단순 지시가 아님 데이터가 입력되고 패턴(규칙)이 분석되는 과정 --> 학습 파라미터를 변경하여 동작이 결정되는 프로그램 --> 모델 더 좋은 동작이 나오도록 파라미터를 변경하는 것 --> 학습 머신러닝은 1) 파라미터에 따라 동작하는 알고리즘을 선택하고, 2) 이 알고리즘에 데이터를 제공해서 알고리즘이 더 나은 동작을 하도록 파라미터를 수정하는 것 이라고 정리해볼 수 있음. Tom Mitchell 작업 T (task) : 컴퓨터..

728x90