机器学习基础算法笔记

3 篇文章 0 订阅
3 篇文章 0 订阅

摘要
机器学习是入门AI的必经之路里面有众多的基础算法如线性回归,决策树等等的算法,机器学习可以分为监督式学习(Supervised learning)以及非监督学习(Unsupervised Learning ),目前最广泛被使用的分类器有人工神经网络、支持向量机、最近邻居法、高斯混合模型、朴素贝叶斯方法、决策树和径向基函数分类,无监督学习里典型的例子就是聚类了。聚类的目的在于把相似的东西聚在一起,而我们并不关心这一类是什么。因此,一个聚类算法通常只需要知道如何计算相似度就可以开始工作了。泛化能力(generalization ability)是指机器学习算法对新鲜样本的适应能力。 [1] 学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。过拟合(overfitting)是指机器学习在训练的过程中将不必要的杂讯,给定一个假设空间H,一个假设h属于H,如果存在其他的假设h’属于H,使得在训练样例上h的错误率比h’小,但在整个实例分布上h’比h的错误率小,那么就说假设h过度拟合训练数据。欠拟合(Under fitting)是指无法获取训练数据中的存在的关系,以上两种情形的解决方法可以参考这些:

  • 重新清洗数据
  • 增大数据的训练量
  • 采用正则化方法
  • 采用dropout方法

绪论
接下来我们来看看在机器学习里面的一些算法
1.线性回归
是利用称为线性回归方程式的最小平方函数对一个或多个自变数和应变数之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变数的情况称为简单回归,大于一个自变数情况的叫做多元回归。

在线性回归中,数据使用线性预测函数来建模,并且未知的模型参数也是通过数据来估计。这些模型被叫做线性模型。最常用的线性回归建模是给定X值的y的条件均值是X的仿射函数。不太一般的情况,线性回归模型可以是一个中位数或一些其他的给定X的条件下y的条件分布的分位数作为X的线性函数表示。像所有形式的回归分析一样,线性回归也把焦点放在给定X值的y的条件机率分布,而不是X和y的联合机率分布(多元分析领域)。

线性回归是回归分析中第一种经过严格研究并在实际应用中广泛使用的类型。这是因为线性依赖于其未知参数的模型比非线性依赖于其未知参数的模型更容易拟合,而且产生的估计的统计特性也更容易确定。

线性回归有很多实际用途。分为以下两大类:
如果目标是预测或者映射,线性回归可以用来对观测数据集的和X的值拟合出一个预测模型。当完成这样一个模型以后,对于一个新增的X值,在没有给定与它相配对的y的情况下,可以用这个拟合过的模型预测出一个y值。

给定一个变数y和一些变数,这些变数有可能与y相关X1…Xp,线性回归分析可以用来量化y与Xj之间相关性的强度,评估出与y不相关的Xj,并识别出哪些Xj的子集包含了关于y的冗余信息。

线性回归模型经常用最小平方逼近来拟合,但他们也可能用别的方法来拟合,比如用最小化「拟合缺陷」在一些其他规范里(比如最小绝对误差回归),或者在桥回归中最小化最小平方损失函数的惩罚。相反,最小平方逼近可以用来拟合那些非线性的模型。因此,尽管「最小平方法」和「线性模型」是紧密相连的,但他们是不能划等号的。
损失函数 \left| y_i-f(x_i) \right| ,一般是针对单个样本 i

代价函数在这里插入图片描述 , 一般是针对总体
目标函数在这里插入图片描述+ 正则化项
简单来说Loss Function 是定义在单个样本上的,算的是一个样本的误差。Cost Function 是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。Object Function(目标函数 )定义为:Cost Function + 正则化项。
2.优化方法
2.1. 梯度下降法
梯度下降法(英語:Gradient descent)是一個一階最佳化算法,通常也稱為最速下降法。 要使用梯度下降法找到一個函數的局部極小值,必須向函數上當前點對應梯度(或者是近似梯度)的反方向的規定步長距離點進行疊代搜索。如果相反地向梯度正方向疊代進行搜索,則會接近函數的局部極大值點;這個過程則被稱為梯度上升法。
2.1.1
牛頓法(英語:Newton’s method),它是一種在實數體和複數體上近似求解方程式的方法。方法使用函數f(x)的泰勒級數的前面幾項來尋找方程式 f(y)=0的根。
方法说明(资料来源维基百科)
在这里插入图片描述
在这里插入图片描述
2.1.2 擬牛頓法
擬牛頓法是一種以牛頓法為基礎設計的,求解非線性方程組或連續的最優化問題函數的零點或極大、極小值的算法。當牛頓法中所要求計算的雅可比矩陣或Hessian矩陣難以甚至無法計算時,擬牛頓法便可派上用場。更多详细请参考https://blog.csdn.net/itplus/article/details/21896619

3 线性回归的评估方法
3.1 均方误差(MSE)
在这里插入图片描述
Y代表测试集
用真实值减去预测值平方之后求和平均
3.2 均方跟误差(RMSE)
在这里插入图片描述
这不就是MSE开个根号么。有意义么?其实实质是一样的。只不过用于数据更好的描述。
例如:要做房价预测,每平方是万元,我们预测结果也是万元。那么差值的平方单位应该是千万级别的。那我们不太好描述自己做的模型效果。于是干脆就开个根号就好了。我们误差的结果就跟我们数据是一个级别的,在描述模型的时候就说,我们模型的误差是多少万元。
3.3 MAE
在这里插入图片描述
类似于求L1得损失
4 sklearn 线性回归参数详解及代码范例
参数:
fit_intercept: 布尔型,默认为true

说明:是否对训练数据进行中心化。如果该变量为false,则表明输入的数据已经进行了中心化,在下面的过程里不进行中心化处理;否则,对输入的训练数据进行中心化处理

normalize布尔型,默认为false

说明:是否对数据进行标准化处理

copy_X 布尔型,默认为true

说明:是否对X复制,如果选择false,则直接对原数据进行覆盖。(即经过中心化,标准化后,是否把新数据覆盖到原数据上)

n_jobs 整型, 默认为1

说明:计算时设置的任务个数(number of jobs)。如果选择-1则代表使用所有的CPU。这一参数的对于目标个数>1(n_targets>1)且足够大规模的问题有加速作用。

返回值:
coef_ 数组型变量, 形状为(n_features,)或(n_targets, n_features)

说明:对于线性回归问题计算得到的feature的系数。如果输入的是多目标问题,则返回一个二维数组(n_targets, n_features);如果是单目标问题,返回一个一维数组 (n_features,)。

intercept_ 数组型变量

代码示例 请参考https://github.com/asd3427/homework_01

参考文献
https://zh.wikipedia.org/wiki/牛顿法
https://blog.csdn.net/qq_29083329/article/details/48653391
https://zh.wikipedia.org/wiki/梯度下降法
https://baike.baidu.com/item/泛化能力
https://www.zhihu.com/question/52398145
https://blog.csdn.net/huobumingbai1234/article/details/81041699

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值