参考文章
- 学习路线
零.算法概念
- 监督学习:需要用已知结果的数据做训练
- 无监督学习:不需要已知标签
- 连续型数据和离散型数据
1.算法分类
1. 监督学习的用途
分类
- k-邻近算法
- 朴素贝叶斯算法
- 支持向量机
- 决策树
回归
2. 无监督学习的用途
- 聚类和降维
- K-均值
- DBSCAN
- 最大期望算法
- Parzcn窗设计
3. 特殊算法
- 推荐算法
4. 一些小方法(子算法)
- 梯度下降法:主要运用在线性回归,逻辑回归,神经网络,推荐算法中
- 牛顿法:主要运用在线性回归
- BP算法:主要运用在神经网络
- SMO算法:主要运用在SVM中
2.如何选择合适的算法
必须要考虑下面两个问题
- 使用算法的目的,想要算法完成何种任务
- 需要分析或收集的数据是什么 #### 基于目的考虑
- 想要预测目标的值,则选择监督学习算法,然后进一步确认目标变量的类型
- 离散型变量: 选择分类算法
- 连续型变量: 选择回归算法
- 否则选择无监督学习算法,随后进一步分析是否需要将数据分离为离散的组
- 不需要: 聚类算法
- 需要: 密度估计算法
基于数据考虑
- 特征值的类型
- 特征值是否缺失
- 数据是否存在异常值
- 特征发生的频率是否罕见
天下没有免费的午餐
- 没有哪个算法能在所有问题中都表现得最优秀,因此我们只能在一定程度上缩小算法的选择范围,尝试不同算法的执行效率,不断试错,优化算法。
3.基本算法优缺点
算法 | 优点 | 缺点 | 数据类型 | 优化方法 | 应用领域 |
---|---|---|---|---|---|
K-邻近算法 | 精度高、对异常值不敏感、无数据输入假定 | 计算复杂度高、空间复杂度高,占用存储空间 | 数值型和标称型 | 文本分类、模式识别、聚类分析,多分类领域 | |
决策树算法 | 1.能实现对未知数据进行高效分类 2.有较好的可读性和描述性,利于辅助人工分析 3.分类效率高,一次构建后可反复使用 | 1.难以处理连续的特征 2. 容易发生过拟合(随机森林可以很大程度上减少过拟合) 3.对于多分类问题,计算量和准确率都不理想 | 数值型和标称型 | 1、对决策树进行剪枝 2、使用基于决策树的combination算法来解决过拟合的问题 | 企业管理实践,企业投资决策,由于决策树很好的分析能力,在决策过程应用较多。 |
朴素贝叶斯 | 1.朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。 2.对小规模的数据表现很好,能个处理多分类任务,适合增量式训练; 3.对缺失数据不太敏感,算法也比较简单,常用于文本分类。 | 1.需要计算先验概率 2.分类决策存在错误率 3.对输入数据的表达形式很敏感 | 标称型数据 | 文本分类、欺诈检测中使用较多 | |
人工神经网络 | 1、分类准确度高,学习能力极强。 2、对噪声数据鲁棒性和容错性较强。 3、有联想能力,能逼近任意非线性关系。 | 1、神经网络参数较多,权值和阈值 2、黑盒过程,不能观察中间结果 3、学习过程比较长,有可能陷入局部极小值。 | 应用与计算机视觉,自然语言处理,语音识别等领域并取得很好的效果 |
3.适用框架
Input(x) | Output (y) | Application | 框架 |
---|---|---|---|
Home features | Price | Real Estate | standard NN |
Ad,usr info | click on ad?(0/1) | Online Advertising | standard NN |
Image | Object(1,...,1000)(给照片打标签 | Photo tagging | CNN |
Audio | Text transcript(输出文本) | Speech recognition | RNN |
English | Chinese | Machine translation | RNNs |
Image,Radar info | Position of other cars | Autonomous driving | custom Hybrid |