初学机器学习第一周

本周主要学习了机器学习的理论基础和几种解决有监督学习的几中算法和案例。

一、理论基础:


欠拟合、过拟合、成本函数、模型的准确性、学习曲线、算法模型的优化、查准率和召回率。

1、欠拟合也称高偏差,过拟合也称高方差。

欠拟合的特点:模型对训练数据集的准确性比较低,其成本函数较高,对验证集的准确性也比较低,验证集的成本函数比较高。

过拟合的特点:模型对训练集的准确性比较高,训练集的成本函数较低,验证集的准确性比较低,验证集的成本函数较高。


2、成本是衡量模型与训练样本符合程度的指标。成本函数就是成本与模型参数的函数关系。在模型训练过程中,就是找出合适的模型参数,使得成本函数的值最小。针对一个数据集,我们可以选择多个模型来拟合数据,一旦选定了某个模型,就需要从这个模型的无穷参数里找出一个最优的参数,使得成本函数的值最小。


3、模型准确性。有些时候并不是成本函数越小越好,可能会出现过拟合的情况。这样预测出来的数据是不准确的。所以我们要把数据集分为训练集和测试集,一般原则是按照8:2或者7:3来划分。然后用训练数据集来训练模型,训练出模型参数后再使用测试数据集来测试模型的准确性,根据模型的准确性来评价模型的性能。

      另一个更科学的方法是把数据集分成3份,分别是训练集、交叉验证集(一般简称验证集)、测试集。推荐比例为:6:2:2.


4、我们也可以通过画学习曲线来判断的模型的好坏。取训练集的成本函数和验证集的成本函数为纵坐标,以样本数为横坐标画出学习曲线,通过学习曲线我们可以看出模型的准确性和优化的方向。


5、算法模型的优化:获取更多的训练数据、减少输入的特征数量、增加有价值的特征、增加多项式特征。


6、再已训练好的模型的情况下,可以再结合查准率和召回率。这样可以判断哪个算法的性能会更好。(召回率和查准率的公式去网上搜)。


二、 k-近邻算法(也称knn算法)

1、原理:计算带标记的数据样本和数据集中每个样本的距离,取距离最近的k个样本。待标记的数据样本类别由这k个距离最近的样本投票产生。 

2、算法参数:k,参数的选择需要根据数据来决定。k越大模型的偏差越大,对噪声数据越不敏感,当k值很大时,可能造成模型欠拟合;k值越小,模型的方差越大,当k值太小时,就会造成模型过拟合。

3、算法的变种:knn算法有一些变种,其中之一就是可以增加邻居的权重。默认情况下,在计算距离的时候,都是使用相同的权重,我们可以针对不同的邻居指定不同的距离权重,如距离越近权重越高。

另一个变种是,使用一定半径内的点取代距离最近的k个点。当数据采集不均匀的时候,该算法的变种可以取得更好的性能。

4、knn算法主要是用来进行分类处理的,有时候也会用来进行回归拟合。

5、knn算法的实例:进行糖尿病预测。去kaggle可以找到。

三、线性回归算法:

1、线性回归算法主要是解决有监督学习的问题的

线性回归算法主要是涉及预测函数和成本函数和其中的算法。多元线性回归算法和线性回归算法一样;

具体的内容可以参考:https://www.cnblogs.com/pinard/p/6004041.html?tdsourcetag=s_pcqq_aiomsg

主要算法涉及:梯度下降算法:http://www.cnblogs.com/pinard/p/5970503.html

                         最小二乘法:http://www.cnblogs.com/pinard/p/5976811.html

2、模型的优化:对数据进行归一化。可以使用特征缩放来对训练样本进行归一化处理,处理后的特征在[0,1]之间。对数据进行归一化可以让算法收敛的更快,提升模型拟合过程中的计算效率。

3、线性回归的典型例子为:房价预测。在kaggle上可以找到。

四、逻辑回归算法:

1、算法原理:逻辑回归算法输出的是离散值,是用来解决分类问题的。

2、预测函数:https://www.cnblogs.com/pinard/p/6029432.html?tdsourcetag=s_pcqq_aiomsg

里面有具体的介绍。

3、多元分类:先把问题转化为2元分类,依据二元分类进行推广,总共需要n+1给预测函数。预测出来的概率最高的那个类别,就是样本所属的类别。

4、逻辑回归的实例:乳腺癌检测。在scikit-learn中可以找到。

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
《Python数据挖掘与机器学习》是魏伟一编著的一本关于Python数据挖掘和机器学习的教材。这本教材主要介绍了Python编程语言在数据挖掘和机器学习领域的应用。下面从几个方面对这本教材进行说明。 首先,教材对Python的基础知识进行了简要介绍,包括Python的安装与配置、Python基本语法、数据类型、函数、模块和文件操作等。这为读者提供了Python编程的基础,使读者能够更好地理解后续介绍的数据挖掘和机器学习算法。 其次,教材详细介绍了数据挖掘的概念、方法和常用算法。其中包括数据预处理、数据探索、聚类分析、分类算法、关联规则挖掘等内容。针对每个算法,教材提供了详细的步骤和示例代码,帮助读者理解算法的原理和应用。 第三,教材还介绍了机器学习的基本概念和常用算法。包括监督学习、无监督学习、半监督学习和强化学习等。对于每个算法,教材提供了清晰的解释和实践示例,使读者能够理解算法的优缺点及其在实际问题中的应用。 最后,教材还介绍了Python常用的数据挖掘和机器学习工具和库,如Scikit-learn、TensorFlow、Keras等。这些工具和库提供了丰富的函数和类,方便读者在实践中应用所学的知识。 总之,《Python数据挖掘与机器学习》这本教材全面系统地介绍了Python在数据挖掘和机器学习领域的应用。无论是初学者还是有一定编程基础的人都可以通过这本教材学习如何使用Python进行数据挖掘和机器学习

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值