컴퓨터 과학을위한 수학
이 주제에 대한 몇 가지 답변을 읽었지만 여전히 질문이 있습니다. 많은 수학 과정이 있으며 어떤 과정을 먼저 수강해야할지 모르겠습니다. 모든 컴퓨터 과학자는 어떤 수학 수업을 들어야합니까? 그리고 어떤 클래스가 첫 번째 클래스 여야하며 그 이유는 무엇입니까?
아주 좋고 중요한 질문입니다! 수학을 잘 이해하는 것은 모든 컴퓨터 과학자에게 필수적이며 수학 요건이 점점 다양 해지고 있습니다.
- Discrete Math 는 컴퓨터 과학에서 가장 중요하고 기본적인 수업이므로 일반적으로 수학 부서가 아닌 CS 부서에서 제공됩니다. 이 수업은 수업을위한 알고리즘 소개를 뒷받침하고 수학적으로 사물을 증명하는 방법을 가르치고 데이터 구조 및 알고리즘 분석을위한 기본 사항을 제공합니다.
- 미적분 은 입문 수준의 컴퓨터 과학 수업에서 직접 사용되지는 않지만 일반적으로 수학 능력을 향상시키기 위해 대학에서 제공하는 일련의 과정입니다. 하지만 수치 프로그래밍 및 기계 학습과 같은 것에 들어가기 시작하면 매우 유용 할 것입니다. 또한 고급 확률 / 통계 코스의 요구 사항입니다.
- 확률 은 일반적으로 이산 수학 수업에서 어느 정도 다루지 만 수학 및 통계 부서 에서 연속 확률 분포 및 통계적 추론 에 대한 수업을 듣고 싶을 것입니다. 이를 통해 수치 계산 및 시뮬레이션을 수행하는 방법을 더 잘 이해할 수 있으며 컴퓨터 과학의 가장 중요한 응용 프로그램 중 하나 인 기계 학습에 기본적으로 필요합니다 .
- 선형 대수학 은 주로 기계 학습 및 (고급) 알고리즘 수업에 유용하지만 컴퓨터 비전, 컴퓨터 그래픽, 기계 학습 및 기타 정량적 하위 분야에서 그 중요성이 가장 중요합니다.
즉, 머신 러닝 클래스 소개가있는 경우 기본 확률 클래스로 얻을 수있는 충분한 선형 대수 및 기타 항목을 다룰 것입니다. 그러나 컴퓨터 과학 대학원 과정의 경우 위의 모든 수학 영역을 잘 이해하는 것이 중요합니다.
학부 수학 외에도 고급 수학 과정은 컴퓨터 과학의 특정 이론 영역 (예 : 경제학과 교차하는 알고리즘 게임 이론)에 유용하며 특히 기계 학습 실무자가 아닌 새로운 알고리즘 개발에 유용합니다. 이러한 과정은 다음과 같습니다.
측정 이론을 포함한 실제 분석 에서는 확률과 미적분을 충분히 공부하면 다시 수렴한다는 것을 알게됩니다. 분석은 일반적으로 숫자와 관련된 알고리즘 작업을 시작할 때 알아야 할 유용한 사항입니다.
최적화 를 포함하여, 선형 최적화 , 볼록 최적화 , 그라데이션 하강 등등합니다. 대부분의 경우, 기계 학습 모델을 "학습"하는 것은 기본적으로 목적 함수를 최적화하는 것으로 귀결되며 볼록 여부와 같은이 함수의 속성은 최적화가 얼마나 쉬운 지에 큰 영향을 미칩니다.
수치 적 방법 : 일부는 이것을 수학 클래스 자체로 간주하지 않지만 알고리즘과 이론을 부동 소수점 수학의 불완전한 표현으로 변환 할 때 해결해야 할 실제 문제가 많이 있습니다. 예를 들어, log-sum-exp 트릭 .
"데이터 과학"및 관련 분야에 종사하는 사람들에게는 고급 통계, 특히 인과 적 추론 이 매우 중요합니다. 알아야 할 사항이 많이 있는데, 대부분의 경우 많은 데이터에 액세스 할 수 있으면 초보자 가이 문제 를 유발할 수 있기 때문 입니다.
조합 학 , 수치 분석 , 이산 수학 , 수학적 통계 , 확률 이론 , 정보 이론 , 선형 대수 , 람다 미적분 , 수학적 논리 , 범주 이론 , 프로세스 미적분 등
"컴퓨터 과학자"를 지정 했으므로 다음과 같은 어려운 경로를 택하겠습니다.
- 알고리즘 분석은 미적분, 미분 방정식 및 이산 수학에 의존합니다. (많은 사람들이 알고리즘 분석을 컴퓨터 과학과 소프트웨어 엔지니어링 프로그램의 주요 차별화 요소로 봅니다).
- 컴퓨터 그래픽 / 과학적 시각화에는 수치 적 방법, 선형 대수 등의 엔지니어링 분석 배경이 필요합니다.
- 계산 기하학
- 함수 근사
- 세트 이론, 논리 / 1 차 미적분
- 확률 / 통계
- 목록은 계속됩니다 :)
참고 URL : https://stackoverflow.com/questions/14868480/math-for-computer-science
'Nice programing' 카테고리의 다른 글
| Python 할당을 오버로드 할 수 있습니까? (0) | 2020.11.21 |
|---|---|
| 녹아웃에서 관찰 가능한 배열 정렬 (0) | 2020.11.21 |
| 'killed'는 무엇을 의미합니까? (0) | 2020.11.21 |
| IISRESET과 IIS Stop-Start 명령의 차이점 (0) | 2020.11.21 |
| 문서에 쓰기 실행 : 명시 적으로 열리지 않는 한 비동기 적으로로드 된 외부 스크립트에서 문서에 쓸 수 없습니다. (0) | 2020.11.21 |