본문 바로가기

전체 글150

article_rep_thumbnail 머신러닝 오버피팅 (Overfitting) 이해하기, 원인과 방지 방법, 언더피팅(underfitting)과 차이점 등 이 포스팅에서는 머신러닝에 있어서 중요한 오버피팅(Overfitting) 문제에 대해 무엇인지 이해하고, 오버피팅이 일어나는 원인과 감지할 수 있는 방법 그리고 예방할 수 있는 여러가지 방법, 오버피팅과 언더피팅의 차이점에 대해 알아본다. 오버피팅 (Overfitting) 이란? 오버피팅 (Overfitting)은 머신러닝에서 모델이 데이터를 너무 많이 학습하게 되면 일어나는 흔한 문제이다. 모델이 오버피팅하게되면 새로 들어오는 데이터에 대해 일반화된 예측을 할 수 없게 된다. Training data에 대해서만 잘 예측하도록 너무 많이 학습이 된 상태이기 때문이다. 학습데이터에 대해 너무 많이 학습을 하게되면 그 데이터 속의 중요한 패턴 뿐만 아니라, 중요하지 않은 노이즈나 임의의 패턴들까지도 모두 학.. 2023. 2. 11.
article_rep_thumbnail 머신러닝 Cross-Validation 이란? 머신러닝 모델을 데이터 학습시키고 나서 모델이 얼마나 잘 예측하는지 평가를 해봐야 한다. 가장 기본적으로 쓰이는 방법은 데이터를 train 세트와 test 세트로 분리하는 방법이지만 오늘은 여러가지 장점이 있는 Cross-Validation 방법에 대해 알아보고자 한다. 머신러닝 모델 평가 방법 머신러닝 모델을 만들고 이 모델이 얼마나 잘 예측하는지 알아보는 방법은 테스트 데이터를 주고 예측된 값과 실제 정답이 얼마나 맞는지 비교하면 된다. 그러면 테스트 데이터를 어떻게 준비해야할까? 데이터 전체에 대해 학습을 시키고 데이터 전체에 대해 테스트를 해볼 수 있을 것이다. 하지만 이방법은 이미 해당 데이터에 대해 학습이 된 상태이므로 모델의 퍼포먼스가 높게 나올 수 밖에 없다. 그러면 다른 방법으로는 데이터.. 2023. 2. 10.
article_rep_thumbnail 코딩 실력 향상을 위해 LeetCode 리트코드 하세요. 프로그래밍 실력을 향상시키기 위한 가장 좋은 온라인 플랫폼 LeetCode(리트코드)에 대해 소개하고자 한다. LeetCode란 어떤 곳인지, 왜 유명한지, 어떤 걸 얻어갈 수 있는지, 리트코드의 기능과 장점 그리고 어떻게 활용하면 좋은지에 대해 알아보자. LeetCode(리트코드)란? LeetCode는 소프트웨어 엔지니어와 프로그래머들이 코딩 실력을 기를 수 있도록 여러가지 코딩 문제들을 풀 수 있도록 해놓은 온라인 플랫폼이다. 1,500개가 넘는 코딩 문제들이 있고, 해외에서는 이 리트코드 문제들을 취업 코딩 테스트에 활용하고 있기 때문에 프로그래머들이 취업준비할 때 필수적으로 준비하는 곳이다. 대부분의 프로그래밍 언어를 모두 지원한다. C, Java, C++, Python 등 사용하는 프로그래밍 언.. 2023. 2. 8.
article_rep_thumbnail [파이썬] 아직도 for loop만 쓰시나요? list comprehension 으로 간편하게 코딩하기 파이썬에서는 List Comprehension(리스트 컴프리헨션)이라는 강력한 도구를 사용할 수 있다. 주로 for loop이나 while 문을 돌려야 하는 상황에 대신하여 쓸 수 있다. 몇 가지 예제를 보면서 어떻게 활용할 수 있는지 살펴보자. list comprehension이 간편한 이유 (코드 예제) 만약 numbers라는 리스트 안에 [1,2,3,4,5] 라는 숫자가 담겨 있고, 새로운 리스트에 이 numbers안에 있는 숫자들을 각각 두 배씩 해서 새로 담는다고 가정하자. 가장 먼저 떠오르는 방법은 for 문을 돌려서 하나하나 두 배씩 해서 새로운 리스트에 넣어주는 방법이다. numbers = [1, 2, 3, 4, 5] squared_numbers = [] for num in numbers:.. 2023. 2. 8.