当前位置:网站首页>机器学习应该如何入门?
机器学习应该如何入门?
2022-08-01 00:58:00 【程序媛珂珂】
机器学习和人工智能是如今的最热门的学习方向,但是大家都不知道该怎么入手。今天,通过这篇文章,我们来告诉大家机器学习的应该如何入门。
机器学习的第一课
机器学习的本质是通过数学模型的搭建框架,并依靠机器本身不断的自行优化,最终得最优解。因此,我们的第一课最好以数学为基础,进行学习实践。
在整个学习过程中,你可以会遇到以下几种数学知识:
1.线性代数:矩阵/张量乘法、求逆,奇异值分解/特征值分解,行列式,范数等
2.统计与概率:概率分布,独立性与贝叶斯,最大似然(MLE)和最大后验估计(MAP)等
3.优化:线性优化,非线性优化(凸优化/非凸优化)以及其衍生的求解方法如梯度下降、牛顿法、基因算法和模拟退火等
4.微积分:偏微分,链式法则,矩阵求导等
5.信息论、数值理论等
而这些数学理论对初学者来讲,是一个巨大的门槛。因此,这里需要注意的点是:如果数学对你基本为劝退效果,那么就先放下这些东西,从机器学习十大算法本身去学习,在学习的过程去,去弥补自己的不足。毕竟数学知识只是认知算法的一种工具,而不是算法本身。
机器学习十大算法
作为最有名,且最重要的机器学习十大算法,你虽然不说完全认知,但是,你必须要对里面的东西进行很深刻的了解。只有这样,才能让你对机器学习有一个系统的了解和认识。这里推荐周志华老师的《机器学习》一书,相当经典的一本。
在这个阶段学习过程中,你可以会遇到的十大算法:
(由于网上可以找到很多的数据,我这里只列举名称,后续有机会,在给大家挨个分析每一个算法)
1. 线性回归2. Logistic 回归3. 线性判别分析4. 分类和回归树5. 朴素贝叶斯6. K 最近邻算法7. 学习向量量化8. 支持向量机9. 袋装法和随机森林10. Boosting 和 AdaBoost
从机器学习算法本身来看,算法模型主要分为2个流派,一个是以随机森林为主的“vote派”,简单来说,就是将样本文件随机分块,然后分别投入算法中,以结果数量多的为最终结果。另一种流派为“反馈派”,得到一个结果后,不断的反馈至模型,模型通过不断的调整参数,最终输出最优解。
当然,在这个基础上,很多人很难去静下心来一一学习,在这里可以推荐一下重点关照的算法,树结构,支持向量机,随机森林和Boosting。
骗人的深度学习
深度学习的本质是不断的反馈,然后深度学习模型通过反馈结果不断的调整参数,最终得到一个最优解。因此,这里特别强调的一个点是,深度学习本身就是一种黑盒算法,过分的学习理论其实并没有任何作用。你唯一能做的,就是学习市面上别人已经写好的框架,然后努力的调整自己的参数。而且由于深度学习需要很高性能的硬件设备,对于一般人来讲,其实并不是特别友好。
当然,这里并不是贬低深度学习算法,这里仅仅强调的一点是,深度学习的算法大部分是存在于调整参数的方法上,如果快速的调整参数,达到最优的结果,才是你最需要做的事情。
机器学习的相关硬件和语言选择
如果要做深度学习,Linux还是首选,因为其对很多学习模型支持比较好(主要是深度学习的Library)。但即使你使用的是Windows系统,也可以用虚拟机装Ubuntu来进行学习。小型的深度学习模型足够了,大型的深度学习我们很少在本地/个人计算机上运行。至于编程语言,首推Python,因为其良好的拓展支持性,主流的工具包都有Python版本。在特定情况下,选择R作为编程语言也是可以的。其他可能的语言还包括C++、Java和Matlab,但我个人不大推荐。不推荐的理由,主要是因为语言本身依赖的底层环境较多,对性能很难保证。
免费分享一些我整理的人工智能学习资料给大家,整理了很久,非常全面。包括一些人工智能基础入门视频+AI常用框架实战视频、图像识别、OpenCV、NLQ、YOLO、机器学习、pytorch、计算机视觉、深度学习与神经网络等视频、课件源码、国内外知名精华资源、AI热门论文等。
下面是部分截图,文末附免费下载方式。
目录
一、人工智能免费视频课程和项目
二、人工智能必读书籍
三、人工智能论文合集
四、机器学习+计算机视觉基础算法教程
五、深度学习机器学习速查表(共26张)
学好人工智能,要多看书,多动手,多实践,要想提高自己的水平,一定要学会沉下心来慢慢的系统学习,最终才能有所收获。
点击下方名片,扫码免费下载文中资料。
边栏推荐
- 虚继承的原理
- How to Design High Availability and High Performance Middleware - Homework
- SVN server construction + SVN client + TeamCity integrated environment construction + VS2019 development
- GDB 源码分析系列文章五:动态库延迟断点实现机制
- Rainbow share | how to use moving targets defense technology to guard against the unknown
- NIO programming
- Notes on how to use zeno
- Unity3D学习笔记10——纹理数组
- Difference between first and take(1) operators in NgRx
- thymeleaf iterates the map collection
猜你喜欢
vector的基本实现
【历史上的今天】7 月 31 日:“缸中之脑”的提出者诞生;Wi-Fi 之父出生;USB 3.1 标准发布
[MATLAB project combat] LDPC-BP channel coding
Blueprint: Yang Hui's Triangular Arrangement
Introduction to the five data types of Redis
Key Points Estimation and Point Instance
In 2022, the latest eight Chongqing construction members (electrical construction workers) simulation question bank and answers
WeChat applet page syntax
Super like the keyboard made from zero, IT people love it
Carefully organize 16 MySQL usage specifications to reduce problems by 80% and recommend sharing with the team
随机推荐
date命令
值传递还是引用传递(By Value or By Reference)
命名实体识别-模型:BERT-MRC
js 实现复制功能
TFC CTF 2022 WEB Diamand WriteUp
简单的vim配置
从零造键盘的键盘超级喜欢,IT人最爱
二叉树遍历非递归程序 -- 使用栈模拟系统栈
2022年最新重庆建筑八大员(电气施工员)模拟题库及答案
NIO programming
/etc/sysconfig/network-scripts configure the network card
设计消息队列存储消息数据的MySQL表格
类和对象:中
IPD process terminology
The principle of virtual inheritance
LeetCode--The problem of robbery
WAASAP WebClient UI页面标签的决定逻辑介绍
ECCV2022 Workshop | Multi-Object Tracking and Segmentation in Complex Environments
Xinao Learning Plan The Road to Informatics Competition (2022.07.31)
STK8321 I2C(昇佳-加速度传感器)示例