1. 내가 이해한 바로는 쉽게 선형회귀모형을 적용하여 분석하겠다 했을 때
데이터를 training set, validation set, test set으로 분할해서 코딩한다 > 머신러닝
안하고 그냥 내가 불러온 데이터를 전처리만 하고 그걸 기반으로 분석한다(예를들어 R에서 할경우 그냥 lm( ~., ~)으로 바로 하는 것)
정도로 구분할 수 있을 것 같은데 이게 맞나?
2. 그리고 이렇게 되면 통계나 데싸 쪽에서 이제 막 배우기 시작하는 내 입장에서는 회귀분석을 하더라도 머신러닝이 뭔가 좀더 복잡해보이니까 무조건 모형의 정확도 자체도 더 높을 것으로 보이는데 이 부분에 대해서는 내가 모르는게 있는거임 아니면 진짜 그럼?
3. 머신러닝의 모형은 '성능'으로써 나타내어지고, 그건 혼동행렬에 기반한 정확도, 민감도, 위양성률, F1점수 등등 이런거하고 AUC라는 지표에 의해 평가된다는 것 정도는 알겠음...근데 그냥 회귀모형의 정확도 라고 하면 R2잖아. 그러면 머신러닝을 통해 회귀모형을 만들게 되면 평가지표를 AUC로 해야하는거야 아니면 R2로 해야하는거야?
1. 데이터 분할하는건 아무 상관이 없지, 선형회귀도 애초에 따지자면 머신러닝이라 할 수도 있고 부트스트랩 같은것도 찾아보면 좋음 2. 당연하지만 보통 모형이 복잡해질수록 empirical하게 정확도는 올라감, 그만큼 분석하기가 복잡해지고... 예를들어 선형회귀의 경우는 단순 추정 이외에도 변수가 유의한지라던가 신뢰구간이라던가 OLS가 BLUE라던가 등등 수학적으로 분석할 수 있는게 많겠지만 데이터 자체가 비선형일 때 잘 추정이 안될거고 라소, SVM, 랜덤포레스트, 신경망 등등 모델이 복잡해질수록 실제 데이터에 피팅을 잘 될 거고(물론 잘 해야 잘 됨) 분석의 난이도는 올라감
3. Metric은 데이터에 따라, 그리고 뭘 원하는지에 따라 선택하기 나름임 그리고 AUC는 보통 분류문제에 대한거고 R2는 회귀문제에 대한거 이건 decision theory쪽 찾아보는것도 좋음
나는 머신러닝 필요조건 중 '스스로 학습하게끔 하는것' 이 포함되어 있어서 그렇게 생각한건데 그러면 회귀모형 코딩 과정에서 데이터를 학습과 검증 이런식으로 안나눠도 그냥 회귀모형을 만드는 것 자체로도 사람에 따라 머신러닝이라고 본다는건가? 그만큼 그 경계가 모호하기 때문에?
아니 그냥 학습하는거랑 데이터 나누는거랑 관계가 없지 예를들어서 그냥 신경망에서 activation function 빼버리면 선형회귀임
초보라 완전히 길을 잘못들었나보네 ㄳㄳ
실업률 = 최저임금^3*성별^2*(나이+학벌) 이거 해석이 어렵죠? 머신러닝은 이런 Higher order term 과같은 complexity 를 증가시켜서 예측성능을 좋게하기 위한 복잡한 회귀모형입니다. 회귀랑 머신러닝의 개념을 분리하실 필요가없답니다. 본인이 하고싶은게 뮌지(해석/예)에 따라서 어떤 모형을 선택할지를 고민하는게 좋습니다~!
추가로 NN에서 1개 레이어를 주고 actuvation function을 linear 하게주면 회귀분석과 비슷한결과를 줍니다. (통계에서는 beta 딥러닝에서는 weight 로 표현)
모형이 복잡해진다고 무조건 정확도가 높아지는건 아님 training set에서야 높아지겠지만 모델 자체가 좋아진다고는 못함. 문과틱하게 설명하자면 curse of dimensionality라고도 부르고 evaluation할때 test set 나누는 이유기도 하고 regularization term같은게 소개되는 이유기도 하고.. 그리고 validation set은 보통 hyper parameter selection을 위한거고 test set은 model evaluation관련된거라 이게 머신러닝이다! 라고 하기보다는 걍 별개의 개념으로 이해하는게 좀더 정확함