自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 深度学习:神经网络基础(一)神经网络构建(代码演示,用神经网络表示线性回归和逻辑回归模型)

现在提到深度学习(deep learning)连非计算机专业的人都听说过,尤其是最近“人机大战”更是掀起了人们对深度学习的极大关注。而深度学习则源于神经网络的研究。神经网络其实是一门相对古老的算法,它最初产生的目的是制造能够模拟这个星球最复杂的东西“人脑”的机器。本文讲述神将网络表示线性回归和逻辑回归两个模型一、神经网络的表示1)用神经网络表示线性回归模型为了更清楚的学习神经网络怎样表示,我们将用神经网络表示一个线性回归模型。我们先看一下线性回归模型表示方法:a0 代表斜率;

2021-08-24 12:23:11 2135

原创 Decision Tree 是机器学习的门槛?决策树原理,6个优缺点,3个算法,ID3算法自实现

一.scikit-learn中两个决策树算法    scikit-learn决策树算法类库内部实现是使用了调优过的CART树算法,既可以做分类,又可以做回归。分类决策树的类对应的是DecisionTreeClassifier,而回归决策树的类对应的是DecisionTreeRegressor。两者的参数定义几乎完全相同,但是意义不全相同。下面就对DecisionTreeClassifier和DecisionTreeRegressor的一个小结。一、Decision Tree Classificat.

2021-08-11 11:41:02 1424

原创 JAVA如何读取写入文件,InputStream与OutputStream

一、背景介绍Java的流式输入输出建立在4个抽象类的基础上:InputStream,OutputStream,Reader和Writer。它们用来创建具体的流式子类。InputStream和OutputStream类被设计为字节类,而Reader和Writer被设计为字符流类。本文只是讲字节流类。字节流中的两个顶层类为:InputStream(输入字节流)和OutputStream(输出字节流). 其下有两个子类FileInputStream(文件输入流)和FileOutputStream(文件输.

2021-08-10 10:48:16 6421

原创 【图】Leetcode 797,207 ,210排课表问题 ,三种方法遍历,拓扑排序,回溯解决课程表问题

此篇文章从图的数据结构叙述说起,解决了图问题中leetcode常出现的图问题,一是图的遍历,二是环检测,三是二分图判定三类问题。一、此文章解决Leetcode 图问题1)797 图的所有可能路径2)判断是否有环3)判断二分图二、 图的数据结构图有2种数据结构构成1)邻接矩阵 :即用V-V矩阵来代表每个顶点和边,V代表顶点。如果是无加权图则用简单的二维布尔数组表示。加权图则可以用二维数组来表示边的距离。它的好处是访问很快,缺点是费空间。如果图有很多顶点但是边不多,则造成不必要的空间损失

2021-08-10 10:38:12 654

原创 leetcode 752 打开转盘锁 讲解BFS模板,简洁套用

一、题目描述Leetcode 752 (中等难度)你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' 。每个拨轮可以自由旋转:例如把 '9' 变为'0','0' 变为 '9' 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 '0000' ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡数字,一旦拨轮的数字和列表里的任何一个元素相同,这个锁将会被永久锁定,.

2021-08-10 10:37:12 162

原创 怎样学习数据结构? 伯克利神课CS61B 总结感悟,学习指南和避坑建议

目录【概述】【课程传送门】【课程评价】【课程版本选择】【课程教材选择】【课程难度与作业量】【课程简介】1)了解数据结构类型2)根据场景应用数据结构3)学习了Java这门语言【如果时光倒流,我再次上这门课时我会注意什么?】1.读英文原版教材。2.注重课本,注重一手资料。3.写作业,要多做题目。4.坚持。文章6900字,阅读时间约7分钟【概述】学习编程有两门基础课程,即数据结构和算法。数据结构中网络公开课中评价一直居高不下的就是U...

2021-08-06 12:15:45 15939 11

原创 机器学习中Random Forest 随机森林小结(5步算法,11个优缺点,例子演示解决Kaggle高频竞赛题泰坦尼克沉船)

随机森林属于 集成学习 中的 Bagging方法。由多个随机树构成,然后通过投票共同学习特征。因为生长很深的树容易学习到高度不规则的模式,即overfit,在训练集上具有低bias和高variance的特点。随机森林是平均多个深决策树以降低variance的一种方法,其中,决策树是在一个数据集上的不同子集进行训练的,在最终的模型中通常会大大提高性能。这有些像解决一道预测何时世界末日的难题,你给一个大学生解决,又给了一个在家里自学的人解决。两个人的解法很大概率是不一样的,你提取两个人解法的优势合起来就

2021-08-04 17:12:47 5793

原创 二叉空间分割 BinarySpacePartition 方法生成地图

BSP(二叉空间分割Binary Space Partitioning)树是另一种类型的空间分割技术,在游戏工业上广泛应用。一. BSP Tree 生成步骤1)首先,选择一个超平面和根节点。我们2D选择的是一条线分割空间,3d就是用面来分割空间。2)用超平面分割初始的空间,分割后两个空间保存为左孩子和右孩子,并将分割后的多边形村住在List中。3)取出存住List中的多边形,通过迭代或者递归,产生新的节点并加在父节点上。迭代和递归都可以用于BSP Tree算法,递归更加容易理解。这里递归

2021-07-31 11:36:42 1529 1

原创 伯克利神课 CS61B 游戏项目 Project3 建立我的世界(地图生成)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言这是一个大的project,前前后后我断断续续做了一个月。真正自己的从无到有设计的迷宫出来的时候是很兴奋的。这个project老师给出的start code很少,不像BearMap骨架很清晰,自己思考怎样算法实现就是了。Project3 更倾向于让你从头到尾设计一个自己的小世界,不局限什么方法,也不限制方法的复杂度

2021-07-26 14:15:08 3475 1

原创 机器学习基础,过拟合和欠拟合,容量与泛化能力

一、过拟合机器学习中我们评价Model好坏一个重要指标就是泛化能力。如果模型在训练集合中表现很差,在测试集合中表现很差,我们就称之为欠拟合(Underfitting)模型在数据的训练集合中表现良好,在测试数据中也表现的良好。如果只是在训练数集中表现好,但在测试中表现不好,我们就称为过拟合(Overfitting)比如我们通过学习身高和体重的数据建立一个模型,你给我一个体重模型预测出一个人的身高。如图,我们知道了一堆的身高和体重的数据。我们先将数据分为两部分,一部分是Train Set(绿点.

2021-07-13 10:49:01 948

原创 pd.get_dummies()用法

在数据的预处理过程中,我们需要将一个特征变量变为计算机能读懂的特征距离。pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)详细参数:prefix:str, list of str, 或 dict of str, 默认为 None用于追加DataFrame列名称的字符串。prefix_s

2021-07-13 09:36:25 31088

原创 逻辑递归sklearn.LogisticRegeression 算法介绍

逻辑回归(Logistic regression)是机器学习分类算法的其中一种,核心思想是利用现有数据对分类边界建立回归方程,以此进行分类。回归可以理解为最佳拟合,是一种选择最优分类的算法。与线性递归(Linear Regression)师出同门,逻辑递归是线性递归的特殊表达形式。有一些目标函数给我们的不是具体的数值,比如预测房价。而是给了我们有限的选择值。比如预测能不能上清华,结果是有限的。能上用0表示,不能上用1表示。这种将结果分为有限的类的技巧就叫做逻辑递归。不同于线性递归,输出的是具体的值,逻辑

2021-07-09 12:02:33 312

原创 线性回归模型sklearn.LinearRegression()原理解析

一、模型原理Linear Rgegrssion基于最小二乘法的线性回归。是机器学习算法里面的基本算法,在sklearn.linear_model 的包里面。它能解决的问题是通过数据拟合,从而得到比较符合事物内部规律的数学表达式。也就是说寻找到数据与数据之间的规律所在。例如对于房价的预测。二、线性回归的原理表示我们先从最简单的函数看起,在只有一个变量的情况下,线性回归可以用方程:y = ax+b 表示。Linear Regression模型会去不断的去调整下图直线的斜率和截距,使得残差平方和.

2021-07-09 11:11:21 3069

原创 梯度下降 Gradient Descent 算法详解,从实例中学习用梯度优化算法求解线性回归模型中的参数

一、模型原理Linear Rgegrssion基于最小二乘法的线性回归。是机器学习算法里面的基本算法,在sklearn.linear_model 的包里面。它能解决的问题是通过数据拟合,从而得到比较符合事物内部规律的数学表达式。也就是说寻找到数据与数据之间的规律所在。例如对于房价的预测。二、线性回归的原理表示我们先从最简单的函数看起,在只有一个变量的情况下,线性回归可以用方程:y = ax+b 表示。Linear Regression模型会去不断的去调整下图直线的斜率和截距,使得残差平方和R

2021-07-09 10:56:27 1201

原创 Python numpy.linspace使用方法

目的:在指定的间隔内返回均匀间隔的数字用法:numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)参数:-> start : 起始位置-> stop : 终点未知-> restep : 默认false,走一步幅度为1.你也可以自己设置步幅-> num : 你要多少个样本-> dtype : 输出的类型实例:print("B\n", g

2021-07-07 10:34:17 426

原创 Numpy Python transpose() 矩阵转置

Numpy numpy.transpose(),可以实现矩阵的转置。也可以输入参数,实现行与列的转置# making a 3x3 arraya = np.array([[1, 2], [4, 5], [7, 8]]) # before transposeprint(a, end ='\n\n') # after transposeprint(a.transpose(1, 0))//output[[1 ..

2021-07-02 11:48:09 990

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除