python机器学习

机器学习之线性回归

痞子三分冷 提交于 2020-01-18 08:11:21
主要是对吴恩达机器学习的视频来学习,学习了线性回归内容,总体进行复盘总结; 1、一元线性回归 回归模型是表示输入变量到输出变量之间映射的函数,回归问题等价于函数拟合,回归函数的求解最常用的代价函数是平方损失函数,平方损失函数可以用最小二乘法进行解决,本例中使用梯度下降法进行处理; 梯度下降法:优点:可以处理复杂的目标函数 缺点:如果代价函数不是凸函数,则容易得到局部最优解 学习率的选择,过小导致收敛速度慢,过大则会造成震荡 方法一:自己编写python代码实现 x = [ 1 , 2 , 3 , 4 , 5 , 6 ] y = [ 7 , 8 , 9 , 10 , 11 , 12 ] #x,y,数据,a 学习率,m迭代轮数 def linerRegre ( x , y , a , m ) : theta0 = 0 theta1 = 0 diff = [ 0 , 0 ] l = len ( x ) while m > 0 : for i in range ( l ) : diff [ 0 ] += theta0 + theta1 * x [ i ] - y [ i ] diff [ 1 ] += theta0 * x [ i ] + theta1 * x [ i ] * x [ i ] - x [ i ] * y [ i ] theta0 = theta0 - a / l *

chapter2 一个完整的机器学习项目实战

一个人想着一个人 提交于 2020-01-18 04:34:39
误差计算 均方根误差(RMSE)计算对应欧几里得范数的平方和的根,也称作 l2 范数。 $$RMSE(X, h) = \sqrt{\frac{1}{m}\sum_{i=1} ^m(h(x)^{(i)} - y^{(i)})^2} $$ 平均绝对误差(MAE)计算对应 l1 范数的绝对值和,也成为曼哈顿范数,因为其测量了城市中的两点,沿着矩形的边行走的距离。 $$MAE(X, h) = \frac{1}{m}\sum_{i=1}^m|h(x^{(i)}) - y^{(i)}|$$ lk 范数定义如下,其中 l0 显示向量的基数(非零元素个数),l∞ 向量中最大的绝对值。 $$||V||_j = (|v_0|^k + |v_1|^k + \cdots + |v_n|^k)^{\frac{1}{k}}$$ 范数的指数越高,就越关注大的值而忽略小的值,这就解释了为什么 RMSE 比 MAE 对异常值更敏感。当异常值是指数分布(类似正态曲线),RMSE 就会表现很好。 创建测试集 datapath = "C://Users/LENOVO/Desktop/book_need_reading/sklearn&tensorflow/data/housing.csv" housing = pd.read_csv(datapath) 使用 python 的 np.random.permutation

吴恩达机器学习3--逻辑回归(Logistic Regression)

吃可爱长大的小学妹 提交于 2020-01-17 23:57:01
分类问题 在分类问题中,你要预测的变量 𝑦 是离散的值,我们将学习一种叫做 逻辑回归 (Logistic Regression) 的算法,这是目前最流行使用最广泛的一种学习算法。 在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈;判断肿瘤是恶性还是良性 先从二元分类来讨论 我们将因变量可能属于的两个类别称为 正类 和 负类 ,我们用0表示负类,用1表示正类。 如果我们用线性回归来解决一个分类问题,线性函数的输出值可能远大于1或者远小于0,那怎么办呢? 所以我们就要逻辑回归的算法的 输出值永远在0到1中间 根据线性回归模型,我们只能预测连续值,而逻辑回归预测的是离散值,我们可以假设 当ℎ𝜃(𝑥) >= 0.5时,预测 𝑦 = 1。 当ℎ𝜃(𝑥) < 0.5时,预测 𝑦 = 0 。 我们引入一个新的模型,逻辑回归,该模型的输出变量范围始终在 0 和 1 之间。 逻辑回归模型的假设是: ℎ𝜃(𝑥) = 𝑔(𝜃𝑇𝑋) 其中: 𝑋 代表特征向量 𝑔 代表逻辑函数,是一个常用的逻辑函数为 S 形函数(Sigmoid function) python代码实现 import numpy as np def sigmoid ( z ) : return 1 / ( 1 + np . exp ( - z

机器学习之模型融合(详解Stacking,Blending)

╄→尐↘猪︶ㄣ 提交于 2020-01-16 21:10:07
模型融合 Ensemble Generation 常见模型融合的方法 boosting bagging Stacking blending 各种模型融合的区别 Bagging,Boosting二者之间的区别 Stacking,Blending二者之间的区别 Stacking与blending详解及代码 Stacking的两种思想 集成学习和多模型融合的区别 集成学习是指多个弱分类器(子模型)集成为强分类器,这种弱分类器是 同质 的分类器,比如GBDT,Adaboost,RF等。 根据弱分类器之间的关系,可以分为相关(第i个弱分类器依赖于第i-1个弱分类器)和独立(每个弱分类器相互独立)。相关的话,只能串行实现,主要是降低bias(偏差);独立的话,可以并行实现,主要是降低variance(方差) 多模型融合是多个分类器,这些分类器是 异构 的,各模型解决不同的局部问题, 多模型融合一般用来做信息补充和互补 。 Ensemble Generation 常见模型融合的方法 boosting 迭代训练某个基本模型:根据第i-1轮预测错误得到的情况来修改第i轮训练样本的权重,比较容易过拟合。 bagging 这是一种少数服从多数的思想,通过训练集中不同的子集训练不同的子模型,最后对每个子模型进行投票。 Stacking 层次融合的思想,第一层用多个基本模型

人工智能与机器学习目录

时光怂恿深爱的人放手 提交于 2020-01-16 13:28:10
以《机器学习》、《深度学习》两本书为基本 辅以CS231n和CS224n的视频课 使用python3.7 + pycharm + pytorch + TensorFlow 来编程实现代码 同时进行CV和NLP两个方向的论文学习 最后进行几个实际的项目的实战 Python基础    Python基础①:基础语法元素 数学基础    数学基础①:高数线代与概率论基础 决策树 支持向量机 贝叶斯分类 集成学习 聚类 降维与度量学习 特征选择与稀疏学习 计算学习理论 半监督学习SVM 概率图模型 规则学习 强化学习 深度学习(神经网络)   深度前馈网络   深度学习中的正则化   深度模型中的优化   卷积网络   序列建模-循环和递归网络   实践方法论   应用   深度学习研究 CS231n课程 CS224n课程 项目:自动编曲 项目:人脸检测识别 项目:图片生成文字 来源: CSDN 作者: 肥佬橙酱 链接: https://blog.csdn.net/weixin_38608322/article/details/104001217

为什么机器学习会选择Python语言?很简单!

ぐ巨炮叔叔 提交于 2020-01-15 13:59:42
  人工智能是计算机行业非常流行的领域,随着人工智能的崛起,Python作为该领域的首选编程语言变得更加受关注了,在人工智能领域Python趋势是非常大的,发展前景良好。那么为什么机器学习会选择Python语言呢?原因很简单,为大家简单的介绍一下吧。   Python程序语言与机器学习结合,可以说是强强联合的,使用Python撰写机器学习具备以下几点优势:   1、方便调试的解释型语言:Python是一门解释型的编程语言,与Java比较相似,源代码都是通过一个编码器,转换为独特的字节码,这个过程不需要保持全部代码一次性通过编译,Python解释器是逐行进行处理,调试过程方便,所以适用于机器学习。   2、跨平台执行作业:从另外的角度上来说,只要一个平台安装有用于运行这些字节码的虚拟器,那么Python就可以进行跨平台作业,所以说Python这类解释型语言作为编码媒介是一种非常不错的选择。   3、广泛的应用编程接口:Python除了被用于编程自动开发所使用的第三方库之外,业内还有许多著名的公司都在应用,这些平台同时也面向互联网用户提供机器学习的Python编程接口。很多时候无需自己撰写,通过Python语言并且准照API编写协议为规则,串联在一起。   4、丰富的开源工具包:为了构建功能强大的机器学习系统,如果没有特殊开发需求,一般情况之下是不需要从零开始撰写代码的。 来源:

【大咖分享】云上机器学习建模之旅,与智能钛TI-ONE的浪漫邂逅

百般思念 提交于 2020-01-15 06:48:50
原文链接: https://cloud.tencent.com/developer/article/1568874 点击观看大咖分享 据《中国ICT人才生态白皮书》研究分析,2018年底,我国人工智能人才缺口已突破100万,到2020年,这一数字将攀升到226万。但全球367所具有人工智能研究方向的高校每年在该领域毕业的学生仅约2万人,远远不能满足市场需求。 人才缺口大,腾讯云发布超新星AI人才培养计划,深耕高校教育生态。作为该计划中唯一的机器学习平台,腾讯云智能钛TI-ONE走进高校课堂,受到了老师和同学们的喜爱。 无论您是AI出入门者,还是AI专家,在 智能钛机器学习平台TI-ONE 上,都能找到适合您的建模方式。 本次 腾讯云大学大咖分享 课程邀请 余祖坤 腾讯云高级产品经理 分享关于“腾讯云机器学习平台TI-ONE”课程的内容。开启云上机器学习建模之旅,与智能钛TI-ONE来一场浪漫的邂逅吧! 本次分享主要包括三个部分: TI-ONE产品架构;TI-ONE产品特性;使用TI-ONE搭建模型。 1.TI-ONE产品架构 1.1机器学习概述 机器学习通过学习输入的数据来构建模型,以对未来的新输入信息做出预测或识别。 机器学习就好比烧饭,将大米(数据)放入电饭煲(机器学习),选择不同的烹煮模式(不同的算法),最后得到米饭或者粥(不同的模型)。 目前,机器学习已经拥有广泛的应用场景

AI全面入门经典书籍-pytho入门+数学+机器学习+深度学习(tensorflow)一次性打包

╄→гoц情女王★ 提交于 2020-01-15 01:13:55
百度网盘: https://pan.baidu.com/s/1SShwxxBIHB_rynF_jUjApA 一、内容清单: 1..python入门书籍: python基础教程.pdf python语言及其应用.pdf python语言入门.pdf 像计算机科学家一样思考python第2版.pdf 备注:自己找一本精读,其他辅助阅读,会有不一样的效果。 2.数学: 同济高等数学 第六版 上册.pdf //上册内容基本要求都必须了解,了解的意思是虽然不会回推导,但是要能理解 同济高等数学 第六版 下册.pdf //以最小二乘法为界(包括最小二乘),之前的内容个人觉得必须要理解,特别是三维 //空间向量部分,是理解线性代数的基础,因为线性代数是将向量推向高维空间后的结果。 同济高等数学 第六版 习题全解.pdf //如果你考研的话,这个很重要,否者可以暂时略过 线性代数应该这样学.pdf //掌握基本内容,至于那些是基本内容,请度娘后自己把握 线性代数(英文).pdf 概率论 //掌握基本内容,自己把握 数学之美.pdf //兴趣型读物 统计学习方法.pdf //兴趣型读物 备注:以上数学书籍不用所有章节都看,但是与AI相关的基础部分必看。 3.机器学习+深度学习(主要基于tensorflow框架) TensorFlow实战 黄文坚(完整).pdf TensorFlow机器学习实战指南

机器学习原理视频

蹲街弑〆低调 提交于 2020-01-13 03:45:27
想自学机器学习和深度学习?不妨边看专家讲解视频边自学。不仅能感受世界各地专家的熏陶,也能快速获取知识,一举两得。这篇文章整理了一个 YouTube 视频列表,供希望在该领域学习的朋友使用。   视频观看建议   我将视频分为三类:机器学习、神经网络、深度学习。为方便起见,你可以使用我创建的列表按顺序学习。特别推荐初学者根据顺序学习,以更好地理解视频。   这套参考视频集需要时间消化,若觉得视频太多请根据需要调节每次的学习时长。视频长度从几分钟到几小时不等。我已写出每个视频的摘要,供读者查阅。   一、机器学习相关视频   1. 机器人和人工智能的未来(斯坦福大学,吴恩达)   原标题:The Future of Robotics and Artificial Intelligence   链接:https://www.youtube.com/watch?v=AY4ajbu_G3k&feature=youtu.be   时长:16 分钟 26 秒   总结:开启机器学习之旅最好的方法就是,莫过于听全世界最好的老师和专家讲课。斯坦福大学 的吴恩达在此讲述了自己幼时的梦想,创造一个可以像人类一样思考和工作的机器人,并改善千万人的生活。另外,他还探讨了人类大脑和使机器行为更类人的软件之间的相似性。   2. 吴恩达机器学习讲座系列   原标题:Lecture Collection |

机器学习实战笔记7(Adaboost)

时光毁灭记忆、已成空白 提交于 2020-01-13 03:43:30
1:简单概念描写叙述 Adaboost是一种弱学习算法到强学习算法,这里的弱和强学习算法,指的当然都是分类器,首先我们须要简介几个概念。 1:弱学习器:在二分情况下弱分类器的错误率会低于50%。 事实上随意的分类器都能够做为弱分类器,比方之前介绍的KNN、决策树、Naïve Bayes、logiostic回归和SVM都能够。这里我们採用的弱分类器是单层决策树,它是一个单节点的决策树。 它是adaboost中最流行的弱分类器,当然并不是唯一可用的弱分类器。即从特征中选择一个特征来进行分类。该特征能使错误率达到最低。注意这里的错误率是加权错误率,为错分样本(1)与该样本的权重的乘积之和(不明确看后面代码)。 更为严格点的定义: 强学习:一个概念假设存在一个多项式的学习算法可以学习它,而且正确率非常高。那么。这个概念是强可学习的; 弱学习:一个概念假设存在一个多项式的学习算法可以学习它,而且学习的正确率仅比随机推測略好(高于50%)。那么。这个概念是弱可学习的; 强可学习与弱可学习是等价的。 而且理论证明能够将若干个弱学习分类器通过线性叠加提升为强学习分类器。 2:强学习器:识别准确率非常高并能在多项式时间内完毕的学习算法 3:集成方法:就是将不同的分类器组合在一起。这样的组合的结果就是集成方法或者称为元算法。 它能够是不同算法的集成。也能够是同一算法在不同设置下的集成