Thành phần toán học có thể sẽ bao gồm đại số nâng cao, trig, đại số tuyến tính và phép tính tối thiểu.
Nhưng cũng nghĩ bên ngoài hộp. Kỹ năng lập trình tốt cũng rất cần thiết bao gồm nền tảng vững chắc trong thuật toán (Coursera có hai khóa học về thuật toán) và thành thạo MatLab, Octave hoặc R (và với ngôn ngữ lập trình linh hoạt như Java, C / C ++ hoặc Python). Tôi đề cập đến những điều này để trả lời câu hỏi của bạn bởi vì chúng là những kỹ năng "toán ứng dụng" hơn theo quan điểm của tôi - và là cơ bản để dịch giữa lý thuyết và thực hiện ứng dụng.
Tôi đã tham gia một số khóa học của Coursera liên quan đến học máy (và đồng ý với một poster khác rằng Học máy của Giáo sư Ng là tuyệt vời) và NN. Một vài tháng trước, Coursera đã tổ chức một khóa học về mạng nơ-ron (không chắc là nó vẫn có sẵn) thông qua Đại học Toronto và Geoffrey Hinton. Một khóa học tuyệt vời và đòi hỏi: kiến thức về tính toán, thành thạo với Octave (một bản sao giống như MatLab mã nguồn mở), thiết kế thuật toán tốt (cho khả năng mở rộng) và đại số tuyến tính.
Bạn cũng có thể (trong khi không phải toán học), suy nghĩ về các chủ đề như xử lý ngôn ngữ tự nhiên (để trích xuất tính năng, v.v.), truy xuất thông tin, lý thuyết thống kê / xác suất cũng như các lĩnh vực khác của Machine Learning (để có thêm lý thuyết). Các văn bản gần đây như Cơ sở của Học máy (Mohri) hoặc Giới thiệu về Học máy (Alpaydin) có thể hữu ích cho bạn trong việc bắc cầu sự phức tạp giữa lý thuyết và thực hiện (theo tôi, đây có thể là một bước nhảy vọt) - và cả hai văn bản rất nặng toán, đặc biệt là nền tảng.
Một lần nữa, tôi nghĩ tất cả đều liên quan đến toán học và NN nhưng theo nghĩa rộng hơn.