矩阵

哈工大 机器学习 lab1

这一生的挚爱 提交于 2019-12-06 17:12:43
哈尔滨工业大学计算机科学与技术学院 实验报告 课程名称: 机器学习 课程类型: 必修 实验题目: 多项式拟合正弦函数 一.实验目标 掌握最小二乘法求解(无惩罚项的损失函数)、掌握加惩罚项(2范数)的损失函数优化、梯度下降法、共轭梯度法、理解过拟合、克服过拟合的方法(如加惩罚项、增加样本) 二.实验要求和实验环境 实验要求 生成数据,加入噪声; 用高阶多项式函数拟合曲线; 用解析解求解两种loss的最优解(无惩罚项和有惩罚项) 优化方法求解最优解(梯度下降,共轭梯度); 用你得到的实验数据,解释过拟合。 用不同数据量,不同超参数,不同的多项式阶数,比较实验效果。 语言不限,可以用matlab,python。求解解析解时可以利用现成的矩阵求逆。梯度下降,共轭梯度要求自己求梯度,迭代优化自己写。不许用现成的平台,例如pytorch,tensorflow的自动微分工具。 实验环境 Microsoft win10 1809 python 3.7.0 Sublime Text 3 三.设计思想 1.算法原理 (0)数据的产生 x为 到 之间的随机数. 噪音 由一个标准正态分布函数 *0.1 产生 y = sin(x) + 利用循环, 根据x产生范德蒙德矩阵X 将 X, y 都转为矩阵类型 (1) 解析解(不带惩罚项) 误差函数: 将上式写成矩阵形式: 通过将上式求导我们可以得到式 令 得到

哈工大 机器学习 lab1

痴心易碎 提交于 2019-12-06 17:11:50
哈尔滨工业大学计算机科学与技术学院 实验报告 课程名称: 机器学习 课程类型: 必修 实验题目: 多项式拟合正弦函数 一.实验目标 掌握最小二乘法求解(无惩罚项的损失函数)、掌握加惩罚项(2范数)的损失函数优化、梯度下降法、共轭梯度法、理解过拟合、克服过拟合的方法(如加惩罚项、增加样本) 二.实验要求和实验环境 实验要求 生成数据,加入噪声; 用高阶多项式函数拟合曲线; 用解析解求解两种loss的最优解(无惩罚项和有惩罚项) 优化方法求解最优解(梯度下降,共轭梯度); 用你得到的实验数据,解释过拟合。 用不同数据量,不同超参数,不同的多项式阶数,比较实验效果。 语言不限,可以用matlab,python。求解解析解时可以利用现成的矩阵求逆。梯度下降,共轭梯度要求自己求梯度,迭代优化自己写。不许用现成的平台,例如pytorch,tensorflow的自动微分工具。 实验环境 Microsoft win10 1809 python 3.7.0 Sublime Text 3 三.设计思想 1.算法原理 (0)数据的产生 x为 到 之间的随机数. 噪音 由一个标准正态分布函数 *0.1 产生 y = sin(x) + 利用循环, 根据x产生范德蒙德矩阵X 将 X, y 都转为矩阵类型 (1) 解析解(不带惩罚项) 误差函数: 将上式写成矩阵形式: 通过将上式求导我们可以得到式 令 得到

哈工大 机器学习 lab1

£可爱£侵袭症+ 提交于 2019-12-06 17:10:15
哈尔滨工业大学计算机科学与技术学院 实验报告 课程名称: 机器学习 课程类型: 必修 实验题目: 多项式拟合正弦函数 一.实验目标 掌握最小二乘法求解(无惩罚项的损失函数)、掌握加惩罚项(2范数)的损失函数优化、梯度下降法、共轭梯度法、理解过拟合、克服过拟合的方法(如加惩罚项、增加样本) 二.实验要求和实验环境 实验要求 生成数据,加入噪声; 用高阶多项式函数拟合曲线; 用解析解求解两种loss的最优解(无惩罚项和有惩罚项) 优化方法求解最优解(梯度下降,共轭梯度); 用你得到的实验数据,解释过拟合。 用不同数据量,不同超参数,不同的多项式阶数,比较实验效果。 语言不限,可以用matlab,python。求解解析解时可以利用现成的矩阵求逆。梯度下降,共轭梯度要求自己求梯度,迭代优化自己写。不许用现成的平台,例如pytorch,tensorflow的自动微分工具。 实验环境 Microsoft win10 1809 python 3.7.0 Sublime Text 3 三.设计思想 1.算法原理 (0)数据的产生 x为 到 之间的随机数. 噪音 由一个标准正态分布函数 *0.1 产生 y = sin(x) + 利用循环, 根据x产生范德蒙德矩阵X 将 X, y 都转为矩阵类型 (1) 解析解(不带惩罚项) 误差函数: 将上式写成矩阵形式: 通过将上式求导我们可以得到式 令 得到

哈工大 机器学习 lab1

断了今生、忘了曾经 提交于 2019-12-06 17:08:31
哈尔滨工业大学计算机科学与技术学院 实验报告 课程名称: 机器学习 课程类型: 必修 实验题目: 多项式拟合正弦函数 一.实验目标 掌握最小二乘法求解(无惩罚项的损失函数)、掌握加惩罚项(2范数)的损失函数优化、梯度下降法、共轭梯度法、理解过拟合、克服过拟合的方法(如加惩罚项、增加样本) 二.实验要求和实验环境 实验要求 生成数据,加入噪声; 用高阶多项式函数拟合曲线; 用解析解求解两种loss的最优解(无惩罚项和有惩罚项) 优化方法求解最优解(梯度下降,共轭梯度); 用你得到的实验数据,解释过拟合。 用不同数据量,不同超参数,不同的多项式阶数,比较实验效果。 语言不限,可以用matlab,python。求解解析解时可以利用现成的矩阵求逆。梯度下降,共轭梯度要求自己求梯度,迭代优化自己写。不许用现成的平台,例如pytorch,tensorflow的自动微分工具。 实验环境 Microsoft win10 1809 python 3.7.0 Sublime Text 3 三.设计思想 1.算法原理 (0)数据的产生 x为 到 之间的随机数. 噪音 由一个标准正态分布函数 *0.1 产生 y = sin(x) + 利用循环, 根据x产生范德蒙德矩阵X 将 X, y 都转为矩阵类型 (1) 解析解(不带惩罚项) 误差函数: 将上式写成矩阵形式: 通过将上式求导我们可以得到式 令 得到

python3(五)无监督学习

拟墨画扇 提交于 2019-12-06 16:45:46
无监督学习 目录 1 关于机器学习 2 sklearn库中的标准数据集及基本功能 2.1 标准数据集 2.2 sklearn库的基本功能 3 关于无监督学习 4 K-means方法及应用 5 DBSCAN方法及应用 6 PCA方法及其应用 7 NMF方法及其实例 8 基于聚类的“图像分割” 正文 回到顶部 1 关于机器学习    机器学习是实现人工智能的手段, 其主要研究内容是如何利用数据或经验进行学习, 改善具体算法的性能      多领域交叉, 涉及概率论、统计学, 算法复杂度理论等多门学科      广泛应用于网络搜索、垃圾邮件过滤、推荐系统、广告投放、信用评价、欺诈检测、股票交易和医疗诊断等应用   机器学习的分类      监督学习 (Supervised Learning)       从给定的数据集中学习出一个函数, 当新的数据到来时, 可以根据这个函数预测结果, 训练集通常由人工标注      无监督学习 (Unsupervised Learning)       相较于监督学习, 没有人工标注      强化学习 (Reinforcement Learning,增强学习)       通过观察通过什么样的动作获得最好的回报, 每个动作都会对环境有所影响, 学习对象通过观察周围的环境进行判断      半监督学习 (Semi-supervised Learning)

深度学习理论之数学基础

一笑奈何 提交于 2019-12-06 16:34:28
一、线性代数 1.1 标量、向量、矩阵和张量 标量 :一个单独的数 向量 :一列数,一维数组 矩阵 :二维数组 张量:超过二维的数组 转置: 以对角线为轴的镜像。 1.2 矩阵和向量相乘 矩阵乘法 :两个矩阵A和B的矩阵乘积(matrix product)是第三个矩阵 C。为了使乘法定义良好,矩阵 A 的列数必须和矩阵 B 的行数相等。如果矩阵 A 的形状是 m × n,矩阵 B 的形状是 n × p,那么矩阵C 的形状是 m × p 点积: 1.3 单位矩阵和逆矩阵 单位矩阵:所有沿主对角线的元素都是 1,而所有其他位置的元素都是0,计作: 逆矩阵: 求逆矩阵的条件: 矩阵A必须是一个 方阵(square),即 m = n,并且所有列向量都是线性无关的。一个列向量线性相关的方阵被称为 奇异的 (singular)。 1.4 范数 L 2 范数: 当 p = 2 时,L2 范数被称为 欧几里得范数(Euclidean norm)。它表示从原点出发到向量 x 确定的点的欧几里得距离。L2 范数在机器学习中出现地十分频繁,经常简化表示为 ∥x∥,略去了下标 2。平方 L 2 范数也经常用来衡量向量的大小. L 1 范数: 当机器学习问题中零和非零元素之间的差异非常重要时,通常会使用 L 1 范数 Frobenius 范数: 有时候我们可能也希望衡量矩阵的大小。 1.5

深度学习入门之数学基础概念

独自空忆成欢 提交于 2019-12-06 16:33:48
深度学习之线代复习 标量、向量、矩阵和张量 标量(scalar):一个标量就是一个单独的数。 向量:一个向量是一列数,这些数是有序排列的。我们可以把向量看作空间中的点,每个元素是不同坐标轴上的坐标。 矩阵:矩阵是一个二维数组,其中的每一个元素被两个索引(而非 一个)所确定。 张量(tensor):在某些情况下,我们会讨论坐标超过两维的数组。一般地,一 个数组中的元素分布在若干维坐标的规则网格中,我们称之为张量。 矩阵的向量相乘 在深度学习中, 我们也使用一些不那么常规的符号。我们允许矩阵和向量相 加,产生另一个矩阵:C = A + b,其中 C i , j C_{i,j} C i , j ​ = A i , j A_{i,j} A i , j ​ + b j b_j b j ​ 。换言之,向量 b 和矩阵 A 的每一行相加。这个简写方法使我们无需在加法操作前定义一个将向量 b 复制 到每一行而生成的矩阵。这种隐式地复制向量 b 到很多位置的方式,被称为广播。 A ⊙ B(dot product)被称为元素对应乘积(element-wise product)或者Hadamard乘积(Hadamard product) 矩阵乘积满足分配律,结合率,但不一定满足AB=BA的交换律。 单位矩阵和逆矩阵 任意 向量和单位矩阵相乘,都不会改变。我们将保持 n 维向量不变的单位矩阵记作 I n

深度学习涉及的数学知识

与世无争的帅哥 提交于 2019-12-06 16:31:50
向量 在线性代数中,标量(Scalar)是一个实数,而向量(Vector)是指n 个实数组成的有序数组,称为n 维向量。如果没有特别说明,一个n 维向量一般表示列向量,即大小为n *1 的矩阵。 向量符号一般用黑体小写字母a,b,c或小写希腊字母 等来表示。 常用的向量 矩阵运算 常见的矩阵 导数 向量的导数 导数法则 加减法则 乘法法则 链式法则 常见的向量和矩阵的导数 来源: CSDN 作者: perfectzq 链接: https://blog.csdn.net/perfectzq/article/details/71373304

09 线性回归及矩阵运算

南楼画角 提交于 2019-12-06 16:03:43
线性回归 定义:通过一个或者多个自变量与因变量之间进行建模的回归分析。其中可以为一个或者多个自变量之间的线性组合。 一元线性回归:涉及到的变量只有一个 多元线性回归:变量两个或以上 通用公式:h(w) = w0 + w1x1 + w2x2 + ....= wTx 其中w,x 为矩阵:wT=(w0, w1, w2) x=(1,x1, x2)T 回归的应用场景 (连续型数据) 房价预测 销售额预测 (广告,研发成本,规模等因素) 贷款额度 线性关系模型 定义: 通过属性 (特征) 的线性组合来进行预测的函数: f(x) = w1x1 + w2x2 + w3x3 + ...... + wdxd + b w : weight (权重) b: bias (偏置项) 多个特征: (w1:房子的面积, w2:房子的位置 ..) 损失函数(误差) 《统计学习方法》 - 算法 ,策略, 优化 线性回归, 最小二乘法,正规方程 & 梯度下降 损失函数(误差大小) yi 为第i个训练样本的真实值 hw(xi)为第i个训练样本特征值组合预测函数 (预测值) 寻找最优化的w 最小二乘法之 正规方程 (直接求解到最小值,特征复杂时可能没办法求解) 求解:w= (xTx)-1 xTy X 为特征值矩阵,y为目标值矩阵 缺点: 特征过于复杂时,求解速度慢 最小二乘法之 梯度下降 使用场景

Python矩阵逆转与转置

本秂侑毒 提交于 2019-12-06 15:12:22
numpy实现 import numpy as np np.transpose([list]) # 矩阵转置 np.transpose([list]).tolist() # 矩阵转list >>> import numpy as np >>> np.transpose([[1, 2, 3], [1, 2, 3], [1, 2, 3]]) array([[1, 1, 1], [2, 2, 2], [3, 3, 3]]) >>> np.transpose([[1, 2, 3], [1, 2, 3], [1, 2, 3]]).tolist() [[1, 1, 1], [2, 2, 2], [3, 3, 3]] 矩阵转置 矩阵的转置就是从行变成列, 列变成行 用zip将一系列可迭代对象中的元素打包为元组,之后将这些元组放置在列表中,两步加起来等价于行列转置。 # 矩阵的转置 def transpose(list1): return [list(row) for row in zip(*list1)] list1 = [[1, 4], [2, 5], [3, 6]] print(transpose(list1)) # [[1, 2, 3], [4, 5, 6]] # 矩阵逆转 def invert(list1): return [row[::-1] for row in list1]