
机器学习
科学边界
这个作者很懒,什么都没留下…
展开
-
配置jupyter notebook在局域网中访问
1.生产配置文件jupyter notebook --generate-config2.生产密码jupyter notebook password显示:Enter password: **** Verify password: ****将生成的密钥拷贝配置文件echo "c.NotebookApp.password = 'sha1:***************'" >> ~/.jupyter/jupyter_notebook_config.py3.设置访问IPecho "原创 2021-07-22 20:09:50 · 1190 阅读 · 1 评论 -
机器学习21:快速安装pytorch
pytorch官网:https://pytorch.org/按pytorch官网的安装,由于大家都懂得原因,速度没几个人受得了;这里用清华的镜像,记录下过程;step0: 添加一个conda虚拟环境conda create -n pytorchconda activate pytorchstep1: 打开清华的镜像站,找到对应目录比如我的本机是X86, UBUNTU16.04h...原创 2020-04-21 17:01:33 · 277 阅读 · 0 评论 -
机器学习20:基于ResNet50和FaceNet实现人脸识别
说明:这是优达学城的一个机器学习作业项目,我觉得还比较典型综合了几个常见的深度学习技术,值得分享一下;实现包括,数据增广,迁移学习,网络模型构建,训练,评估方法等。缺点:由于训练数据集规模较小,训练的数据,不确定精确反映网络模型性能;比如ResNet50加载预训练模型权重,相比不加载(随机值),训练后精确度反而稍微较低,与理论不符。项目3:人脸识别欢迎来到机器学习工程师纳米学位的第三个项...原创 2020-04-20 18:12:00 · 12430 阅读 · 5 评论 -
机器学习19:Keras保存和加载网络模型及权重的方法总结
0.先实现手写体识别的实例:导入训练数据from keras.datasets import mnistfrom keras.preprocessing.image import ImageDataGeneratorfrom matplotlib import pyplotfrom keras import backend as K#K.set_image_dim_ordering(...原创 2020-04-20 17:16:14 · 5765 阅读 · 1 评论 -
机器学习18:用Keras实现迁移学习方法,原理
迁移学习是指对提前训练过的神经网络进行调整,以用于新的不同数据集。迁移学习分类主要取决于以下两个条件:1.新数据集的大小,以及2.新数据集与原始数据集的相似程度使用迁移学习的方法将各不相同。有以下四大主要情形:新数据集很小,新数据与原始数据相似新数据集很小,新数据不同于原始训练数据新数据集很大,新数据与原始训练数据相似新数据集很大,新数据不同于原始训练数据大型数据集可能具有 1...原创 2020-04-14 18:12:18 · 3539 阅读 · 4 评论 -
机器学习17:用Keras实现图片数据增广的方法和实践
Keras图片增强CNN中图片具有平移不变形,旋转不变形,如下图,而在实际应用中训练数据常常不足, 或不均衡, 因此我们可以通过增强数据,扩展训练集。我们可以对现有的数据,进行平移、翻转、旋转、缩放、亮度增强等操作,以生成新的图片来参与训练或测试。这种操作可以将图片数量提升数倍,由此大大降低了过拟合的可能,因为模型训练了更多的图片,有更好的泛化。实际上经验,图像增强中使用旋转、翻转,效果...原创 2020-04-13 17:49:55 · 2580 阅读 · 4 评论 -
机器学习16:简单, 直观的方法理解CNN(卷积神经网络)核心原理及实现
1.CNN(卷积神经网络)的典型应用场景1.1 WaveNet 模型:https://deepmind.com/blog/wavenet-generative-model-raw-audio/如果你能训练人工智能机器人唱歌,干嘛还训练它聊天?在 2017 年 4 月,研究人员使用 WaveNet 模型的变体生成了歌曲。原始论文和演示可以在此处找到。http://www.creativeai...原创 2020-03-30 16:40:17 · 1603 阅读 · 0 评论 -
机器学习15:神经网络调试方法总结
1.过拟合问题1.1早期停止法:将每个epoch的误差绘制成图表,画出训练误差和测试误差的曲线降低梯度,直到测试误差停止降低并开始增大。这个临界点就是最合适的epoch。这个方法广泛用于训练神经网络。1.2正则化当用一条直线来分类两个点时:可见参数越大,分类越准确,将两组系数投射到sigmod函数中,可见,系数较小时,可以得到更好的梯度下降坡度;把系数乘以10后,函数更加陡...原创 2020-03-23 18:10:31 · 1061 阅读 · 0 评论 -
机器学习14:用 Keras 构建神经网络
Keras官网: https://keras.io/Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano.手写神经网络是很繁杂的,就算用tensorflow等框架,也需要手动计算很多参数;Keras可以封...原创 2020-03-23 17:13:57 · 668 阅读 · 0 评论 -
机器学习13:神经网络的反向传播实现
利用神经网络来预测学生录取情况我们基于以下三条数据预测了加州大学洛杉矶分校 (UCLA) 的研究生录取情况:GRE 分数(测试)即 GRE Scores (Test)GPA 分数(成绩)即 GPA Scores (Grades)评级(1-4)即 Class rank (1-4)数据集来源: http://www.ats.ucla.edu/加载数据为了加载数据并很好地进行格式化,我...原创 2020-03-23 16:29:18 · 592 阅读 · 0 评论 -
机器学习12:用梯度下降法实现线性回归
梯度下降算法原理网上很多,我这里只是作为自己学习过程的札记,方便自己查看复习,因此不会那么详细,一般只记录对自己有用的部分。1.什么是梯度?可以简单理解为多变量函数的导数,即对每个变量单独求偏导。梯度是改变率或者斜度的另一个称呼。如果你需要回顾这个概念,可以看下可汗学院对这个问题的讲解。梯度:https://www.khanacademy.org/math/multivariable-ca...原创 2020-03-23 15:53:41 · 1374 阅读 · 0 评论 -
机器学习11:用sns.pairplot()做特征工程
用一个糖尿病确诊预测案例,从头到尾了解一下机器学习的工作流程。导入相关库,读取数据# Import our librariesimport pandas as pdimport numpy as npfrom sklearn.datasets import load_diabetesfrom sklearn.model_selection import train_test_split...原创 2020-03-20 20:14:44 · 20662 阅读 · 7 评论 -
机器学习10:通过网格搜索完善模型
网格搜索简单说,就是将所有可调的参数,组成一个网格表,训练过程会自动选出最优模型参数:以决策树模型为例,拟合样本数据。这个初始模型会过拟合。 然后,我们将使用网格搜索为这个模型找到更好的参数,以减少过拟合。首先,导入:%matplotlib inlineimport pandas as pdimport numpy as npimport matplotlib.pyplot as...原创 2020-03-20 19:37:38 · 941 阅读 · 0 评论 -
机器学习9:集成算法
集成这个单元(集成)的所有课程, 都是介绍如何把我们前面学过的简单模型组合(或集成)成一个集成模型,使集成模型比单个模型更好地预测。通常来说,决策树是一个“弱”学习器。实际上,大多数集成方法都默认使用sklearn中的决策树。但是,你可以将此值更改为任何我们前面看过的模型。为什么要把学习器集成在一起?找到一个拟合能力好的机器学习模型要看两个相互竞争的变量:偏差和方差.首先, 这篇维基百科...原创 2020-03-17 20:12:03 · 410 阅读 · 0 评论 -
机器学习8:支持向量机(SVM)
支持向量机(support vector machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。由简至繁的模型包括:当训练样本线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机;当训练样本近似线性可分时,通过软间隔最大化,学习一个线性支持向量机;当训练样本线性不可分时,通过核技巧和软间隔最大化,学习...原创 2020-03-17 20:06:29 · 605 阅读 · 0 评论 -
机器学习7:朴素贝叶斯
我们的任务垃圾邮件检测是机器学习在现今互联网领域的主要应用之一。几乎所有大型电子邮箱服务提供商都内置了垃圾邮件检测系统,能够自动将此类邮件分类为“垃圾邮件”。在此项目中,我们将使用朴素贝叶斯算法创建一个模型,该模型会通过我们对模型的训练将信息数据集分类为垃圾信息或非垃圾信息。对垃圾文本信息进行大致了解十分重要。通常它们都包含“免费”、“赢取”、“获奖者”、“现金”、“奖品”等字眼,因为这些它们...原创 2020-03-17 19:41:39 · 652 阅读 · 0 评论 -
机器学习6:决策树相关的概念
先补充一个物理概念熵Entropy: 度量事物的不确定性,不确定性越高,熵就越大,反之越确定,熵越小;随机事件(多类别)的熵可以表示为:entropy=−p1log2(p1)−p2log2(p2)−...−pnlog2(pn)=−∑i=1npilog2(pi)entropy = -p_1log_2{(p1)} - p_2log_2(p2) - ... - p_nlog_2(p_n) = ...原创 2020-03-17 17:48:27 · 2537 阅读 · 0 评论 -
机器学习5:感知器原理
分类问题在二维空间,实际上可以等效于拟合最佳直线,将所有点分类三围空间,就是拟合最佳平面扩展到n维空间满足n维空间的各向量维度W:(1xn), x:(nx1), b:(1x1)感知器把方程式进行编码,形成下图的节点链接方式把方程式参数提取出来作为权重,特征向量作为输入节点,方程结果作为输出把偏置值也作为一个权重(对应特征为固定值1),最后检查结果是否大于0,如果是,返...原创 2020-03-17 16:47:35 · 645 阅读 · 0 评论 -
机器学习4:多项式回归
如果只有一个预测器变量,线条的方程是y=mx+b图形可能如下所示:添加一个预测器变量,变成两个预测器变量后,预测方程是y=m1x1+m2x2+by = m_1 x_1 + m_2 x_2 + by=m1x1+m2x2+b要用图形表示,我们需要三维图形,并将线性回归模型表示成一个平面:你可以使用两个以上的预测器变量,实际上可以使用任意多个,只要有用即可!如果你使用 n 个...原创 2020-03-17 16:32:09 · 1135 阅读 · 0 评论 -
机器学习3:线性回归基础概念
机器学习的两大领域是分类和回归:分类:是回答yes or no问题,比如这封邮件是不是垃圾邮件;回归:解决的是程度问题(“how much” questions),比如这个房子多少钱,一个视频会被播放多少秒?先学习线性回归问题,然后如何优化,最后如何泛化到非线性例子。1.用数据拟合直线首先随意初定一条直线观测每个数据点,根据观测值调整直线。2.直线移动调整参数w1,w2值,分别调...原创 2020-03-17 16:05:58 · 462 阅读 · 0 评论 -
机器学习0:简介
1. 机器学习历史1.1统计学视角A Statistician’s Perspective当前的机器学习是一个交叉学科,既从统计学也从计算机科学里借鉴了大量知识;统计学是从理解数据发展起来的; 数据分析起源于数学的一个分支,这个分支主要研究如何更好地理解数据的生成机制,为解决这个问题,统计学使用概率模型来对现实世界建模;例如,用二项分布来描述考试中回答问题正确的数量、用泊松分布描述道路上...原创 2020-03-17 15:28:46 · 275 阅读 · 0 评论 -
机器学习2:错误与优化
1.错误类型机器学习中常犯的两个错误是,过于简化模型,过于复杂化模型2.交叉验证之前将数据分为训练集和测试集,判定模型效果,实际上犯了一个错误,将测试集参与了模型判定。为更客观的反映模型效果,引入一个新的子集,交叉验证集。一般复杂模型如下图,训练误差越来越小,测试误差开始很大,然后逐渐减小,然后再逐渐变大。左侧欠拟合,右侧过拟合。3. K 折交叉验证将数据分成K份,然后训练模型...原创 2020-02-29 22:37:01 · 444 阅读 · 0 评论 -
机器学习1:机器学习的模型评估方法
机器学习有两个非常重要的问题:1.How well is my model doing?如果我们已经训练好了模型,该模型效果如何,用什么方式来检为测?2.How do we improve the model based on these metrics?如何根据这些检测指标改善模型。如何合理,科学,有效的评估和改善模型,是所有机器学习算法通用问题,因此单独总结以下1.分离数据:将数...原创 2020-02-29 22:19:42 · 1083 阅读 · 0 评论 -
将conda环境快捷方式添加到jupyter notebook中
python -m ipykernel install --user --name carnd-term1 --display-name “carnd-term1”原创 2019-06-18 14:13:52 · 1688 阅读 · 0 评论 -
暗影精灵跑深度学习,环境安装:ubuntu16.04+GTX1050TI+cuda10.1+cudnn+tensorflow1.13
最近在用暗影精灵跑深度学习(基于tensorflow),随着数据量增多,CPU已经明显太慢,效率太低,所以把系统环境重新安装了一遍,搭建GPU环境。机器平台: I7+1050TI+UBUNTU16.041.安装驱动:参考之前的一篇博文:暗影精灵2代:ubuntu16.04 安装NVIDIA GTX1050TI显卡驱动这个可能会很慢,受不了的话可以到官网下载对应驱动来装(切勿使用CU...原创 2019-06-07 20:30:41 · 4205 阅读 · 1 评论