머신러닝 8

07. 과적합(Overfitting)과 정규화(Regularization)

07. 과적합(Overfitting)과 정규화(Regularization) ❕ 오버피팅을 조심하자 ❕ (feature 수가 너무 많아서와 같은 이유로) 모델이 복잡해 variance가 커진 것을 오버피팅 overfitting 이라고 부른다. 우리가 모델링을 할 때 가장 두려워하는 것이 바로 오버피팅일 것이다. train set에만 정확하고 최종적인 목표인 test set에서는 성능이 낮게 나오면 말짱도루묵이기 때문이다. 물론 train set에서 성능이 잘나오면 엄청나게 나쁜 모델이 탄생하진 않겠지만 그래도 우리의 목표는 test set에도 만족하는 일반화를 이루어내야한다는 점 !! 여기서 짚고 넘어가야 할 점은, 우리의 손실함수인 mse를 최소화하려고 할 때 bias와 variance 사이에 trade..

05. Loss function(손실함수) - 회귀&분류

05. Loss function(손실함수) - 회귀&분류 이때까지 입이 닳도록 말해온 것이 바로, 예측값과 실제값 사이의 차이, 즉 LOSS를 최소화하는 방향으로 학습은 진행되어야한다. loss function과 cost function, 그리고 이들을 아우르는 objective function은 이전 글에서 다룬 적도 있다. [물음표/느낌표] 01. cost function과 loss function 차이 [물음표/느낌표] 01. cost function과 loss function 차이 우리는 앞서 머신러닝에선 손실, 즉 loss function을 최소화하는 방향으로 학습해야한다는 것을 알았다. 이때 많이들 혼란스러워하는 용어가 바 uumini.tistory.com 정리하자면, 통계적 머신러닝의 목적은..

04-1. Regression(회귀) - 선형회귀

❔ 회귀분석에서 '회귀'라는 말이 왜 들어가는 걸까 ❔ 먼저 회귀분석이 뭔지부터 짚고 넘어가자. 회귀분석의 예제와 기법에 익숙한 사람이라면 한 번도 의문을 가지지 않았을지도 모른다. 단순히 각자가 이해한 회귀분석의 의미를 이름과 연결시켰을 테니까 말이다. 하지만 이 '회귀'라는 단어가 들어가게끔 회귀분석을 설명해보자. 단어 그대로 리터럴리하게 ! 회귀라는 말은 돌아올 회, 돌아갈 귀 를 사용해 어딘가로 '되돌아간다'는 뜻이다. 회귀분석의 기원은 영국의 우생학자인 프랜시스 갤턴(Francis Galton)이 내세운 평균으로의 회귀(Regression toward the mean) 에서 왔다. 갤턴은 아버지의 키와 아들의 키 사이의 관계를 조사한 결과, 키가 큰 아버지를 둔 아들은 아버지보단 키가 작고, 키..

[?!] cost function과 loss function 차이

[물음표/느낌표] 01. cost function과 loss function 차이 우리는 앞서 머신러닝에선 손실, 즉 loss function을 최소화하는 방향으로 학습해야한다는 것을 알았다. 이때 많이들 혼란스러워하는 용어가 바로 cost function과 loss function인 듯하다. 거기에 더해 objective function도 낄 수 있겠다. 다 똑같은 말들이라고 해도, 디테일의 차이를 잊지 말자굽쇼잉. 사소한 용어라도 확실하게 짚고 넘어가보자. 일단 손실 함수(Loss Function)와 비용 함수(Cost Function)은 혼용해서 사용 가능하다. 다만 사소한 차이가 있다함은, 손실 함수(Loss Function) : 개별적인 차이를 정의 비용 함수(Cost Function) : 손실..

03 + 머신러닝의 목표

03 + 머신러닝의 목표 머신러닝에서의 가장 중요한 목표는 "generalization 일반화" 이다. generalization, 즉 일반화는 이전에 '관측되지 않은' 데이터에 대해 높은 성능으로 적용할 수 있는 능력을 말한다. 그리고 이를 다른 말로 풀어써보자면, 만약 성능측정의 지표로 error rate을 사용한다고 했을 때, E_gen(=train에 사용하지 않은 이외의 모든 data들) = 0 이 됐을 때를 목표로 한다는 것이다. 하지만, 우리는 E_gen(=generaization error)를 갖고 있는 데이터로 측정할 수 없기 때문에(전체 데이터는 모르는 상태이기 때문) better proxy로서 E_test(=test error)를 사용한다. 따라서 목표는 E_gen=0 에서 다시 E_t..

03. '통계적' 머신러닝(statistical machine learning)

03. 머신러닝 vs 전통적인 통계학 vs '통계적' 머신러닝 사실 머신러닝에 대해 배울 때 꼭 짚고 넘어가야 할 부분이 바로 머신러닝 vs 전통적인 통계학 vs '통계적'머신러닝이다. 통계를 왜 배우는가, 통계가 머신러닝과 어떤 연관이 있는가. 먼저 머신러닝 방법과 전통적인 통계학은 그들의 목적에서 차이가 있다. 머신러닝 방법은 특정한 분포나 가설을 통해 실패할 확률(손실함수, 혹은 손실함수를 제곱합/평균낸 비용함수)을 최소화하는데에 목적이 있다. 이들의 목표는 바로 일반화(generalization)이고 이를 위해 오버피팅을 방지하는 '정규화(regularization)'과정을 거치거나 언더피팅을 방지하는 '최적화(optimization)'방법을 고민하게 된다. 따라서 모델이 갖는 신뢰도나 정교한 가..

02. 머신러닝 vs 딥러닝

머신러닝을 배워보기 전에, 머신러닝과 꼭 같이 불려다니는 분야인 '딥러닝'과 비교해보는 시간을 가져보겠다. 머신러닝과 딥러닝의 차이는 무엇일까? 먼저 둘의 공통점을 살펴보자. 둘은 모두 AI(인공지능)의 하위분야로서 아래와 같은 집합그림으로 표현가능하다. AI는 인간다운 사고를 하는 컴퓨터를 통해 구현하는 기술인데, 우리는 AI를 또 다른 말로 computational rationality로 표현하기도 한다. rationality란 기대되는 효용성(expected utility)를 최대화하는 것이다. 효용성은 주식 투자 = 저위험 고수익 , 자율주행자동차 = 고안전, 고정확도 등이 될 것이다. * Computational rationality is the study of computational prin..

01. 데이터 사이언틱(Data-scientic)한 사고

01. 데이터 사이언틱(Data-scientic)한 사고 일을 시작하기 전, 그 일에 적합한 👩페르소나👩를 만드는 것. 그것이 난 첫째라고 생각한다. 어떤 사람으로 비추어질 것이냐, 어떤 사람으로 비추어지길 바라는가. 내가 설정하기에 달려있다. 대학에 들어오고 나서 데이터사이언티스트의 길을 가보고 싶다는 생각까지 그리 오래 걸리지 않았다. 수학을 좋아하고, 다각도의 해석을 시도하는 것을 좋아하고, 항상 아이디어가 넘쳐나는 나에 딱 어울리는 진로라고 생각했다. 그렇다면 데이터 사이언티스트로서의 나는 어떤 면모를 가진 사람이어야할까 ? 데이터 사이언틱한 사고를 가진 사람은 어떤 사람인가? 데이터 사이언틱한 사고 데이터 사이언틱한 사고라고 들어보았을까 다들 .. 당연히 안들어봤을 것이다. 내가 지어낸 말이니까..