| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 | 30 |
- Azure
- tensorflow
- Battery Deep Learning
- 머신러닝
- Battery AI
- state of health
- 코이딥
- 배터리 진단
- 코드로 이해하는 딥러닝
- Incremental Capacity Analysis
- Battery Management System
- 딥러닝
- Battery SOH
- 머신러닝 코드
- 리튬배터리
- AzureML
- 배터리 딥러닝
- 배터리 연구
- 배터리 EIS
- 배터리 AI
- Deep learning
- 칼만필터
- 배터리 모델링
- Machine Learning
- 딥러닝 코드
- eis
- 텐서플로우
- bms
- 배터리 열화
- Battery modeling
- Today
- Total
Engineering insight
[Microsoft AzureML - 15] Cross Validation 본문
[Microsoft AzureML - 15] Cross Validation
Free-Nomad 2021. 7. 1. 15:07※ 이전글
[Microsoft AzureML - 0] Intro https://limitsinx.tistory.com/113
[Microsoft AzureML - 1] 개발 환경 세팅 https://limitsinx.tistory.com/114
[Microsoft AzureML - 2] 학습할 데이터 불러오기 https://limitsinx.tistory.com/115
[Microsoft AzureML - 3] 데이터 전처리(Data pre-processing) - I https://limitsinx.tistory.com/116
[Microsoft AzureML - 4] 데이터 전처리(Data pre-processing) - II https://limitsinx.tistory.com/117
[Microsoft AzureML - 5] 학습모델 구현 및 검증 https://limitsinx.tistory.com/118
[Microsoft AzureML - 6] 여러 학습모델 동시에 성능비교 https://limitsinx.tistory.com/119
[Microsoft AzureML - 7] Binary Classification with Kaggle https://limitsinx.tistory.com/120
[Microsoft AzureML - 8] 모델 선정과 Hyper Parameter 자동튜닝 https://limitsinx.tistory.com/121
[Microsoft AzureML - 9] 학습데이터 CSV로 Export하기 https://limitsinx.tistory.com/122
[Microsoft AzureML - 10] 데이터 Feature Engineering https://limitsinx.tistory.com/123
[Microsoft AzureML - 11] 이미지 데이터학습 with Neural Network https://limitsinx.tistory.com/124
[Microsoft AzureML - 12] Train/Test 데이터 구분하기 https://limitsinx.tistory.com/125
[Microsoft AzureML - 13] Kaggle 사용법 https://limitsinx.tistory.com/126
[Microsoft AzureML - 14] Titanic Dataset 학습하기 https://limitsinx.tistory.com/127
Cross Validation

AzureML에서 Cross Validation을 할수있는 방법에 대해 포스팅해보고자 합니다.
일단, Cross Validation이란 되게 간단한 개념인데요
예를들어, [1 2 3 4 5 6] 이라는 6개의 데이터를 가지고 있다고 했을때,
[1 2 3]으로도 학습시켜보고, [3 4 5]로도 학습시켜보고, [1 4 6]으로도 학습시켜보고... 이런식으로
데이터의 전체 총량은 변하지 않지만, 선택하는 데이터의 갯수와 종류들을 바꿔가면서 여러가지로 테스트해보는것을 의미합니다.
그럼 Cross Validation을 왜 해줄까요??
바로 "Overfitting/Underfitting"을 확인하기 위함입니다.
예를들어, [1 2 3]데이터로 학습해서 검증했을때는 정확도가 아주 괜찮게 나왔지만, [4 5 6]으로 해보니 정말 안좋은 성능의 시스템이 나올수있죠??
이런경우를 방지하기 위해, 특정 데이터셋에만 과도하게 적합하도록 학습되지 않았는지..를 평가하기위해 Cross Validation을 진행해줍니다.

AzureML Studio에서 Cross Validation은 [Split Data]블록의 Random Seed 변경을 통해 진행할 수 있습니다.
이제까지는 Random Seed를 한번도 바꾸지 않고 진행했는데요
Random Seed는 정수값으로만 넣을수있으며
Random하는 알고리즘이 각 정수별로 정해져있습니다!
즉, [1 2 3 4 5 6]을
Random seed = 0 : [1 2 3 4 5 6]
= 1 : [2 5 6 1 3 4]
= 2 : [3 1 4 5 6 2]
....
이런식으로, 정해져있기에 예를들어서 AzureML Block Diagram을 동일하게 짜고, Random seed를 1로 동일하게 넣으면 제가짜나, 옆의 친구가짜나 똑같은 알고리즘으로 Random하게 섞어주기에 결과값이 똑같이 나오게됩니다 :)
이렇게 여러가지 Random Seed로 검증해보았을때 Accuracy가 큰폭으로 변화하지 않는다면 Fitting에 의한 문제점은 없는것이라고 보셔도 됩니다.
'DeepLearning Framework & Coding > Microsoft AzureML' 카테고리의 다른 글
| [Microsoft AzureML - 17] 영화 추천시스템 만들기 - I (0) | 2021.07.03 |
|---|---|
| [Microsoft AzureML - 16] 불균일 데이터 전처리(Sampling,SMOTE) (0) | 2021.07.02 |
| [Microsoft AzureML - 14] Titanic Dataset 학습하기 (0) | 2021.06.30 |
| [Microsoft AzureML - 13] Kaggle 사용법 (0) | 2021.06.29 |
| [Microsoft AzureML - 12] Train/Test 데이터 구분하기 (0) | 2021.06.28 |