본문 바로가기

반응형

전체 글

(235)
Ch4. 모델 훈련(4.6) 4.6 로지스틱 회귀 ■ 로지스틱 회귀 - 샘플이 특정 클래스에 속할 확률을 추정하는 데 사용된다. - 추정 확률이 50%를 넘으면 1, 아니면 0으로 판단하는 이진 분류기 4.6.1 확률 추정 - 로지스틱 회귀 모델은 입력 특성의 가중치 합을 계산한 후, 바로 결과를 출력하는 것이 아니라 로지스틱을 출력한다. ■ 로지스틱, Logistic - 0과 1사이의 값을 출력하는 시그모이드 함수 - 로지스틱 모델의 결과 p를 기준 0.5와 비교하여 예측값 y를 구해낼 수 있다. 4.6.2 훈련과 비용 함수 ■ 로지스틱 회귀 모델 훈련 - 양성 샘플(y = 1)에 대해서는 높은 확률을, 음성 샘플(y = 0)에 대해서는 낮은 확률을 추정하는 파라미터 벡터 θ를 찾도록 한다. - 로지스틱 회귀의 비용함수 • 하나의..
Ch4. 모델 훈련(4.3~4.5) 4.3 다항 회귀 ■ 다항회귀, Polynomial Regression - 선형 모델을 통해서 비선형 데이터를 학습 - 각 특성의 거듭제곱을 새로운 특성으로 추가하고 확장된 특성을 포함한 데이터셋에 선형 모델을 훈련시킨다. - 이차방정식의 예제 • 방정식의 차수에 맞춰서 데이터 셋 변형 (polynomial features를 통해서 제곱 특성 추가) • linear regression으로 학습하여 예측 - intercept_, coef_ 확인 4.4 학습 곡선 - 고차 다항 회귀를 적용한다면 훨씬 더 훈련 데이터 셋에 잘 맞춰 훈련할 수 있지만 과대적합의 문제도 있다. - 과대적합, 과소적합 검증 • 교차 검증 점수 확인 • 학습곡선 확인 -> 훈련 세트에서 크기가 다른 서브세트를 만들어 모델을 여러번 ..
Ch4. 모델 훈련(4.1~4.2) 4.1 선형회귀 - 선형 모델은 입력 특성의 가중치 합과 편항을 더해 예측한다. - 모델의 학습 -> 모델이 훈련 세트에 가장 잘 맞도록 모델 파라미터를 설정하는 것 - 모델의 측정 -> 평균 제곱근 오차를 사용하여 측정 (RMSE) 4.1.1 정규방정식 ■ 정규방정식 - 비용함수를 최소화하는 값을 찾기위한 방법 - • y는 y(1)부터 y(m)까지 포함하는 타깃 벡터이다. 4.2 경사 하강법 ■ 경사하강법, Gradient Descent (GD) - 비용 함수를 최소화하기 위해 반복적으로 파라미터를 조정하는 방법 - 파라미터 백터 Θ에 대한 비용 함수의 현재 gradient를 계산해서 감소하는 방향으로 진행한다. • gradient가 0이 되는 곳이 최솟값이다. - 학습률, learning rate: ..
[Python] 정규 표현식 (Regular Expressions) ■ 정규표현식: 복잡한 문자열을 특수한 기호들을 사용하여 처리하는 기법 ■ 정규표현식 메타문자 ※ 메타문자란 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자를 말한다. - 정규표현식에서 사용하는 메타문자들: . ^ $ * + ? { } [ ] \ | ( ) - [] • 문자클래스 • [ ] 사이의 문자들과 매치 • ex) [abc]: "a, b, c 중 한 개의 문자와 매치" • '-' 하이픈 사용: 두 문자 사이의 범위를 표현 • [a-d] == [abcd], [0-5] == [012345] • [a-zA-Z]: 알파벳 전체 • [0-9]: 숫자 • ^ 사용: not의 의미를 가지고 있다. • ex) [^0-9]: 숫자가 아닌 문자 - . (dot) • '\n'을 제외한 모든 문자 한 개와..
Ch3. 분류 (3.5~3.7) 3.5 에러 분석 - 에러의 종류를 분석하여 모델의 성능을 향상시킨다. ■ 오차 행렬 분석 - 오차행렬의 각 값을 클래스 별 이미지 개수로 나누어 에러 비율 비교 - 각 클래스 간의 에러 비율 (a를 b로 분류하는 경우 등)을 이미지로 분석 - confusion_matrix() 함수를 호출 - plt.matxhow() 함수 사용하여 이미지로 표현 3.6 다중 레이블 분류 ■ 다중 레이블 분류, multilabel classfication - 분류기의 샘플마다 여러 개의 클래스를 출력해야하는 경우 - 여러개의 이진 레이블을 출력하는 분류 시스템 - sklearn.neighbors.NeightborsClassifier: knn classifier 3.7 다중 출력 분류 ■ 다중 출력 다중 클래스 분류. mu..
ch05. 파이썬 날개달기 (내장함수, 라이브러리) 5. 내장함수 - abs(x): x의 절대값을 반환한다. - all(x): iterable한 변수 x를 인수로 받아서, x의 모든 요소가 True인지 여부를 반환해준다. - any(x): iterable한 변수 x의 요소 중 하나라도 True가 있는 경우 True를 반환해준다. - chr(x): ASCII 값 x를 입력받아서 해당하는 문자를 출력한다. - ord(x): 입력받은 문자 x의 ASCII 코드를 반환해준다. - dir(x): 객체 x가 가지고 있는 변수나 함수를 보여준다. list나 dict 객체의 변수, 함수 등을 보여준다. - divmod(a, b): a를 b로 나눈 몫과 나머지를 튜플 형태로 반환한다. - enumerate(x): 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받..
Ch3. 분류 (3.1~3.4) 3.1 MNIST ■ MNIST - 숫자를 손으로 적은 이미지 데이터 셋 - 해당 이미지를 학습해서 각 이미지가 어떤 숫자를 적은 이미지인지 분류한다. 3.2 이진 분류기 훈련 ■ 이진 분류기, classifier - True or False 분류 ■ 확률적 경사 하강법, Stochastic Gradient Descent (SGD) - scikit-learn SGDClassifier - 매우 큰 데이터셋을 효율적으로 처라 - SGD가 한번에 하나씩 훈련 샘플을 독립적으로 처리 -> 온라인 학습에 잘 들어맞는다. 3.3 성능 측정 3.3.1 교차 검증을 사용한 정확도 측정 - 교차검증의 경우 불균형한 데이터 셋을 다루는 등의 경우에 분류기의 성능 측정 지표로 적합하지 않다. 3.3.2 오차 행렬 ■ 오차 ..
ch05. 파이썬 날개달기 (패키지, 예외처리) 3. 패키지 ■ 패키지 - 파이썬 패키지는 디렉토리와 파이썬 모듈로 이루어진 구조이다. - .(dot)을 이용해서 계층적으로 접근 관리가 가능하다. ■ __init__.py - 해당 디렉토리가 패키지의 일부임을 알려주는 역할을 한다. ※ python3.3 버전부터는 __init__.py 파일이 없어도 패키지로 인식한다(PEP 420). 하지만 하위 버전 호환을 위해 __init__.py 파일을 생성하는 것이 안전한 방법이다. - __all__ 변수 • 패키지 import 시에 *를 사용해 import 할 모듈들을 정의하는 변수 • __all__ 변수에 정의되어 있지 않은 모듈은 *를 통해서 해당 패키지를 import 해도 사용할 수 없다. ※ from a.b.c import * 에서 패키지의 마지막인 c..

반응형