机器学习,深度学习相关介绍
最近看了周志华老师的书,主要内容如下,涉及到很多机器学习的知识点:
by [2017.12.29 更新 denny shenzhen 59888745@qq.com]
1.线性模型:
- 线性回归;多元线性回归;广义线性回归;
- 二分类问题,
3.在样本空间找一个超平面,将不同类别的样本分开;
2.决策树:CSL,ID3,C4.5算法
ID3中根据属性值分割数据,之后该特征不会再起作用,这种快速切割的方式会影响算法的准确率.
C4.5还弥补了ID3中不能处理特征属性值连续的问题
CART(Classification and Regression tree)分类回归树是一棵二叉树,采用二元切分法,每次把数据切成两份,分别进入左子树、右子树.
CART:回归任务的决策树.
GB、GBDT、xgboost 的关系
GB:Gradient boosting:机器学习中的学习算法的目标是为了优化或者说最小化loss Function,Gradient boosting的思想是迭代生多个(M个)弱的模型,然后将每个弱模型的预测结果相加
GBDT:Gradient boosting Decision Tree(GBDT),GB算法中最典型的基学习器是决策树,尤其是CART,正如名字的含义,GBDT是GB和DT的结合
xgboost :Xgboost是GB算法的高效实现,xgboost中的基学习器除了可以是CART(gbtree)也可以是线性分类器(gblinear)。
RF:随即森林
策略:分而治之,自根至叶的递归过程;在每一个中间结点寻找一个划分;
信息熵:
信息增益:求特增的信息增益,再用信息增益最大的特征来划分属性;
剪枝方法(训练样本时,有可能造成分支过多,主动去掉一些分支):是决策树对付过拟合的主要手段
3. 神经网络:
神经元模型:
激活函数:sigmoid
多层网络:包含隐含的网络
BP算法:
BP算法:误差逆传播算法:是一个迭代学习算法,在迭代的每一轮中采用广义感知机;基于梯度下降策略;
标准BP算法,累积BP算法;
缓解过拟合的策略:
早停:若训练误差连续n轮的变化小于b,则停止训练;若训练误差降低,验证误差升高,则停止训练;
正则化:在误差目标函数中增加一项描述网络复杂度;
全局最小,局部最小:
神经网络的训练过程可以看作是一个参数寻优的过程;在参数空间中,寻找一组最优参数使得误差最小;
跳出局部最小的常见策略:
不同的初始参数;
随机扰动;
遗传算法;
其他常见神经网络:
RBF劲向基函数:分类任务中出bp之外最常用
ART:‘竞争学习’的代表
SOM自组织特征映射:最常用的聚类方法
etc
最常用的深度学习模型:卷积神经网络CNN
深度学习常用软件包:caffe,matconvnet,torch
3.支持向量机svm
对偶问题:拉格朗日函数
解的稀疏性:
核函数kernel function:的选择成为支持向量机性能的关键;
e不敏感损失函数;
4.贝叶斯分类器
贝叶斯定理
先验概力,后验概力
极大力拟然估算
EM算法:是估算隐变量的利器;
5.集成学习
通过构建并结合多个学习器来完成学习任务。
同质集成:集成中包含同类型学习器
异质集成:个体学习器由不同的学习算法生成
集成学习方法:
序列化方法:adaboost,gradientboost,lpboost
并行化方法:bagging
6.聚类:
将样本数据划分为多个族;
原型据类:kmeans
1.随机选取k个点作为族中心
2.将其他样本点根据与族中心的距离,划分给最近的族;
3.根新各族的均值向量,将其作为族中心;
4.若所有族中心没有发生变化,则停止,否则执行2
密度据类:dbscan
层次据类:agnes
-----------------------------
1.用递归的视角来看决策树,根据特征选择分支条件,不断的生成子树,所有的子数组成了最后的决策树。为了防止过拟合,限制模型的复杂度,通常都会通过剪枝(Pruning)来正则化决策树
例如下面根据回家时间、约会情况
2.熵是随机变量不确定性的度量,不确定性越大,熵值就越大.
3.正则化概述(Regularization):理解为在最小化loss function 的同时,保证模型的复杂度尽可能的低,防止出现过拟合(overfitting)。 它一方面可用于控制模型的复杂度,提高模型的范化能力;另一方面还可以用于约束模型的特性,例如稀疏、平滑特性等
4.机器学习技法-AdaBoost元算法:通过组合多个弱分类器(hypothese),构建一个更强大的分类器(hypothese),从而达到“三个臭皮匠赛过诸葛亮”的效果
5.CART相比AdaBoost的效率会高一些,因为前者是“有条件的切”,后者是完全的“横、竖”。
6.随机森林(RF):通过Bagging的方式将许多个CART组合在一起,不考虑计算代价,通常树越多越好.
7.熵是随机变量不确定性的度量,不确定性越大,熵值就越大。
机器学习性能评估指标
分类: 准确里accuracy, 精确里precison, 召回里recall ROC AUC
回归: 平均绝对误差MAE(Mean Absolute Error)又被称为 l 1 范数损失(l1-norm loss), 平均平方误差 MSE(Mean Squared Error)又被称为 l 2 范数损失(l2-norm loss).
ROC 曲线可以用于评价一个分类器好坏 在逻辑回归里面,我们会设一个阈值,大于这个值的为正类,小于这个值为负类。如果我们减小这个阀值,那么更多的样本会被识别为正类。这会提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了形象化这一变化,在此引入 ROC TPR 代表能将正例分对的概率,FPR 代表将负例错分为正例的概率.
AUC:定义为ROC曲线下的面积
------------------------------------------------
|
优点/场合 |
缺点 |
朴素贝叶斯 |
对小规模的数据表现很好,适合多分类任务,适合增量式训练 |
对输入数据的表达形式很敏感 |
决策树 是选择一个属性进行分枝 |
计算量简单,可解释性强,比较适合处理有缺失属性值的样本,能够处理不相关的特征 |
容易过拟合(后续出现了随机森林,减小了过拟合现象); |
logsitc回归 是用最大似然估计来学习的用于分类 |
分类时计算量非常小,速度很快,存储资源低 |
容易欠拟合,一般准确度不太高, 只能处理两分类问题 |
线性回归 用于回归 |
实现简单,计算简单 |
不能拟合非线性数据 |
KNN |
可以用来做分类也可以用来做回归, 准确度高,对数据没有假设 |
计算量大, 需要大量的内存 |
参考大神 陈天奇的blog:http://homes.cs.washington.edu/~tqchen
http://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf
学习资料:
1. 特征工程技术和方法概括总结:http://blog.csdn.net/jasonding1354/article/details/47171115
2. 干货:结合Scikit-learn介绍几种常用的特征选择方法:http://dataunion.org/14072.html
3. 参考资料2的英文原版:http://machinelearningmastery.com/discover-feature-engineering-how-to-engineer-features-and-how-to-get-good-at-it/
4. 机器学习之特征工程:http://www.csuldw.com/2015/10/24/2015-10-24%20feature%20engineering/
5. 特征提取与特征选择: http://lanbing510.info/2014/10/22/Feature-Extraction-Selection.html
6. PCA与LDA:http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html
7。http://www.cnblogs.com/wxquare/p/5484636.html ml 学习笔记
8。https://class.coursera.org/ntumltwo-002/lecture
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2009-12-29 .net多语言