机器学习
机器学习
全列插入:
insert into 表名 values( ‘数据1’, ‘数据2’, ‘数据3’……)
部分插入:
insert into 表名 (字段1,字段2 ……)values( ‘数据1’, ‘数据2’, ……),( ‘数据1’, ‘数据2’, ……)
算法的五大特性:输入、输出、有穷性、确定性、可行性
电信日志分析:
描述:
项目架构分析:
项目优化:HDFS+SPARK一站式分析平台
机器学习模型=数据+算法
统计学习=模型+策略+算法
模型:规律 y=ax+b
损失函数=误差函数=目标函数
算法:如何高效找到最优参数
决策函数 或 条件概率分布
半监督学习:一部分有类别标签,一部分没有类别标签
主动学习:依赖于人工打标签
聚类的假设:将有标记的样本和无标记的样本混合在一起,通过特征间的相似性,将样本分成若干个组或若干个簇;使得组内的相似性较大,组间的相异性较大,将样本点都进行分组,;此时分组点的样本点即包含了有类别标签的也包含了没有类别标签的,根据有类别标签的样本,按照少数服从多数的原则对没有加标记的样本添加标记。至此,所有未标记的数据都可以加以分配标记。
半监督学习转化为监督学习。
强化学习:解决连续决策问题。
为其可以是一个强化学习问题,需要学习在各种局势下如何走出最好的招法
迁移学习:小数据集:两个相关领域(解决数据适应性问题)
个性化
深度+强化+迁移
监督学习:分类问题、回归
分类:决策树、KNN、贝叶斯、SVM、LR
回归:线性回归、多元回归LASSO回归、RIDGE回归、Elastic回归
无监督学习(非监督学习):
1、聚类(Kmeans)在没有类别标签的情况下,根据特征相似性或相异性进行分类;
2、特征降维(PCA. LDA):根据算法将高维特征降低到了低维
机器学习个概念的理解:
数据集:
定义数据集的名称
行:样本或实例
列:特征或属性,最后一列(类别标签列,结果列)
特征、属性空间:有特征维数所张成的空间
>>特征向量:组成特征火属性空间中的样本点
>>特征值或属性值:组成特征向量中的值
基于规则的学习:它是一种硬编码方式
X 自变量 定义域 特征
Y因变量 值域 结果
fx----f(对应关系)----->y(函数、映射、模型)
基于模型的学习:y=kx+b 寻求k和b的最佳值
通过数据构建机器学习模型,通过模型进行预测;
机器学习学的是模型中的k和
GPU图形图像处理器(处理速度是CPU的10倍以上)
机器学习==CPU+GPU+数据+算法
机器学习:致力于研究如何通过计算(CPU和GPU计算)的手段,利用经验来改善(计算机)系统自身的性能
是人工智能的核心
从数据中产生或发现规律
数据+机器学习算法=机器学习模型
有了学习算法我们就可以把经验数据提供给他,他就能基于这些数据产生模型
如何判断问题是否为机器学习问题?
预测性的
数据:观测值、感知值,测量值
信息:可信的数据
数据分析:对数据到信息的整理、筛选和加工的过程。
数据挖掘:对信息进行价值化的分析
用机器学习的方法进行数据挖掘。机器学习是一种方法,数据挖掘是一件事情;
人工智能包括机器学习,机器学习包括深度学习
机器学习是人工智能落地的一个工具。
机器学习是人工智能的一个分支
深度学习是机器学习的一种方法,为了解决机器学习领域中图像识别等问题而提出的
数据分层:
数据采集层、数据存储层、数据分析层、数据展示
数据采集层
用户访问日志数据,数据格式:地区吗|用户ip|目的ip|流量……;数据采集方式:采用fatp方式长传服务器;上传时间:每小时上传上一小时的数据;小文件合并:通过shell完成文件合并;监控文件:JNotify
用户的安全日志数据:
当用户触犯电信部门制定的只读、违反国家法律法规
数据采集方式用:Socket---C++完成数据采集,先缓存到内存再到磁盘;
数据格式:加密码:加密形式 abc:79217979web
网卡配置:千兆或万超网卡配置
数据存储层:HDFS分布式文件系统
数据分析层:用Mapreduce、Impala\Spark
1、完成数据清洗(缺失字段处理、异常值处理等
2、使用MR和Redis进行交互完成地区码201和地区名字的转换
3、使用MR处理好的数据进一步加载到Hive中做处理
4、试用MR将数据入库到HBASE完成固定条件查询
5、给到Spark中实时查询
机器学习层:
机器学习位于大数据上层,完成的是在大数据的数据存储和数据计算之上,通过数据结合机器学习算法建构机器学习模型,利用模型对现实时间做出预测
数据展示:Oracle+SSM
大数据的4V特征:
支持向量机的分类方法,是在这组分布中找出一个超平面作为决策边界,使模型在数据上的 分类误差尽量接近于小,尤其是在未知数据集上的分类误差(泛化误差)尽量小。
决策边界一侧的所有点在分类为属于一个类,而另一侧的所有点分类属于另一个类。如果我们能够找出决策边界, 分类问题就可以变成探讨每个样本对于决策边界而言的相对位置。比如上面的数据分布,我们很容易就可以在方块 和圆的中间画出一条线,并让所有落在直线左边的样本被分类为方块,在直线右边的样本被分类为圆。如果把数据 当作我们的训练集,只要直线的一边只有一种类型的数据,就没有分类错误,我们的训练误差就会为0。
但是,对于一个数据集来说,让训练误差为0的决策边界可以有无数条。
支持向量机(SVM,也称为支持向量网络),是机器学习中获得关注最多的算法没有之一。它源于统计学习理论, 是我们除了集成算法之外,接触的第一个强学习器。它有多强呢?
从实际应用来看,SVM在各种实际问题中都表现非常优秀。它在手写识别数字和人脸识别中应用广泛,在文本和超 文本的分类中举足轻重,因为SVM可以大量减少标准归纳(standard inductive)和转换设置(transductive settings)中对标记训练实例的需求。同时,SVM也被用来执行图像的分类,并用于图像分割系统。。除此之外,生物学和许多其他科学都是SVM的青睐者,SVM现在已经广泛被用于蛋白质分类,现 在化合物分类的业界平均水平可以达到90%以上的准确率。在生物科学的尖端研究中,人们还使用支持向量机来识 别用于模型预测的各种特征,以找出各种基因表现结果的影响因素。
从学术的角度来看,SVM是最接近深度学习的机器学习算法。线性SVM可以看成是神经网络的单个神经元(虽然损 失函数与神经网络不同),非线性的SVM则与两层的神经网络相当,非线性的SVM中如果添加多个核函数,则可以 模仿多层的神经网络。
高效嵌入法embedded
业务选择
说到降维和特征选择,首先要想到的是利用自己的业务能力进行选择,肉眼可见明显和标签有关的特征就是需要留 下的。当然,如果我们并不了解业务,或者有成千上万的特征,那我们也可以使用算法来帮助我们。或者,可以让 算法先帮助我们筛选过一遍特征,然后在少量的特征中,我们再根据业务常识来选择更少量的特征。
PCA和SVD一般不用
逻辑回归是由线性回归演变而来,线性回归的一个核心目的是通过求解参数来探究特征X与标签y之间的 关系,而逻辑回归也传承了这个性质,我们常常希望通过逻辑回归的结果,来判断什么样的特征与分类结果相关, 因此我们希望保留特征的原貌。PCA和SVD的降维结果是不可解释的,因此一旦降维后,我们就无法解释特征和标 签之间的关系了。当然,在不需要探究特征与标签之间关系的线性数据上,降维算法PCA和SVD也是可以使用的。
统计方法可以使用,但不是非常必要
逻辑回归对数据的要求低于线性回归,由于我们不是使用最小二乘法来求解,所以逻辑回归对数据的总体分布和方差没有要求,也不需要排除特征之间的共线性,但如果我 们确实希望使用一些统计方法,比如方差,卡方,互信息等方法来做特征选择,也并没有问题。过滤法中所有的方法,都可以用在逻辑回归上。
重要参数penatly&C
1、正则化
L1正则化和L2正则化虽然都可以控制过拟合,但它们的效果并不相同。当正则化强度逐渐增大(即C逐渐变小), 参数的取值会逐渐变小,但L1正则化会将参数压缩为0,L2正则化只会让参数尽量小,不会取到0。
在L1正则化在逐渐加强的过程中,携带信息量小的、对模型贡献不大的特征的参数,会比携带大量信息的、对模型 有巨大贡献的特征的参数更快地变成0,所以L1正则化本质是一个特征选择的过程,掌管了参数的“稀疏性”。L1正 则化越强,参数向量中就越多的参数为0,参数就越稀疏,选出来的特征就越少,以此来防止过拟合。
相对的,L2正则化在加强的过程中,会尽量让每个特征对模型都有一些小的贡献,但携带信息少,对模型贡献不大 的特征的参数会非常接近于0。通常来说,如果我们的主要目的只是为了防止过拟合,选择L2正则化就足够了。但 是如果选择L2正则化后还是过拟合,模型在未知数据集上的效果表现很差,就可以考虑L1正则化。