复试:
1.java与c++,编译和运行的区别
垃圾回收,面向对象,类的继承
2.垃圾回收机制,智能指针
3.项目,机器学习
4.算法,动态规划,0/1背包,排序算法

NFL定理(No Free Lunch Theorem) : 总误差与学习算法无关(前提:所有问题出现的机会相同、或所有问题同等重要)

2.2 评估方法

1.划分测试集T和训练集S的方法(数据集D)

1)留出法

机器学习 - 图2
注意:

  • 训练集和测试集的划分尽可能保持数据分布的一致性,避免数据划分过程引入额外偏差。
  • 从采样(sampling)角度看待数据集的划分过程,保留类别比例的采样方式通常称为“分层采样”(stratified sampling)。
  • 采用留出法时,一般采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果
  • 测试集小时,评估结果不够稳定准确;训练集小时,降低了评估结果的保真性(fidelity)。
  • 常见做法:大约2/3~4/5的样本用于训练,剩余样本用于测试。

2)交叉验证法

机器学习 - 图3

  • 每个子集机器学习 - 图4都尽可能保持数据分布的一致性,即从D中通过分层采样得到。
  • 每次采用k-1个子集的并集作为训练集,余下的一个作为测试集,获得k组训练/测试集,从而可进行k次训练和测试,最终返回的是k个测试结果的均值。
  • 交叉验证法评估结果的稳定性和保真性在很大程度上取决于k的取值,为强调这一点,通常把交叉验证法称为“k折交叉验证”(k-fold cross validation)。
  • k常用取值10,称为10折交叉验证,其他常用的k取值有5、20
  • 与留出法相似,数据集划分存在多种划分方式,为减小因样本划分不同引入的差别,k折交叉验证一般随机使用不同划分方式重复p次,最终评估结果取p次k折交叉验证结果的均值,例如“10次10折交叉验证”

    交叉验证法的特例:留一法

    数据集D中有m个样本,令k等于m,则得到特例:留一法

  • 留一法不受随机样本划分方式的影响。

  • 绝大多数情况下,留一法中被实际评估的模型与期望评估的用D训练出的模型很相似,评估结果往往被认为比较准确。
  • 缺陷:数据集比较大时,训练m个模型的计算开销是难以忍受的。另外,留一法的估计结果也未必永远比其他评估方法准确。

    3)自助法(bootstrapping)

    以自主采样法(bootstrapping sampling)为基础,给定m个样本数据集D,对它进行采样产生D’:每次随机从D中挑选一个样本,将其拷贝放入D’,再将样本放回D中,使样本下次采样时仍可被采到;这个过程重复执行m次,得到包含了m个样本的数据集D’,这是自主采样的结果。
    简单估计m次采样中始终不被采到的概率 机器学习 - 图5,取极值得到:
    机器学习 - 图6
    即通过自主采样,初始数据集约有36.8%的样本未出现在采样数据集D’中,于是将D’作为训练集,D\D’作为测试集,这样实际评估模型和期望评估模型都是m个训练样本,还有剩余近1/3用于测试,这样的测试结果也称为“包外估计”(out-of-bag estimate)

  • 优点

在数据集较小,难以有效划分训练/测试集时很有用
自助法能从初始数据中差生多个不同的训练集,对集成学习等方法有很大的好处

  • 缺点

改变了初始数据集的分数,引入了估计偏差,因此初始数据量足够时,留出法和交叉验证法更常用

2.调参与最终模型

调参:选定范围和步长,产生候选值,从候选值中选择最终参数值,往往不是“最佳”,这是计算开销和性能估计之间进行折中的结果。

  • 注:一般在使用一部分数据训练选定学习算法和参数配置后,用数据集D重新训练模型,这个模型在训练过程中使用了所有m格样本,才是最终提交给用户的模型。
  • 注意:通常把学得模型在实际应用中遇到的数据称为测试集,模型评估和选择中用于评估测试的数据集被称为验证集(validation set)。

3.性能度量

  • 回归任务最常用的性能度量——“均方误差”(mean squared error)
  • 分类任务中常用的性能度量:

    3.1 错误率和精度,适用于二分类任务和多分类任务

    错误率:分类错误的样本占样本总数比例
    精度:分类正确样本占样本总数的比例

    3.2 查准率(precision)、查全率(recall)与F1

    机器学习 - 图7
    机器学习 - 图8

  • P-R图,曲线A完全包住曲线B则A的性能优于前者。

  • 比较合理的判据:P-R曲线下面积的大小
  • 平衡点(Break Even Point,简称BEP),可基于BEP比较学习器的性能

    BEP过于简化了写,更常用的是F1度量:

    机器学习 - 图9(实际是基于查准率和查全率的调和平均)

    F1度量的一般形式:机器学习 - 图10

    机器学习 - 图11(实际是加权调和平均)

  • 机器学习 - 图12> 0 度量了查全率对查准率的相对重要性,机器学习 - 图13 = 1退化为标准的F1度量;机器学习 - 图14> 1时查准率有更大影响

    3.3 ROC与AUC

    ROC全称“受试者工作特征”(Receiver Operating Characteristic)曲线,用于研究学习器泛化性能

  • 纵轴为“真正例率”(True Positive Rete,简称TPR)

机器学习 - 图15

  • 横轴为“假正例率”(False Positive Rate,, 简称FPR)

机器学习 - 图16

  • AUC(Area Under ROC Curve),ROC曲线下的面积

    3.4 代价敏感错误率与代价曲线

  • 代价敏感(cost-sensitive)错误率

  • 代价曲线(cost curve)在非均等代价下,替代ROC曲线反映学习器的期望总体代价
  • 纵轴取值是[0,1]的归一化代价

    4.比较检验

  • 统计假设检验(hypothesis test)

3.线性模型

机器学习 - 图17

3.2线性回归

多元线性回归
对数线性回归,广义线性模型

3.3对数几率回归

对数几率回归,名字含有回归,实际是一种分类学习方法

  • 使用对数几率函数(logistic function)作为广义线性模型中的联系函数,对数几率函数如下:

机器学习 - 图18

2.机器学习课程

1.梯度下降

1.线性回归
2.学习率机器学习 - 图19
归一化
2.多项式回归(Pylynomial regression)

2.Normal equation(正规方程)

问题:矩阵不可逆

准备

一、客服云系统

1.首屏加载时间优化

  • 组件按需引入
  • vue的路由懒加载
  • 将文件放到cdn上
  • 服务器端使用gzip压缩
  • SSR服务器渲染(vue用不到)

    2.sql防注入

  • 正则表达式过滤

  • PreparedStatement

二、去中心化资料共享平台

一、非接触式血压检测

1.adaboost算法:

  • 有多个弱分类器(单层决策树)迭代形成的强分类器,最后的分类结果是所有分类器的综合效果
  • 数据权重:影响单层决策树的决策选择,权重高获得更多的关注(每轮结束,误分类的点权重增加)
  • (分类器权重)最终结果由弱分类器的加权投票来决定,权重为弱分类器的分类错误率,错误率越低,权重越高
  • 结束标志:最终分类错误率低于阈值则分类结束

    2.欧拉放大算法

  • 欧拉线性放大和欧拉相位放大

    欧拉线性放大

  1. 空间滤波(拉普拉斯金字塔)
  • 1)RGB转为YIQ

2)图像金字塔 pyrDown pyrUp(向下采样:高斯内核卷积;去除所有行和列
向上采样:每个方向扩大到原来两倍,新增行和列补零;使用同样内核(*4)卷积,获取新增像素近似值)
拉普拉斯金字塔:逆操作

  1. 时域滤波(提取感兴趣部分的信号变化,例如心率0.4-4HZ(24-240bpm),进行时域带通滤波)

1)IIR滤波(不需要时频分析,选择宽带通的滤波器,更好减轻振铃现象)
2)理想/高斯带通滤波器(可以直接截取出感兴趣的频段,而避免放大其他频段,窄带通滤波器)

  1. 放大合成

3.Resnet

  • 残差网络,解决深度加深,预测准确度下降的问题

    1.resnet 50

  • (3 + 4 + 6 + 3) * 3 + 1 + 1

  • cov net + id + id +…

二、胃癌组织病理辅助诊断系统

1.retinanet

resnet + fpn + subnet