算法工程师大致是做什么的
另一个区分算法与非算法工作的重要特征是一般涉及数学知识较多的编程工作更偏向算法。比如对于面向优化的编程工作,为了很好地衡量可量化的目标,其数学定义往往比较明确,相应引入的数学知识会比较多。
机器学习算法还可以根据优化目的的不同进行进一步的细分。如果训练数据带有标签,优化目标是降低预测标签的误差则是最常见的有监督学习。如果训练数据不带标签,则是无监督学习。而如果此时又非要预测对应的标签,则有降维和聚类两种算法。如果仅仅是为了拟合训练数据的分布,生成式算法。
最优化算法的种类也比较多,以自变量是否连续可分为连续最优化和组合优化。很多计算复杂度优化算法可以看做一种广义的组合优化问题。机器学习算法一般是连续最优化问题。不同算法思路的相互组合
这里主要从面向优化的角度上串讲了以下12种思维方式不同的算法:加密算法、计算复杂度优化算法、最优化算法、有监督学习、无监督学习降维、聚类、生成、强化学习、博弈论、多智能体强化学习、生成对抗网络、模型压缩算法等。
因为是科普向,很多细节没展开,特别是机器学习算法和优化计算复杂度算法的各个流派没有探讨。
我们将在接下来的文章中进行更加详细的介绍。