机器学习(1)

机器学习笔记(1)
机器学习的方法:
以历史数据为训练资料,从中学习并建立模型,将此模型运用到数据上,推测未来的结果。
训练数据由自变量X与因变量Y组成
——Y是连续值,称为回归
——X是分类值,称为分类

时间序列,复杂网络

分类模型的评估方法:
当为排序类(Y-主观体现权衡)用:逻辑回归
当为决策类(Y-客观强调精确):贝叶斯网络,KNN,SVM
决策树,神经网络,组合算法两者都可以
召回率:A/(A+B)
命中率:A/(A+C)
图像可以有效体现模型的能力

Python
输入公式:print("")
用引号引起来的字符集称之为字符串:“my Pthon”,‘hello’

s=‘Python’
print(‘PY’ in s) true
print(s[2]) t
print(s[1:4]) yth
空格:+ ’ ’ +

string-字符串
number-数值类型,包括整数与浮点数
bool-布尔值
time/datatime-日期时间
None-空值
complex-负数

import math
print(math.log(math.e) 1.0
日期时间可以看做是代格式的数值类型:
Python程序能用很多方式处理日期和时间
Python提供了一个time和datetime模块用于格式化日期和时间
令output输出deltaDay的值:
deltaDay.days

类型判断:使用type()可判断对象类型,函数,类,各种数据类型的变量在python中都是对象,可以用type()判断
转换:str(100),float(100),int(‘100’)

表达式:一系列运算符和操作数组成的,用于处理数据的计算结构
成员运算:print(s,str),s in str

列表(list)
正序的时候索引从0开始,含左不含右,倒序从一开始
切片:从索引0到3提取list的元素
切片:从索引0到3提list的元素,步长为2

元组/序列(tuple)
元组不可变
studentsTuple=(“a”,“v”,“c”)
studentsTuple

集合的格式为:set()

列表,元组,集合,字典的相互转换:
利用zip方法将列表元组集合缝合起来,转化为字典

python的控制流结构:
1.顺承结构
2.分支结构
3.循环结构

循环中的字符:
break:跳出整个循环结构
continue:跳出当前循环,执行下一个循环
pass:占位符,什么都不做

python函数:函数是用来封装特定功能的实体,可对不同类型和结构的数据进行操作,达到预定目标

定义函数【def】
def函数名():
函数内容
函数内容
<return 返回值>

高级函数:把一个函数代入一个新函数
mylist=[-1,-2,-3,4,5,6,7]
map(abs,mylist)
for i in map(abs,mylist):
print(i)

numpy:数组,向量,矩阵,数值运算

scipy:统计推断,统计检验

pandas:数据读取,数据整合,数据清洗整理

statsmodel:统计建模,模型验证

scikit-learn:数据清洗,机器学习建模,交叉验证

nltk:自然语言处理

泛化能力:学得模型适用于新样本的能力
D:独立同分布
训练数据集:
编号 色泽 根蒂 敲声 好瓜
1 青绿 蜷缩 浊响
2 乌黑 蜷缩 浊响
3 青绿 硬挺 清脆
4 乌黑 稍蜷 沉闷

版本空间:与训练集一致的假设集合
算法:一个具体的学习算法必须要产生一个模型
归纳偏好:机器学习算法在学习过程中对某种类型假设的偏好(若多个假设与观察一致,偏好最简单那个),决定算法是否高效

可能的假设数:在不考虑沉余的情况下,最多包含k个合取式来表达假设空间,显然k的最大值是49,每次从中选出k个来组成析合式,共ΣCk49=2的49次方种可能

机器学习在互联网搜索的哪些环节起什么作用
1.最常见的,消息推送,比如某东经常说某些商品我可能会感兴趣,然而并没有。
2.网站相关度排行,通过点击量,网页内容进行综合分析。
3.图片搜索,现在大部分还是通过标签来搜索,不过基于像素的搜索也总会有的吧。

解决问题:四维神经算法

神经网络中无论在隐层,输出层必须有非线性激活函数,如果单用w^T x作为激活函数,那么神经网络会退化为线性回归

激活函数:非线性可导函数都可以用作激活函数

学习率:如果学习率取值太低则每次下降的很慢,使得迭代次数极多。学习率取值太高后面迭代时会出现震荡,在最小值附近波动,都对神经网络训练不好。

若存在 ε>0 使得
有 E( w,o) 大于等于 E(w*;O*) 成立?则 (ω*; 0*) 为局部极小解;若对参数空间中的
任意 (ω 0) 都有 E(w; 0) 大于等于E(w*;O*) ,则 (ω*; 0*) 为全局最小解.

W就是权,权重的值实际上就是层与层之间的连线,在看矩阵权重时,W的每一行代表着对右输出值的一次线性组合,,对应L层的一个神经元。有多少行,这层就有几个神经元,有多少列,上层就有多少个神经元

BP算法是一种更新权重的方法

支持向量机(SVM,又称大间距分类器)目标:找到使决策界和训练样本之间最大化最小距离的线
Maximal margin classifier:用margin最大值(最右边的红球和最左边的绿球)为标准确定阈值的方法。这种方法对异常值(红绿球交叉分布的情况)过于敏感导致分类不准确。
support vector classifier:选取另外的一对红绿球来确定阈值,允许有分类错误。

监督学习(生成/鉴别学习、参数/非参数学习、神经网络、支持向量机);无监督学习(聚类、降维、核方法);学习理论(偏差/方差权衡;VC理论;大幅度利润);强化学习和自适应控制

组合方法:预测能力最强,该方法不求做出一个大而且准的模型。而是通过反复自抽样,构造不同的分类模型,每个模型可以是决策树或神经网络等等。每个预测样本打分为所有模型预测的均值或者众数

核函数:
手动选取点,然后定义特征向量,写数学表达式
高斯核函数f1=similarity(x,l(i))

好用的软件库:liblinear,libsvm
特性(N)相对于 训练样本(M)足够大的时候,我们通常做的就是使用逻辑回归
数据,熟练,误差,分析排除学习,算法,指出如何设计新的特征变量

无监督学习没有标签
聚类算法:给一组没有划分标签的数据划分为有亲密关系的子集或是簇
簇分配就是在最小化代价函数J

K均值算法容易导致局部最优解,所以要多次随机初始化,选取畸变函数J最小的

肘部法则:选择聚类数量

降维和度量学习

主成分分析方法(PCA):降到几维则找几个不同方向的向量,本质就是找到一个低维的平面,对数据进行投影,最小化投影误差的平方,以及最小化每个点与投影后对应点距离的平方值

异常检测问题

k近邻学习:找出训练集中与测试样本最近的k个训练样本,用这K个训练样本进行预测。

第10章 降维与度量学习
懒惰学习在训练阶段只把样本保存起来,训练时间开销为零,待收到测试样本后再进行处理,如k近邻学习(kNN).急切学习则在训练阶段就对样本进行学习处理.
若任意测试样本x附近任意小的δ距离范围内总能找到一个训练样本,即训练样本的采样密度足够大,或称为密采样,则最近邻分类器(1NN)的泛化错误率不超过贝叶斯最优分类器的错误率的两倍.
在高维情形下出现的数据样本稀疏,距离计算困难等问题称为"维数灾难".处理高维数据的两大主流技术是降维和特征选择.
降维亦称维数约简,即通过某种数学变换将原始高维属性空间转变为一个低维子空间.能进行降维的原因是与学习任务密切相关的或许仅仅是数据样本的某个低维分布,而不是原始高维空间的样本点.
多维缩放是一种经典的降维方法.它使原始空间中样本之间的距离在低维空间中得以保持.
主成分分析(PCA)是最常用的一种降维方法.如果要用一个超平面对所有样本进行恰当的表达,这个超平面应该具有最近重构性和最大可分性两种性质.基于这两种性质可以得到主成分分析的等价推导.PCA可以使样本的采样密度增大,同时在一定程度上起到去噪的效果.
线性降维方法有可能丢失低维结构,因此要引入非线性降维.一种常用方法是基于核技巧对线性降维方法进行核化.如核主成分分析(KPCA).
流形学习(manifold learning)是一类借鉴了拓扑流形概念的降维方法.流形在局部具有欧氏空间性质.将低维流形嵌入到高维空间中,可以容易地在局部建立降维映射关系,再设法将局部映射关系推广到全局.常用的流形学习方法有等度量映射和局部线性嵌入等.
对高维数据进行降维的主要目的是找到一个合适的低维空间.事实上,每个空间对应了在样本属性上定义的一个距离度量,度量学习直接尝试学习出一个合适的距离度量.常用方法有近邻成分分析(NCA).
回到顶部
第11章 特征选择与稀疏学习
对当前学习任务有用的属性称为相关特征,没什么用的属性称为无关特征.从给定特征集合中选择出相关特征子集的过程称为特征选择.特征选择是一个重要的数据预处理过程.
冗余特征是指包含的信息可以从其他特征中推演出来的特征.冗余特征在很多时候不起作用,但若某个冗余特征恰好对应了完成学习任务所需的中间概念,则该冗余特征反而是有益的.
子集搜索:可以采用逐渐增加相关特征的前向搜索,每次在候选子集中加入一个特征,选取最优候选子集.也可以采用每次去掉一个无关特征的后向搜索.这些策略是贪心的,但是避免了穷举搜索产生的计算问题.
子集评价:特征子集A确定了对数据集D的一个划分,样本标记信息Y对应着对D的真实划分,通过估算这两个划分的差异就能对A进行评价.可采用信息熵等方法.
过滤式选择先对数据集进行特征选择,然后再训练学习器,特征选择过程与后续学习器无关.Relief(Relevant Features)是一种著名的过滤式选择方法.该方法设计了一个相关统计量来度量特征的重要性.
包裹式选择直接把最终将要使用的学习器的性能作为特征子集的评价标准.因此产生的最终学习器的性能较好,但训练时的计算开销也更大.LVW(Las Vegas Wrapper)是一个典型的包裹式特征选择方法,它在拉斯维加斯方法框架下使用随机策略来进行子集搜索,并以最终分类器的误差为特征子集评价准则.
嵌入式选择是将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成.例如正则化.
L1正则化(Lasso)是指权值向量w中各个元素的绝对值之和.L1正则化趋向选择少量的特征,使其他特征尽可能为0,可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于特征选择.L1正则化是L0正则化的最优凸近似.
L2正则化(Ridge)是指权值向量w中各个元素的平方和然后再求平方根.L2正则化趋向选择更多的特征,让这些特征尽可能接近0,可以防止模型过拟合(L1也可以).
字典学习也叫稀疏编码,指的是为普通稠密表达的样本找到合适的字典,将样本转化为合适的稀疏表达形式,从而使学习任务得以简化,模型复杂度得以降低的过程.
压缩感知关注的是利用信号本身的稀疏性,从部分观测样本中恢复原信号.分为感知测量和重构恢复两个阶段,其中重构恢复比较重要.可利用矩阵补全等方法来解决推荐系统之类的协同过滤(collaborative filtering)任务.
 
由于第一次阅读,12章开始的内容仅作概念性了解.
回到顶部
第12章 计算学习理论
计算学习理论研究的是关于通过计算来进行学习的理论,目的是分析学习任务的困难本质,为学习算法提供理论保证,并提供分析结果指导算法设计.
计算学习理论中最基本的是概率近似正确(Probably Approximately Correct,PCA)学习理论.由此可以得到PAC辨识,PAC可学习,PAC学习算法,样本复杂度等概念.
有限假设空间的可分情形都是PAC可学习的.对于不可分情形,可以得到不可知PAC可学习的概念,即在假设空间的所有假设中找到最好的一个.
对二分类问题来说,假设空间中的假设对数据集中示例赋予标记的每种可能结果称为对数据集的一种对分.若假设空间能实现数据集上的所有对分,则称数据集能被假设空间打散.假设空间的VC维是能被假设空间打散的最大数据集的大小.
算法的稳定性考察的是算法在输入发生变化时,输出是否会随之发生较大的变化.
恒有f(X1+X2/2)<=f(X1)+f(X2)/2,则称其为定义域上的凹函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值