学习目标:
马上快答辩了,实在是无心学习,闲来无事,就整理一下,去年找工作以来总结的一些我认为面试常考的东西吧,希望能对今年找工作的你,有所帮助。首先说一下我的研究方向是计算机视觉,我的目标是算法工程师,这里面就很多了,大家根据自己的意愿来吧。
学习内容:
我直接放这里哈
if __name__ == "__main__":
"""
机器学习类别不平衡问题处理方法: 行欺诈问题,客户流失问题,电力盗窃以及罕见疾病识别,预测结果往往倾向于类别较多的观测数据
1.采样
a.过采样:增加少数样本的数量(复制)
b.降采样:随机删除多数样本(集成学习)
-->反例划分为若干个集合供不同学习器使用,这样对每个学习器来看都进行了欠采样,但在全局来看却不会丢失重要信息。
2.阈值移动: 许多模型的输出类别是基于阈值的,例如逻辑回归中小于0.5的为反例,大于则为正例。
在数据不平衡时,默认的阈值会导致模型输出倾向于类别数据多的类别。
3.调整代价函数或者权重: focal loss 带权重的交叉熵
优化器:SGD/Momentum/Adagrad/Adam
SGD: nn.SGD(net.parameters(), lr=0.001, momentum=0.95),SGD为随机梯度下降,每次迭代计算mini_batch数据的梯度,然后对参数经行更新。
Mimentum: 参考物理学中的动量,前几次的梯度也会参与当前的计算中,但是前几轮的梯度叠加在当前计算中会有一定的衰减
Adagrad: 在训练过程中自动变更学习的速率, 设置一个全局的学习速率,而实际的学习率与以往的参数模和的开方成反比
Adam: 利用梯度的一阶矩和二阶矩动态调整每个参数的学习率,经过偏置校正后,学习率都有个确定的范围,是的参数较为平稳。
L1损失函数不可导怎么办:
当损失函数不可导,梯度下降不再有效,可以使用坐标轴下降法,梯度下降是沿着当前点的负梯度方向进行参数更新,而坐标轴下降法是沿着坐标轴的方向。
假设有m个特征个数,坐标轴下降法进参数更新的时候,先固定m-1个值,然后再求另外一个的局部最优解,从而避免损失函数不可导问题。
Sift特征提取和匹配的具体步骤:
A.生成高斯差分金字塔,
B.尺度空间构建,
C.空间极值点检测,
D.稳定关键点的精确定位,
E.稳定关键点方向信息分配,
F.关键点描述,特征点匹配
PCA原理:高维空间投影到低维空间,通