본문 바로가기

23년 2학기 학교공부

(82)
[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..
[CP] Dataflow analysis/optimization 2023학년도 2학기 충남대학교 조은선 교수님의 컴파일러개론 수업 정리자료입니다. 📁 Reaching Definition Analysis 예시를 보자. 🌱 📝 문제 풀어보기 Reaching definitions 분석을 하시오. 즉, GEN/KILL을 구하고 IN/OUT을 구하시오
[CP] Analysis and Optimization 2023학년도 2학기 충남대학교 조은선 교수님의 컴파일러개론 수업 정리자료입니다. 📁 Acyclic Code Optimization Acyclic Code란 Loop가 없는 코드를 말하며, 분석 및 최적화가 상대적으로 쉽다. Acyclic code optimization의 종류에는 두 가지가 있다. 1. Inner basic block opt. = Intra opt. = Local opt. 부분적인 관점(단일 block 내)에서, 즉 basic block 내부에서 비효율적인 코드를 구분해내고 좀 더 효율적인 코드로 개선하는 최적화를 말한다. 2. Inter-basic block opt. = Global opt. basic block 간의 관계를 분석하고 이를 고려하는 최적화를 말한다. 🌱 Inner Ba..
[CP] Control Flow Analysis/Optimization 2023학년도 2학기 충남대학교 조은선 교수님의 컴파일러개론 수업 정리자료입니다. 컴파일러 후반부.에서 기계와 직접적으로 관련이 없지만 컴파일러 과정에서 빈번하게 일어나는 단계 중 하나가 최적화. Control flow analysis/optimization과 Dataflow analysis/optimization을 살펴보자. 📁 Optimization 최적화란 주어진 입력 프로그램과 의미적으로 동등하면서 좀 더 효율적인 코드로 바꾸는 작업을 말한다. 이때 효율적이라는 것은 실행시간이 짧고, 기억장소 요구량이 최소화되는 것이다. 최적화에서 핵심은 기본적으로 의미적으로 동등한 코드를 만드는 것. 이를 위해서 분석(analysis)를 이용한다. 분석을 통해 코드가 동등함이 보장된 이후에 계산의 횟수를 줄이거..
[SE] 소프트웨어 테스트 2023학년도 2학기 충남대학교 김현수 교수님의 소프트웨어공학 수업 정리자료입니다. 📁 기본 용어 정리 소프트웨어 테스팅에 대해 알아보기 전에, 테스팅 과정에서 쓰이는 용어를 정리해보자. 1. 실패(failure) 실패란 시스템에 나타나는 용납될 수 없는 행위(unacceptable behavior)를 말한다. 실패는 명세와 실행 동작의 차이(?) 신뢰도(reliability)는 실패의 횟수를 기반으로 측정된다. 중요한 설계 목표는 매우 낮은 고장률과 높은 신뢰성을 달성하는 것이다. 2. 결함(defect) 하나 이상의 장애 발생에 기여하거나 잠재적으로 기여할 수 있는 시스템 측면의 결함(flaw)을 말한다. 특정 실패는 몇 가지 결함에 의해 유발될 수 있다.ㄷ 3. 오류(error) 결함을 발생하게 하..