본문 바로가기

23년 2학기 학교공부/기계학습

(8)
[ML] Dimensionality Reduction 2023학년도 2학기 충남대학교 양희철 교수님의 기계학습 수업 정리자료입니다. 🌱 Curse of dimensionality 차원이 높으면 높을수록, 즉 feature가 많을수록 데이터가 더 많이 필요하다. 즉 단순히 차원이 높을수록 좋은 것이 아니다. 때문에 불필요한 feature들은 줄여야한다. 이상적으로는 feature의 수가 많을수록, feature들이 독립적이라는 가정 하에 성능이 좋아진다. 하지만 실제 세계에서는 모든 feature들이 서로 독립적이라는 보장이 없고, feature들 중 noise가 있을 수 있다. 저차원에 비해 고차원으로 표현되면 더 많은 데이터가 필요하고, 문제와 관련없거나 큰 영향을 끼치지 않는 feature가 존재할 수도 있으며, 과하게 feature를 반영하면 over..
[ML] Kernel Method 2023학년도 2학기 충남대학교 양희철 교수님의 기계학습 수업 정리자료입니다. 🌱 Empirical risk minimization (ERM) 기존의 모델은 ERM의 영역. empirical : 실험적인. 실험을 통해 에러를 최소화하는 방법. 이때 empirical, 실험이란 training data를 사용한 학습을 일컫고, risk는 이 training data로 학습하는 과정에서 발생하는 training error를 뜻함. ERM 방법은 training data에 대한 최적의 모델을 찾을 수 있기 때문에 overfitting이 발생할 수 있다는 단점이 있고, 이를 validation, cross-validation, regularization 등으로 해결할 수 있었다. 위 사진에서 solution 1..
[ML] Deep Neural Networks 2023학년도 2학기 충남대학교 양희철 교수님의 기계학습 수업 정리자료입니다. 📁 Deep Neural networks Neural Network 방식에서 히든 레이어를 많이 둔 방식을 말하며, 사용하는 이유 다음과 같다. 더 복잡한 관계를 표현하기 위해 더 높은 capacity를 필요로 하기 때문이다. Universal approximation theorem이 nonlinear하게 복잡한 관계를 표현해주지만, 더 효율성을 추구하기 위해 사용한다. generalization 효과가 더 뛰어나다. 하지만 layer를 여러 층 쌓을때의 문제점은 다음과 같다. 1. Vanishing (or exploding) gradient 각각의 weight에 대한 편미분을 계산하다보면, 수많은 gradient를 계속 곱해..
[ML] Neural Networks 2023학년도 2학기 충남대학교 양희철 교수님의 기계학습 수업 정리자료입니다. 📁 Neural Networks (NN) 우리 뇌의 신경은 여러 감각기관들로부터 신경을 전달받아 여러 뉴런을 거쳐 뇌로 이동한 뒤, 뇌가 해당 값을 이용해서 어떠한 결정을 내리는 방식으로 동작한다. Neural Network란 이러한 뇌의 신경망을 모방한 수학적 모델을 말한다. data가 입력되었을때 해당 값에 특정 웨이트를 곱하거나 더하면서 뉴런을 통과하며, 이때 각각의 뉴런에서 전달받은 신호가 임계값을 넘는 경우에 해당 노드가 활성화되어 다음 노드로 값을 전달하고, 그렇지 않으면 아주 작은 값이므로 무시하는 방식으로 동작한다. Bayesian classifier, support vector machines, decision..
[ML] Ensemble Method 2023학년도 2학기 충남대학교 양희철 교수님의 기계학습 수업 정리자료입니다. 📁 Multiple Models 하나의 문제를 해결하기 위해서 꼭 하나의 모델을 사용하는 것이 아니라, 여러가지 모델을 함께 사용할 수 있다. 이렇게 모델을 여러개 만드는 방법은 두 가지가 있다. 1. training data 랜덤 추출 데이터셋에서 training data를 랜덤으로 추출하여 개별의 모델을 학습시키는 방식이다. 어떤 데이터가 training data로 선택되느냐에 따라 다른 모델이 생성되므로 이런 면에서 deterministic하지 않고 stochastic한 알고리즘의 형태를 띈다. 2. feature 랜덤 추출 data 내부의 feature들을 랜덤으로 추출해서 모델을 생성하는 방식도 있다. 예를 들어 데이..
[ML] wji의 편미분. 업데이트 해야하는 웨이트들이 보통 파라미터의 수로 얘기함. 모든 파라미터에 대해 저런 연산을 다 거치는거임. 그래서 연산량이 엄청 많겠지만 모델의 표현력이 올라가고 overfitting문제가 생김. 모델의 구조 자체에서 overfitting을 막을 수 있는 등의 기법이 많이 나오고 있음. 러닝레이트에 따라 수렴하는 속도나 수렴 뭐쩌고가 정해질수 잇음. 적절한 러닝레이트는 웨이트의 초기값에서 적절히 도달하지만 너무크면 계속 발산하는 형태. 너무 작으면 학습속도가 엄청 더딤. 그래서 학습 속도에 따라 러닝레이트를 키우거나 줄여도 됨. 이런 로스펑션이 있는데, 초기값 위치에 따라 local optimal이 무엇이냐에 따라 global을 못찾을수도. 근데 이건 그래디언트 디센트의 한계. 근데 ..
[ML] 의사결정트리(DT, Decision tree) 2023학년도 2학기 충남대학교 양희철 교수님의 기계학습 수업 정리자료입니다. 📁 의사 결정 트리(DT, Decision tree) 의사결정트리란, 입력 값에 따라 목표 값을 예측할 때 사용하는 트리 모양의 모델을 말한다. 기본적으로 Decision Tree로 데이터를 분류할 때는 위에서 아래로 진행하며, 리프노드에 도착할 때 까지 연속적으로 노드를 방문하여 분류하는 방식이다. 각 노드에서 묻는 질문은 특정 속성과 관련되고, 아래로 향하는 화살표 링크는 해당 속성으로 가능한 값들을 나타낸다. Decision Tree는 학습 단계에서 greedy method를 쓰기 때문에 연산량이 많지 않고, 한번 트리를 생성한 후 데이터를 분류하기 위해서 모델을 거치도록만 하면 되기 때문에 사용이 용이하지만, 성능 면에..
[ML] 기계학습이란? 📁 기계학습(Machine Learning) Mitchell에 따르면, 기계학습이란 tasks(작업) T에 대한 performance(성능) P가 experience(경험) E를 통해 성장하는 컴퓨터 프로그램을 말한다. 예를 들어 단순 계산과 같은 task는 수많은 experience, 즉 수많은 계산을 수행하더라도 성능이 향상되지 않으므로 기계학습이 아니다. 분류 task를 살펴보자. 위 그림처럼 프로그래머가 if문으로 분기나 조건을 모두 설정한 프로그램은 수많은 experience을 겪더라도, 즉 수많은 데이터를 분류하더라도 설정된 조건에 맞추어 분류하는 것 뿐 프로그램 자체의 성능이 향상되지 않으므로 기계학습이 아니다. 하지만 위 그림에서는 trained model이 수많은 숫자를 분류함으로써 사람..