自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 卷积神经网络(CNN)

每个神经元与前后相邻的每一个神经元都有连接关系,输入是特征,输出为预测的结果,参数个数:∑(前层x后层+后层) ,(每层求和)之前输入的是黑白图片,当输入高分辨率的彩色图时,这时送入DNN的输入特征数过多,随着引出层数多,网络规模过大,待优化的参数过多容易导致模型的过拟合,实际应用时会先对原始图像进行特征提取再把提前到的特征送给DNN,让其识别结果。1卷积计算过程是一种有效提取图像特征的方法,使用一个正方形的卷积核,按照指定步长,在输入图上滑动,遍历输入特征图中的每个像素点。

2023-03-07 21:31:11 454

原创 9 使用八股搭建神经网络

用tf.keras搭建网络八股:六部法:1.import 相关模块2.train训练集 , test测试集3.model = tf.kears.models.Sequential搭建网络结构,逐层描述每层网络(前向传播)4.model.compile优化器、损失函数、评测指标的选取5.model.fit训练集与测试集的输入特征和标签,batch,迭代多少次数据集,6.model.summary打印网络的结构和参数统计拉直层: tf.keras.layers.Flatten(), (没有计算,只是形状转换)全

2023-02-20 15:35:24 173

原创 8 神经网络参数优化器

优化器就是引导神经网络更新参数的工具。待优化参数w,损失参数loss,学习率lr,每次迭代一个batch,t表示当前batch迭代的总次数:1.计算t时刻损失函数关于当前参数的梯度:2.计算t时刻一阶动量和二阶动量一阶动量:与梯度相关的函数,二阶动量:与梯度平方相关的函数。3.计算t时刻下降梯度:4.计算t+1时刻参数:不同的优化器实质上只是定义了不同的一阶动量和二阶动量公式。1.随机梯度下降SGD(无momentum)最常用。

2023-02-20 11:28:43 301

原创 7 欠拟合与过拟合

正则化在损失函数中引入模型的复杂度指标,利用给W加权值,弱化了训练数据的噪声(一般不正则化b)是模型对当前数据拟合得太好了,但对从未见过的数据,却难以做出正确判断,缺乏泛化力。loss=loss(预测值y1与标签值y)+REGULARIZER*loss(W)大概率会使很多参数变为0,通过稀疏参数(减少参数的数量),降低模型复杂度。是模型不能有效拟合数据集,是对现有数据集学习的不够彻底。增加输入的特征项,增加网络的参数,减少正则化的参数。数据清洗,增大训练集,采用正则化,增大正则化参数。

2023-02-07 17:27:09 109

原创 6激活函数与损失函数

激活函数与损失函数

2023-02-04 17:01:59 264

原创 5 神经网络复杂度及学习率

2.学习率(lr): 参数更新的幅度,可以先使用较大的学习率,快速得到较优解,然后逐步减小学习率,使模型在训练后期稳定。指数衰减学习率=初始学习率*学习率衰减率的(当前轮数/多少轮衰减一次)次方。1.神经网络(NN)的复杂度:多用其层数和参数的个数表示。总参数= 总的权重数+总的偏置个数 3x4+4。层数=隐藏层数+1个输出层 2=1+1(下图)时间复杂度:乘加运算的次数 3x4。空间复杂度=层数+总参数。

2023-01-31 20:40:03 294

原创 4 预备知识

np.random.RandomState.rand(维度) 维度为空,返回标量。np.c_[ ]使返回的间隔数值点配对, np.c_[数组1,数组2,……np.mgrid[起始值:结束值:步长,起始值:结束值:步长,……x.ravel( ) 将x变为一维数组,即把.前的变量拉直。tf.where(条件语句,真返回A,假返回。条件语句为真返回A,条件语句为真返回B。np.vstack(数组1,数组2)返回一个[0,1)之间的随机数。将两个数组按垂直方向叠加。

2023-01-31 18:11:09 68

原创 3.神经网络实现鸢尾花分类(tensorflow)

1.准备数据:数据集的读入,数据集乱序(可不乱序),生成训练集和测试集,配成(输入特征,标签)对,每次读入一个批次(batch)。3.参数优化: 嵌套循环迭代,with 结构更新参数,显示当前loss。4.测试效果: 计算当前参数前向传播后的准确率,显示当前acc。2.搭建网络: 定义神经网络中所有可训练的参数。5.acc/loss 可视化。

2023-01-31 16:52:04 141

原创 2 神经网络常用函数

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。4.独热编码 tf.one_hot(待转换数据, depth=几类)5.多分类tf.nn.softmax(数据)使输出符合概率分布。1.切分传入张量的第一维度,生成输入特征与标签对,构建数据集。3.枚举 (enumerate)7.返回指定维度的最大值的索引。其中1表示是,0表示非。

2023-01-31 16:04:50 172

原创 1.张量的创建及运算

张量的生成及运算

2023-01-31 15:33:47 137

原创 机器学习—降维算法2PCA主成分分析(理论及实战)

对角线上元素为矩阵的特征值,按照从大到小的顺序排列,找到前K个最大特征值对应的特征向量,接下来进行投影变换。我们的想法是寻找方差最大的方向是同时,还要满足各个投影反向能够正交(即协方差为0,表示完全独立无关),在选基的时候,一方面尽可能找方差最大的方向,另一反面要在正交方向继续寻找方差第二大的方向,以此类推。流程如下:计算样本数据的协方差矩阵,求解协方差矩阵的特征值和特征向量,选择特征值中较大的K个,找到其对应的特征向量组成投影矩阵,将样本数据点进行投影,完成PCA降维。,v分别为特征a,b 的均值。

2022-11-28 10:57:57 427

原创 机器学习—降维算法1LDA线性判别分析(实战)

代码2,直接从sklearn调用LDA方法,指定降维。参考文档:《跟着迪哥学Python数据分析与。代码1,一步一步去操作LDA。特征数据降维后展示结果。

2022-11-25 16:37:49 875

原创 机器学习—降维算法1LDA线性判别分析(理论)

由于特征数据过于庞大,需要对数据进行降维处理,即通过某种映射方法将原始高维空间中的数据点映射到低维度的空间中(减少特征的个数),比较经典的是LDA线性判别分析和PCA主成分分析。LDA线性判别分析也叫作Fisher 线性判别(FLD)(有监督问题),最初用于机器学习的分类任务,更多用于降维。降维不仅要压缩数据的特征,还需找到合适的投影方向,使得压缩后的数据更有利用价值。降维的两个目标:(1)不同类别的数据点,投影后离得越远越好(2)同类别的数据点,投影后越集中越好,离组织的中心越近越好。

2022-10-25 11:21:42 1645

原创 LeetCode 9 回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 true;解释:从左向右读, 为 -121。从右向左读, 为 121-。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。# 接着对奇数位的数字和偶数位的数字进行判断,反转一半数字。解释:从右向左读, 为 01。将整数转换为字符串,使用索引判断其正序与逆序相等。例如,121 是回文,而 123 不是。字符串从左边的一半刚好等于从右边的一半。回文数与回文字符串一样,只是是整数。输入:x = -121。输入:x = 121。

2022-10-05 20:45:09 96

原创 LeetCode 8 字符串转换成整数(atoi)

将前面步骤读入的这些数字转换为整数(即,"123" -> 123, "0032" -> 32)。第 2 步:"4193 with words"(当前没有读入字符,因为这里不存在 '-' 或者 '+')s 由英文字母(大写和小写)、数字(0-9)、' '、'+'、'-' 和 '.' 组成。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。由于 "-42" 在范围 [-231, 231 - 1] 内,最终结果为 -42。第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')

2022-09-27 12:48:49 54

原创 LeetCode 7 整数反转

如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。假设环境不允许存储 64 位整数(有符号或无符号)。先对整数取绝对值,将其变成字符串再反转并取整形。输入:x = -123。输入:x = 123。输入:x = 120。

2022-09-19 20:32:04 96

原创 LeetCode 6 Z字形变换

在这里,要注意行数为四时,我们的字符串元素依次放到1,2,3,4,3,2,1,2,3,4,3,2,1.....行,我们这里通过一个flag让行数先依次加1到达第四行,在依次减1到达第一行,这样循环下去。之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"。将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行Z 字形排列。

2022-09-19 20:27:30 189

原创 LeetCode 5 最长回文子串

即从左往右输出和从右往左输出结果是一样的字符串,比如:a,level,abba,cccdeedccc都是回文字符串。法1:找出所有子串,找出所有回文子串,找出最长回文子串。给你一个字符串 s,找到 s 中最长的回文子串。解释:"aba" 同样是符合题意的答案。注意回文子串的长度个数分奇偶数。输入:s = "babad"遍历字符串的每一个字符,然后。输入:s = "cbbd",查找最长的回文子串。

2022-09-15 20:36:30 113

原创 LeetCode 4 寻找两个正序数组的中位数

给定两个大小分别为 m 和 n 的正序(从小到大)数组nums1 和nums2。请你找出并返回这两个正序数组的 中位数。解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。输入:nums1 = [1,2], nums2 = [3,4]输入:nums1 = [1,3], nums2 = [2]算法的时间复杂度应该为 O(log (m+n))。解释:合并数组 = [1,2,3] ,中位数 2。输出:2.00000。输出:2.50000。

2022-09-15 15:08:18 119 1

原创 LeetCode 3 无重复的最长子串

# 请注意,你的答案必须是 子串 的长度,"pwke"是一个子序列,不是子串。# # 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。# # 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。# # 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。串中任意个连续的字符组成的子序列称为该串的子串。# # 输入: s = "abcabcbb"# # 输入: s = "pwwkew"# # 输入: s = "bbbbb"

2022-09-15 14:57:43 118 1

原创 LeetCode 2 两数相加

给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储一位数字。# 输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]# 输入:l1 = [2,4,3], l2 = [5,6,4]# 你可以假设除了数字 0 之外,这两个数都不会以 0开头。# 请你将两个数相加,并以相同形式返回一个表示和的链表。# 输入:l1 = [0], l2 = [0]# 输出:[8,9,9,9,0,0,0,1]# 输出:[7,0,8]

2022-09-15 14:57:21 95

原创 LeetCode 1 两数之和

leetcode1

2022-09-14 20:34:51 112 1

原创 机器学习------回归算法(理论)3

1.本文介绍线性回归算法 梯度下降算法 逻辑回归算法2.线性回归算法假设某个人去银行贷款,银行会了解个人的基本信息,如年龄,工资等等,然后输入银行评估系统,以此决定是否发放贷款以及确定贷款的额度。在这里银行评估系统就是基于历史数据建立一个合适的回归模型,只要有新数据传入模型,就会返回一个合适的预测结果值。记工资、年龄用x1和x2表示,是所需数据特征的指标,贷款额度就是最终想要的预测结果,也叫做标签,用y表示。找到x1、x2和y之间的关系,就可以解决问题。实际贷款金额由数据特征x1和x2共同

2022-05-23 11:21:08 191

原创 机器学习算法的一些简介2

1.回归算法(线性回归)回归算法是利用输入数据的特征来预测数值的一种监督算法。比如在基于给定某特征(卫生间大小、层数、位置、均摊面积等)考虑房屋成本。回归分析是尝试找到最适合输入数据集的函数的参数值。回归算法主要有线性回归、逻辑回归、梯度下降等算法,这里先简单的介绍线性回归。在线性回归算法中,目的就是要最小化成本函数。方法是通过输入数据为函数找到近似目标值的适当参数。其用到的代表性的成本函数是均方误差,即期望值与预测结果之差的平方。确定目标函数之后,对其求偏导。导数代表函数增加(减少)的方向,因此向

2022-05-02 21:02:08 833

原创 机器学习初识1

机器学习是指从大数据集中推断出模式的通用技术或者基于通过分析现有已知数据所获得的知识来对新数据进行预测的能力。大致分为三类:监督学习,无监督学习,强化学习。机器学习算法的任务:绘制一个超平面来分离具有不同特征的点。1.监督学习监督学习算法是利用一组标记(已分类)的数据来对相似未标记的数据进行分类的一类机器学习算法。标记可以是离散的和连续的。比如,对大量的电子邮件分类。监督学习算法将被提供已由用户标记为垃圾邮件或正常邮件的大量邮件(标记的数据),先遍历所有标记的数据,并预测电子邮件是否为垃圾邮

2022-04-28 09:11:33 1193

原创 利用pandas对excle表格的处理1

前提是已安装pandas库。1.读取表格import pandas as pddf = pd.read_excel('A', engine ='openpyxl')# A代表表格的所在位置(访问路径),根据自身情况替换print(df) #读取表格的所有内容print(df.info())#获取表格的基本信息(大致该表格有啥内容)2.读取表格的某行某列(接上面).iloc() 用位置去获取数据,索引从0开始,可通过切片获取部分数据print(df.head())#默认获取该

2022-03-30 17:14:13 1209

原创 基础知识 :2.2元组

元组(Tuple)是用于存储元素,用()来定义,元素之间用逗号来隔开,元组一旦被创建,其元素不可被修改,也不能增加或删除元素(即元组是不可变的)。元组可以保存不同类型的数据,比如(1,2,3),("C","A")等。<1>基本操作...

2022-03-07 21:09:17 147

原创 基础知识:2.1列表

列表是Python中最基本的序列结构,一个列表中的元素的类型可以各不相同,它支持数字,字符串,列表的嵌套;将所有元素放在一对[ ]中括号中,元素之间用逗号分隔,如[1,2,3,"a","B"].<1>基本操作# 创建列表list1=["1,2,3","ABC","b"]print(list1)a=list1[1][2] # 用两个位置信息索引子列表包含的对象print(a)list2=list()# 创建空表格print(list2)list3=list("中国欢迎你

2022-03-06 20:25:29 356 1

空空如也

空空如也

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

TA关注的人

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