机器学习数学
机器学习的基础是数学。数学并非是一个可选可不选的理论方法,而是不可或缺的支柱。如果你是一名计算机工程师,每天使用UML,ORM,设计模式及其他软件工程工具/技术,那么请闭眼一秒钟,忘掉一切,这并不是说这些概念不重要,绝不是!但是机器学习需要一种不同的方法。如今Python如此流行的原因之一是其【原型设计与速度】。在机器学习中,一种使用几行代码即可建模算法的语言绝对是必要的。
微积分,线性代数,概率论在机器学习几乎所有算法中不可或缺。如果你数学不是那么扎实,大学学的数学知识都还给老师了(大部分同学都是如此),那么重新温习一下这些重要概念也不错。考虑到理论的数量,我并不建议大家从大部头开始。尽管一开始可以用它查询具体概念,但是初学者先关注简单的话题比较好。我建议从提纲之类的视频教材入手,其中所有核心概念均被涉及,次要概念可在需要的时候自行查询。这种方法虽然不够系统,但却避免了这样的缺陷:大量晦涩概念使得没有扎实理论背景的人望而却步。
微积分
高等数学中的一些基本概念,如导数,偏导数,梯度下降法,凸函数,拉格朗日数乘法等,都在不同的算法中现身过。梯度下降法是常见的优化算法,拉格朗日乘法是SVM中解决其优化函数的对偶问题的基础。高等数学是本科中工科,理科的大多数专业都会接触到的,也是入门机器学习的必备数学工具之一。
一、微积分-函数与极限
二、微积分-导数与微分
- 1.导数
- 2.高阶导数
- 3.微分学的核心思想
- 4.偏导数
- 5.高阶偏导数
- 6.应用:凸函数
三、微积分-导数的应用
- 1.洛必达法则
- 2.泰勒级数
- 3.局部极值
- 4.应用:牛顿法
- 5.应用:梯度下降法、学习率
四、微积分-积分学与微分方程
- 1.黎曼积分
- 2.牛顿莱布尼茨公式
- 3.多变量函数的积分
- 4.微分方程
概率论与数理统计
概率论,在不少机器学习算法中都是主角,如朴素贝叶斯算法(NB),隐马尔科夫模型(HMM),最大熵模型(EM),条件随机场(CRF),这四种算法也是最常见的概率图模型。无疑,没有了概率论,这些模型将黯然失色,就像贝叶斯公
式,正是它,才成就了鼎鼎大名的朴素贝叶斯算法。当然,数理统计也是不可缺少的,简单到样本,抽样方法,
复杂到各种回归算法,方差分析,因子分析等,还有时间序列模型(ARMA算法)等等,与概率论,都是统计学中的瑰宝,在机器学习也找到了它们的用武之地
五、概率论与统计-事件与概率
六、概率论与统计-随机变量及其分布
- 1.离散随机变量与连续随机变量
- 2.随机变量的数字特征
- 3.同一个随机变量的特征函数的重要性质
- 4.特殊分布的特征函数
- 5.应用:损失函数与支持向量机
七、概率论与统计-大数定律与中心极限定理
- 1.随机变量相关系数
- 2.切比雪夫不等式
- 3.大数定律
- 4.中心极限定理
八、概率论与统计-参数估计
- 1.参数估计问题
- 2.置信区间
- 3.先验分布与后验分布
- 4.共轭分布
- 5.应用:重要的距离公式
线性代数
线性代数是解决线性方法的学问,当然,它的作用不仅如此,个人觉得,它更像是描述线性空间的一种语言。有了线性代数,一方面我们能简化描述问题与方法的语言,如向量,矩阵等概念;另一方面,它也是解决实际问题的工具,比如,我们在推荐算法中的SVD,多元线性回归的最小二乘法的矩阵描述等。在Python中,它提供了一个很好的线性代数方面的工具,那就是numpy,它的功能与matlab类似,适合矩阵运算,简单且高效。
九、线性代数-矩阵及其运算
十、线性代数-线性空间与线性变换
编程基础
Python是一种开源的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发,现已成为数据分析科学中最受欢迎的语言。Python的设计哲学是“优雅”、“明确”、“简单”。
一、四大机器学习编程语言
- 1.R
- 2.Python
- 3.MATLAB
- 4.Octave
二、机器学习的Python基础
- 1.Python的环境搭建和IDE简介:Anaconda、Jupyter以及VS code
- 2.python简介
- 3.Python基础语法和数据类型,数据结构
- 4.Python运算符和流程控制
- 5.字符串String
- 6.列表List
- 7.元组Tuples
- 8.字典Dictionary
- 9.迭代器和生成器
- 10.函数和模块
- 11.面向对象
- 12.文件IO操作
- 13.Python 的 Magic Method
三、EDA和可视化,matplt库
- 1.EDA statistics
- 2.EDA常规步骤
- 3.条形图
- 4.数据分布
- 5.Python进行假设检验
- 6.直方图
- 7.折线图
- 8.面积图
- 9.盒须图
- 10.饼图
- 11.热力图
- 12.散点图
- 13.Fit简单模型
- 14.玫瑰图
- 15.3D图
- 16.热力地图
- 17.其他可视化库介绍
- 18.自定义可视化设计
四、算法工程
一、算法工作流概述
了解算法工程师在企业中常见的工作环境、工作流程、团队定位,是将理论知识和工程实践联系的桥梁。
- 1.算法工作流概略和常见术语
- 2.建立算法工程思维
- 3.常见团队中算法工程师定位与核心目标
- 4.转型至算法工程师的注意事项
二、问题抽象
对业务需求进行正确的抽象和提炼,不仅是解决问题的起点,也是作为技术人员必须掌握的职场技能
- 1.算法工程师需要掌握的资源和资料
- 2.算法工程常见业务方对接方式
- 3.功能型需求和效能型需求
- 4.业务问题可行性评估
三、数据采集与处理
精妙的模型和高质量数据,若要做出选择,我们必然优先保证高质量数据。理解业务数据,熟悉数据技术,才能让算法工程师做到手里有粮心里不慌
- 1.常见数据种类
- 2.数据可信和数据可用
- 3.埋点采集的基本原则
- 4.实时数据和批处理数据
- 5.在线、近线、离线数据规划
- 6.常见数据处理方法
- 7.数据落地和数据易用性
四、特征工程
工欲善其事必先利其器,不同的模型具有不同的脾性,优秀的输入数据会得到更好的模型输出结果。特征工程在实际工作中常常会成为重要且耗时的一环。
- 1.特征(Feature)的介绍
- 2.连续特征和离散特征
- 3.具有唯一标识的数据
- 4.特征转换的基本逻辑
- 5.特征筛选的主观和客观方法配合
- 6.初探自编码
五、建模与调优
业务问题了然于胸,业务数据尽在掌握。但算法的建模不仅为了解决问题,同时还要考虑其工业界应用环境。这要求算法工程师选择适合的模型、找到优秀的参数、构建高效的训练方案
- 1.业务问题建模基本思路
- 2.模型的最小可验证版本
- 3.批量训练和实时训练
- 4.常用调参思路和方式
六、模型评估
- 1.划分训练集、测试集、验证集
- 2.回归模型常见评价指标
- 3.分类模型常见评价指标
- 4.聚类模型常见评价指标
- 5.根据业务场景定义模型核心评价指标
- 6.联动业务指标进行分析
七、模型部署与反馈机制
万事俱备只欠东风,最终模型需要部署至线上,它将以不同的对外交互形式为不同的对象进行服务。在运行过程中,我们还需要监控模型和更新模型。
- 1.模型训练和应用部署的区别
- 2.模型线上部署的工程注意事项
- 3.常用的部署方式(pmml)
- 4.线上模型的监控
- 5.线上模型的批量更新
- 6.线上模型的实时更新
八、算法面试模拟与常见问题总结
- 1.算法工作流累积问题答疑
- 2.算法面试过程模拟
- 3.面试常见算法工程问题
深度学习
一、深度学习概述
深度学习更多是一种算法架构思维方式,但是它作为当今火热的一个名词,我们需要理解它所包含的思想。
- 1.深度学习和机器学习的关系
- 2.深度学习当前发展领域
- 3.深度学习在工业界的应用
- 4.深度学习在实际工作环境中的状态
- 5.深度学习领域深入研究的方法
二、神经网络概述
神经网络是深度学习领域里最为基础的架构之一,通过介绍神经网络的基础知识,同时让我们掌握深度学习中常见的概念和术语。
三、神经网络原理
深入神经网络的运行过程,用实例代码的编写来理解数据运算过程、格式转换方式。从而体会深度学习的“style”
- 1.神经网络的前向传播
- 2.反向传播和链式法则
- 3.常见激活函数
- 4.权值归一化
- 5.输出归一化
- 6.神经网络的python简单实现
四、深度学习工业界应用
- 1.深度学习业界应用
- 2.解析youtube的DL算法应用
五、卷积神经网络概述
作为计算机视觉领域当前的火热概念,卷积神经网络技术创造了目前人类对CV的新高峰。理解它是人工智能算法工程师学习过程中不可或缺的环节。
- 1.卷积神经网络的基本概念
- 2.卷积神经网络基础结构
- 3.常见应用领域
六、cnn原理
从数据的角度,去理解CNN内部做了什么。只有当概念清晰时,我们才能对实际视觉问题给出合适的答案
- 1.卷积运算
- 2.池化运算
- 3.Kears训练CNN的DEMO
七、cnn衍生
人脸识别、物体检测等,深度学习中卷积神经网络已经在工业界大展拳脚。了解它的发展;掌握它的应用,能给我们带来更广阔的视野
- 1.Resnet在CNN中的突破和意义
- 2.YOLO3的结构与应用场景
- 3.CV面试常见问题
八、序列建模简介
语音、文字等时间序列数据,宏观上不再是离散的数据点,它们在历史上存在依赖关系。如何处理这些序列数据,就需要一种不同的思路。
- 1.序列数据
- 2.序列建模的基本概念
- 3.RNN基本原理
- 4.注意力机制
- 5.序列建模的常见应用场景
- 6.序列建模面试常见问题
九、深度学习模型部署
任何一个训练得再完美的算法,都必须经过实际的检验。深度学习模型在线上的部署,又和机器学习模型部署出现的不同。
- 1.深度学习模型线上部署常见问题
- 2.模型统一交换格式
- 3.Pytorch框架模型部署思路
- 4.Tensorflow框架模型部署思路
- 5.工程常见问题
十、深度学习面试指导
- 1.深度学习累积问题答疑
- 2.深度学习面试常见问题
一、黑卡刷单对抗实战
方向:机器学习
简介:在极重用户体验的游戏行业中,有一款刚刚在海外上线的游戏,突然发现APPstore退款激增。惊觉是遭遇了黑卡刷单盗取游戏资源,每日损失高达几十万美金。面对这种损失大、时间紧、特征数据少的情况,算法工程师团队揣起了他们的机械键盘奔赴战场!让我们一起来体验真实业务场景下的那场智慧较量吧!
基本流程:
- 1、业务背景介绍
- 2、业务问题梳理
- 3、技术选型
- 4、问题建模
- 5、数据工程
- 6、结果评估
- 7、疑难解答
二、基于卷积神经网络的图像分类实战
方向:深度学习
简介:项目介绍:以多层神经网络为代表的深度学习正在深刻的变革着各行各业。本次带来的项目是使用深度学习的方法(卷积神经网络),对kaggle的Fashion-MNIST的数据集进行分类,使用PyTorch来实现自己的卷积神经网络模型。
项目实操:
- 1.图像分类介绍
- 2.pytorch简介---编程实战。
- 3.CNN实现—编程实战。
- 4.项目分析结果的可视化展示。
- 5.项目总结及项目优化。
三、信用卡违约管理实战
方向:机器学习
简介:机器学习在银行金融风控领域早已经有非常成熟的运用。本次带来的项目是使用机器学习办法,预测信用卡违约的客户,从而能提前采取措施减少信用卡违约的出现,减少银行的潜在损失。本项目会讲解特征工程中的一些针对该项目进行的特殊的采样办法,并且会从更多角度去讲解不同的预测效果指标。
基本流程:
- 1.数据概览
- 2.数据处理
- 3.EDA
- 4.特征工程
- a.处理共线问题
- b.重新采样
- 5.建模及优化
- a.常用算法介绍
- 6.商业结论
- 7.动手实践
四、基于卷积神经网络的端到端验证码识别
方向:深度学习、项目工程实操
简介:使用深度学习的方法 (卷积神经网络),对线上验证码进行识别,并搭建工程项目,作为API供其他服务进行调用。
项目实操:
- 1.多标签图像分类介绍
- 2.CNN多标签编程实战
- 3.模型工程化实践
- 4.可视化和要点总结