摘要: 在计算机存储数据时必须要知道三个基本要素:信息存储在何处?存储的值为多少?存储的值是什么类型?**因此指针是表示信息在内存中存储地址的一类特殊变量,指针和其所指向的变量就像是一个硬币的两面。**指针一直都是学习C语言的难点,在C++中又多了一个引用的概念。初学时很容易把这两个概念弄混,下面就来通过一 阅读全文
posted @ 2021-06-28 20:55 ZhiboZhao 阅读(2743) 评论(2) 推荐(2) 编辑
摘要: C++ 在程序执行时,将内存大致分为代码区,全局区,栈区和堆区四个区域。不同的区域存储不同的数据,赋予不同的生命周期,能够更灵活地进行编程。 代码区:存放函数体的二进制代码,由操作系统管理创建,代码区时共享的,对于频繁被执行的程序,只需要存有一份代码即可; 全局区:存放全局变量和静态变量以及常量,在 阅读全文
posted @ 2021-06-27 19:56 ZhiboZhao 阅读(1521) 评论(2) 推荐(0) 编辑
摘要: 前几天主要更新了一下机器学习的相关理论,主要介绍了感知机,SVM以及线性判别分析。现在用代码来实现一下其中的模型,一方面对存粹理论的理解,另一方面也提升一下代码的能力。本文就先从线性判别分析开始讲起,不熟悉的可以先移步至线性判别分析(Linear Discriminant Analysis, LDA 阅读全文
posted @ 2021-06-26 23:22 ZhiboZhao 阅读(674) 评论(0) 推荐(0) 编辑
摘要: 一、线性判别器的问题分析 线性判别分析(Linear Discriminant Analysis, LDA)是一种经典的线性学习方法,在二分类问题上亦称为 "Fisher" 判别分析。与感知机不同,线性判别分析的原理是降维,即:给定一组训练样本,设法将样本投影到某一条直线上,使相同分类的点尽可能地接 阅读全文
posted @ 2021-06-26 19:57 ZhiboZhao 阅读(1004) 评论(0) 推荐(0) 编辑
摘要: 感知机与SVM一样都是使用超平面对空间线性可分的向量进行分类,不同的是:感知机的目标是尽可能将所有样本分类正确,这种策略指导下得出的超平面可能有无数个,然而SVM不仅需要将样本分类正确,还需要最大化最小分类间隔,对SVM不熟悉的朋友可以移步我另一篇文章:支持向量机(SVM)之硬阈值 - ZhiboZ 阅读全文
posted @ 2021-06-24 23:22 ZhiboZhao 阅读(1398) 评论(0) 推荐(1) 编辑
摘要: 支持向量机 ( support vector machine, SVM ) 是使用超平面来对给定的 p 维向量进行分类的非概率二元线性分类器。 一、超平面 ( hyperplane ) 在一个p维的输入空间,超平面就是 \(p-1\) 维的子空间。比如:在一个二维输入的空间,超平面就是一维,也就是直 阅读全文
posted @ 2021-06-24 00:34 ZhiboZhao 阅读(1417) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章从数学角度上分析了过拟合产生的原因以及在损失函数中添加正则化从而在一定程度上避免过拟合,并从MLE和MAP两个角度来对线性回归进行建模,进而求解。然而在求解过程中,涉及到一些矩阵求导的基础知识,由于篇幅原因,现在本篇文章中做一个简要说明。 对一元函数 \(y=f(x)\),输入是一维变量( 阅读全文
posted @ 2021-06-22 13:30 ZhiboZhao 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 本文主要以线性回归为切入点,分析了过拟合出现的原因以及正则化的理解,并从MLE和MAP两个方面重新对线性回归进行了求解,揭示了MLE,MAP与正则化之间的关系。 一、最小二乘的简要回顾 假设输入空间为: \(x_{m \times n} = (x_{1}, x_{2},...,x_{i},...,x 阅读全文
posted @ 2021-06-21 23:58 ZhiboZhao 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 统计学习(statistical learning)通过基于数据构建的概率统计模型并将其用于对数据进行预测。通俗点讲:统计学习从数据数据出发,通过假设同类数据具有一定的统计规律性,抽象出数据的模型,然后对数据进行分析和预测。统计学习通常分为监督学习,无监督学习,半监督学习和强化学习等,其中,监督学习 阅读全文
posted @ 2021-06-21 20:41 ZhiboZhao 阅读(219) 评论(2) 推荐(0) 编辑
摘要: 既然了解了R语言的基本数据类型,那么如何将庞大的数据送入R语言进行处理呢?送入的数据又是如何在R语言中进行存储的呢?处理这些数据的方法又有那些呢?下面我们一起来探讨一下。 首先,数据输入最直接最直观的方法就是键盘输入,在上面几篇都已经讲到,利用c创建向量,利用matrix创建矩阵,利用data.fr 阅读全文
posted @ 2019-01-31 17:05 ZhiboZhao 阅读(3591) 评论(0) 推荐(0) 编辑