python机器学习算法简介
机器学习目的
- 描述式分析的目的是了解过去
- 探索性分析的目的是预知未来
机器学习本质
模式识别:寻找特征和标签(结果)之间的关系
算法本质都是数学函数,机器学习的过程就是给函数找参数(特征)和调整参数值,以让函数曲线尽量拟合数据的过程。
与传统数学、计算机算法有何不同?
- 确定性算法
- 追求绝对正确
- 代价是应用范围窄
- 数学公式
- 传统计算机科学算法
- 概率性算法
- 不那么精确,却是比没有算法要可靠
- 好处是应用范围广
- 机器学习不探究事物的本质,不追求精确模型,只用基本的模型算法,直接以数据驱动预测
机器学习算法分类
-
监督学习:有标签(预测结果)
- 分类
- 对离散型变量预测的监督学习算法,定性输出
- 邮件过滤,金融欺诈
- 回归
- 对数值型连续变量进行预测的监督学习算法,定量输出
- 房价预测,股票走势等连续变化案例
- 分类
-
无监督学习无标签(预测结果)
- 聚类
- 数据没有标注,基于数据内部结构寻找样本的自然集群
- 新闻聚类,文章推荐
- 降维
- 数据信息丢失最少的原则下,降低特征维度,方便理解和计算
- 聚类
-
半监督学习(少部分有标签,大部分没有标签)
-
强化学习(增强学习)
- AlphaGo
-
深度学习
- 多层神经网络
- 语音,图像识别
监督学习包含算法:
- 线性回归
- 岭回归:目标函数为平方损失函数+L2正则
- Lasso回归:目标函数为平方损失函数+L1正则
- 逻辑回归(仅含有一层神经元的单层的神经网络)
- 神经网络(多层神经网络叫做深度学习)
- Knn
- 决策树
- 朴素贝叶斯
- 支持向量机(svm)
无监督学习包含算法:
- 聚类:K-Means
- 降维:主成分 分析PCA
集成算法:
- Bagging
- 随机森林
- Boosting
- Adaboost
- Gradient Boosting
- 其他实现
- XGboost
- GBDT
- Stacking