当前位置:网站首页>机器学习应该如何入门?
机器学习应该如何入门?
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张)
学好人工智能,要多看书,多动手,多实践,要想提高自己的水平,一定要学会沉下心来慢慢的系统学习,最终才能有所收获。
点击下方名片,扫码免费下载文中资料。
边栏推荐
- 设计消息队列存储消息数据的MySQL表格
- Compose原理-视图和数据双向绑定的原理
- 【历史上的今天】7 月 31 日:“缸中之脑”的提出者诞生;Wi-Fi 之父出生;USB 3.1 标准发布
- LeetCode--打家劫舍问题
- One line of code to solve CoreData managed object properties change in SwiftUI problem of animation effects
- 【密码学/密码分析】基于TMTO的密码分析方法
- thymeleaf iterates the map collection
- OSD读取SAP CRM One Order应用日志的优化方式
- Matlab/ArcGIS processing GPM global monthly precipitation data
- Super like the keyboard made from zero, IT people love it
猜你喜欢
ROS2系列知识(4): 理解【服务】的概念
Kyoto University:Masaki Waga | 黑箱环境中强化学习的动态屏蔽
两院院士直言:不要迷信院士
RTL8762DK RTC(五)
How to Design High Availability and High Performance Middleware - Homework
Classes and Objects: Above
[AMEX] LGBM Optuna American Express Credit Card Fraud Contest kaggle
一行代码解决CoreData托管对象属性变更在SwiftUI中无动画效果的问题
MVCC总结
推荐系统:常用评价指标总结【准确率、精确率、召回率、命中率、(归一化折损累计增益)NDCG、平均倒数排名(MRR)、ROC曲线、AUC(ROC曲线下的面积)、P-R曲线、A/B测试】
随机推荐
cobaltstrike
虚继承的原理
Classes and Objects: Above
Nmap Operation Manual - Full Version
Rasa 3.x 学习系列-使用查找表改进实体提取
RTL8762DK 使用DebugAnalyzer(四)
一行代码解决CoreData托管对象属性变更在SwiftUI中无动画效果的问题
RTL8762DK PWM(七)
设计消息队列存储消息数据的MySQL表格
ECCV2022 Workshop | 复杂环境中的多目标跟踪和分割
What is the meaning of JS timestamp?Know SQL will consider to add a timestamp, JS timestamp for the scene?
Rasa 3.x 学习系列- Rasa - Issues 4918 学习笔记
JVM面试题总结(持续更新中)
Difference between first and take(1) operators in NgRx
Carefully summarize thirteen suggestions to help you create more suitable MySQL indexes
Thinking and Implementation of Object Cache Service
js 实现复制功能
STK8321 I2C(昇佳-加速度传感器)示例
Binary tree traversal non-recursive program -- using stack to simulate system stack
Rasa 3.x 学习系列- Rasa - Issues 4898 学习笔记