일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 익명클래스
- ansible
- decorator 패턴
- cloud native
- Kotlin
- Microservice
- 동기화
- MySQL
- Spring
- Algorithm
- 헬름
- 마이크로서비스
- 머신러닝
- CRD
- 코틀린
- devops
- MSA
- 클라우드 네이티브 자바
- cloud native java
- nGrinder
- spring microservice
- kubernetes
- Semaphore
- 쿠버네티스
- java
- 클라우드 네이티브
- ingress
- 자바
- Stress test
- Adapter 패턴
- Today
- Total
목록Machine Learning (6)
카샤의 만개시기
서론 IT 전반에 있어 머신러닝을 이용한 효율화에 대한 고찰들이 이루어지고 있으며 강화학습을 이용한 정렬 알고리즘 뿐만 아니라 Cache를 효율적으로 사용함에 있어서도 이러한 고민들이 이루어지고 있다. 캐시는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간없이 더 빠른 속도로 데이터에 접근할 수 있다. 기존에 우리는 캐시를 효율적으로 사용하기 위하여 Cache Eviction 알고리즘을 도메인에 맞게 선택하여 사용해왔다. Cache Eviction Algorithms First-In-Fi..
오차 행렬(Confusion Matrix) 진짜 양성 (TN : True Positive) 진짜 음성 (TN : True Negative) 거짓 양성 (FP : False Positive) 거짓 음성 (FN : False Negative) 상세 예제 : 구글 머신러닝 단기 집중과정 오차 행렬은 사이킷런에서 제공하는 confusion_matrix함수를 이용하여 편리하게 사용할수 있습니다. from sklearn.metrics import confusion_matrix pipe_svc.fit(X_train, y_train) y_pred = pipe_svc.predict(X_test) confmat = confusion_matrix(y_true=y_test, y_pred=y_pred) print(confmat..
하이퍼파라미터를 최적화하면 모델 성능을 향상시키는데 큰 도움이 됩니다. 그리드 서치는 리스트로 지정된 여러 하이퍼파라미터 값을 받아 모든 조합에 대해 모델 성능을 평가하여 최적의 하이퍼파라미터 조합을 찾습니다. from sklearn.model_selection import GridSearchCV from sklearn.svm import SVC pipe_svc = make_pipeline(StandardScaler(), SVC(random_state=1)) param_range = [0.0001, 0.001, 0.01, 0.1, 1.0, 10.0, 100.0, 1000.0] param_grid = [{'svc__C': param_range, 'svc__kernel': [&#..
모델이 너무 간단하면 과소적합(높은 편향)이 문제가 되기도하고, 모델이 너무 복잡하면 훈련 데이터에 과대적합(높은 분산)이 일어나 문제가 되곤 합니다. 이런 현상을 피해 적절한 편향-분산 trade-off를 찾기 위해서는 모델을 잘 평가해야 하는데, 대표적인 교차 검증 기법인 홀드아웃 교차 검증(holdout cross-validation)과 k-겹 교차 검증(k-fold cross-validation)을 이용하여 신뢰 할만한 추정을 찾습니다. 이는 모델의 일반화 성능, 즉 처음 본 데이터에 모델이 얼마나 잘 동작하는지 추정하도록 도와줍니다. 홀드아웃 교차 검증(holdout cross-validation) 데이터셋을 모델 훈련에 사용할 훈련 세트와 일반화 성능을 추정하는데 사용할 테스트 세트로 나눕니다..
사이킷런의 Pipeline 클래스는 연속된 변환을 순차적으로 처리할 수 있는 기능을 제공하는 유용한 래퍼(Wrapper) 도구입니다. pipe_lr = make_pipeline(StandardScaler(), PCA(n_components=2), LogisticRegression(solver='liblinear', random_state=1)) pipe_lr.fit(X_train, y_train) y_pred = pipe_lr.predict(X_test) print('테스트 정확도: %.3f' % pipe_lr.score(X_test, y_test))make_pipeline 함수는 사이킷런 변환기(입력에 대해 fit 메서드와 transform 메서드를 지원하는 객체)와 그 뒤..
가중치를 0으로 초기화하지 않는 이유는 가중치가 0이 아니어야 분류 결과에 영향을 주기 때문입니다. 가중치가 0으로 초기화 되어 있다면 학습률(learning rate: r)은 가중치 벡터의 방향이 아니라 크기에만 영향을 미칩니다. 가중치 w가 업데이트 되는 공식은 다음과 같이 정의할 수 있습니다. $$ \Delta w_i = r(y - y')x $$ 퍼셉트론 학습 규칙에서 초기 가중치를 0으로 놓으면 $$ w_1 = w_0 + \Delta w_1 $$ $$ = w_0 + r(y_1 - y_1')x_1 $$ $$ = w_0 + r(y_1 - \Phi(w_0x_1))x_1 $$ $$ = r(y_1 - \Phi(0))x_1 $$ $$ = r(y_1 - 1)x_1 $$ 위와 같이 정리가 됩니다. 그러면 학습률..