矩阵求导解最小二乘问题

关于最小二乘问题的求解,之前已有梯度下降法,还有比较快速的牛顿迭代。今天来介绍一种方法,是基于矩阵求导来计算的,它的计算方式更加简洁高效,不需要大量迭代,只需解一个正规方程组。 在开始之前,首先来认识一个概念和一些用到的定理。矩阵的迹定义如下 一个的矩阵的迹是指的主对角线上各元素的总和,记作。即                                                    ...
分类: 其他 发布时间: 05-19 23:34 阅读次数: 5

监督学习应用.梯度下降

《Andrew Ng 机器学习笔记》这一系列文章文章是我再观看Andrew Ng的Stanford公开课之后自己整理的一些笔记,除了整理出课件中的主要知识点,另外还有一些自己对课件内容的理解。同时也参考了很多优秀博文,希望大家共同讨论,共同进步。网易公开课地址:http://open.163.com/special/opencourse/machinelearning.html参考博文:http:...
分类: 其他 发布时间: 05-19 23:33 阅读次数: 5

监督学习应用.正规方程组

《Andrew Ng 机器学习笔记》这一系列文章文章是我再观看Andrew Ng的Stanford公开课之后自己整理的一些笔记,除了整理出课件中的主要知识点,另外还有一些自己对课件内容的理解。同时也参考了很多优秀博文,希望大家共同讨论,共同进步。网易公开课地址:http://open.163.com/special/opencourse/machinelearning.html上篇博文介绍了梯度下...
分类: 其他 发布时间: 05-19 23:33 阅读次数: 4

温故:矩阵,求导等

1.矩阵的转置2.矩阵的迹3.逆矩阵4.方阵的行列式求导:
分类: 其他 发布时间: 05-19 23:33 阅读次数: 5

中心极限定理

中心极限定理是概率论中的一组定理。中心极限定理说明,在适当的条件下,大量相互独立随机变量的均值经适当标准化后依分布收敛于正态分布。这组定理是数理统计学和误差分析的理论基础,指出了大量随机变量之和近似服从正态分布的条件。独立同分布的中心极限定理设随机变量X1,X2,......Xn,......独立同分布,并且具有有限的数学期望和方差:E(Xi)=μ,D(Xi)=σ20(k=1,2....),则对任...
分类: 其他 发布时间: 05-19 23:32 阅读次数: 5

(数据科学学习手札36)tensorflow实现MLP

一、简介   我们在前面的数据科学学习手札34中也介绍过,作为最典型的神经网络,多层感知机(MLP)结构简单且规则,并且在隐层设计的足够完善时,可以拟合任意连续函数,而除了利用前面介绍的sklearn.neural_network中的MLP来实现多层感知机之外,利用tensorflow来实现MLP更加形象,使得使用者对要搭建的神经网络的结构有一个更加清醒的认识,本文就将对tensorflow搭建MLP模型的方法进行一个简单的介绍,并实现MNIST数据集的分类任务; 二、MNIST分类   作为
分类: 其他 发布时间: 05-19 23:31 阅读次数: 5

他学习一年Python找不到工作,大佬都说你别再学Python了!

引言: 都说,滴水穿石非一日之功。然而有些人即使奋斗一辈子也比不上别人一年,别人学习一年比不得你学习一个月。其中缘由,有些人看了大半辈子还没看明白。 即使Python这么火,为何你学习一年的Python还找不到工作? 我认为有以下四点非常关键: 1,功利心强: 急需赚钱之人,所以才会着重强调“赚钱”这个字眼。如果越是功力心强,进取心弱,越着急学,越学不明白。 2,基础薄弱: Python编程零基础的人,或者是基础十分薄弱之人,所在的工作岗位应该也涉及不到计算机编程,那么也许你也许还是一个初学者
分类: 其他 发布时间: 05-19 23:31 阅读次数: 5

Java基础19-基本类型包装类

简述 1.什么是基本类型包装类,以及为什么要有包装类? 2.演示包装类,装箱和拆箱操作。 3.包装类的常用操作方法。 4.包装类中的缓存设计 一、什么是基本类型包装类,以及为什么要有包装类? 1.我们先来看这样几个问题 问题1:面向对象中,一切皆对象,但基本类型变量不是对象,集合框架中只能存储对象类型,那怎么办呢? 问题2: 怎样给一个复杂十进制迅速转换成2进制、8进制、16进制? 问题3:使用一种数据类型表示成绩,若用double来表示,但是怎么表示一个人缺考和得0分? 上述问题因为基本数据
分类: 其他 发布时间: 05-19 23:31 阅读次数: 4

FFmpeg库简介

1.FFmpeg基本组成 FFmpeg框架的基本组成包含AVFormat、AVCodec、AVFilter、AVDevice、AVUtils等模块库,如下图所示。 libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能;音视频的格式解析协议,为 libavcodec 分析码流提供独立的音频或视频码流源。 libavcodec:用于各种类型声音/图像编解码。该库是音视频编解码核心,实现了市面上可见的绝大部分解码器的功能, liba
分类: 其他 发布时间: 05-19 23:31 阅读次数: 4

并发编程之 Fork-Join 分而治之框架

前言 “分而治之” 一直是一个有效的处理大量数据的方法。著名的 MapReduce 也是采取了分而治之的思想。简单来说,就是如果你要处理1000个数据,但是你并不具备处理1000个数据的能力,那么你可以只处理其中的10个,然后,分阶段处理100次,将100次的结果进行合成,那就是最终想要的对原始的1000个数据的处理结果。 Fork & Join 的具体含义 Fork 一词的原始含义是吃饭用的叉子,也有分叉的意思。在Linux 平台中,函数 fork()用来创建子进程,使得系统进程可以多一个执
分类: 其他 发布时间: 05-19 23:31 阅读次数: 5

Lintcode 729. 阶乘除法的最后一位数

描述 给出两个数 A 和 B, 其中 B >= A. 我们需要计算结果 F 的最后一位数是什么, 其中F = B! / A!(1 <= A, B <= 10^18, A 和 B 非常大) 样例 给出 A = 2, B = 4, 返回 2 A! = 2 以及 B! = 24, F = 24 / 2 = 12 --> 最后一位数为 2 给出 A = 107, B = 109, 返回 2 思路:分析下各种情况就可以了,简单题 1 class Solution { 2 public: 3
分类: 其他 发布时间: 05-19 23:31 阅读次数: 5

并发编程线程通信之管道流

前言 在并发编程中,需要处理两个问题:线程之间如何通信及线程之间如何同步。通知是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,通过写-读内存中的公共状态进行隐式通信。而子啊消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过发送消息来显式进行通信。 Java 的并发才作用的是共享内存模型,Java线程之间的通信总是隐式进行,整个通信过程对程序员完全透明。 而Java中还有另一种用的比较
分类: 其他 发布时间: 05-19 23:31 阅读次数: 5

OpenCV学习记录之摄像头调用

关于opencv调用摄像头的问题主要是因为摄像头的打开有延时。在显示图像前,要用if语句判断图像是否存在。(否则会报错) 具体的:教程里的源程序,将if条件句里,break去掉,并增加else语句。 [cpp] view plain copy #include<opencv2/opencv.hpp> #include<cv.h> using namespace cv; using namespace std; //-----------------------------------【main
分类: 其他 发布时间: 05-19 23:31 阅读次数: 4

缓存穿透、缓存击穿与缓存雪崩

缓存穿透、缓存击穿与缓存雪崩 https://www.cnblogs.com/chanshuyi/p/how_to_deal_with_massive_request_in_redis.html 从第一个缓存框架 Memcached 诞生以来,缓存就广泛地存在于互联网应用中。如果你的应用流量很小,那么使用缓存可能并不需要做多余的考虑。但如果你的应用流量达到了成百上千万,那么你就不得不考虑深层次的缓存问题:缓存穿透、缓存击穿与缓存雪崩。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,因为这个数
分类: 其他 发布时间: 05-19 23:31 阅读次数: 5

并发编程之 SynchronousQueue 核心源码分析

前言 SynchronousQueue 是一个普通用户不怎么常用的队列,通常在创建无界线程池(Executors.newCachedThreadPool())的时候使用,也就是那个非常危险的线程池 ^_^。 它是一个非常特殊的阻塞队列,他的模式是:在 offer的时候,如果没有另一个线程在 take 或者 poll 的话,就会失败,反之,如果在 take或者 poll的时候,没有线程在offer ,则也会失败,而这种特性,则非常适合用来做高响应并且线程不固定的线程池的Queue。所以,在很多高
分类: 其他 发布时间: 05-19 23:31 阅读次数: 4

BKL 大内核锁

                BKL 大内核锁 BKL是一种递归锁。一个进程可以多次请求一个锁,并不会像自旋锁那么产生死锁。 BKL可以在进程上下文中。 BKL是有害的。 在内核中不鼓励使用BKL。一个执行线程可以递归的请求锁lock_kernel(),但是释放锁时也必须调用同样次数的unlock_kernel()操作,在最后一个解锁操作完成之后,锁才会被释放。 参考:https://blog.csdn.net/qinzhonghello/article/details/3564984
分类: 其他 发布时间: 05-19 23:31 阅读次数: 5

并发编程之 CountDown 源码分析

前言 Doug Lea 大神在 JUC 包中为我们准备了大量的多线程工具,其中包括 CountDownLatch ,名为倒计时门栓,好像不太好理解。不过,今天的文章之后,我们就彻底理解了。 如何使用? 在 JDK 的文档中,带有 2 个例子,我们使用其中一个,测试代码如下: class Driver2 { public static void main(String[] args) throws InterruptedException { CountDownLatch done
分类: 其他 发布时间: 05-19 23:31 阅读次数: 5

ballerina 学习十五 错误&&异常处理

ballerina 的error 处理和elxiir 以及rust 比较类似使用模式匹配,但是他的 error lifting 还是比较方便的 同时check 也挺好,异常处理没什么特殊的 throw 以及 throw catch finally 简单例子 error-handling import ballerina/io; function getAccountBalance(int accountID) returns (int|error) { if (accountI
分类: 其他 发布时间: 05-19 23:31 阅读次数: 5

人工智能教程010:创建卷积神经网络进阶(2)

概念说明 1、激活函数 激活函数是为了增加神经网络模型的非线性。否则你想想,没有激活函数的每层都相当于矩阵相乘。就算你叠加了若干层之后,无非还是个矩阵相乘罢了。所以你没有非线性结构的话,根本就算不上什么神经网络。 激活函数的作用 首先,激活函数不是真的要去激活什么。在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。 比如在下面的这个问题中: 如上图(图片来源),在最简单的情况下,数据是线性可分的,只需要一条直线就已经能够对样本进行很好地分
分类: 企业开发 发布时间: 05-19 23:31 阅读次数: 7

springboot 整合redis

1,准备 ①,一个linux虚拟机,安装好docker,再安装redis镜像,然后启动redis容器 ②,身为程序员linux不可不玩,而docker就是一个强有力的工具 ③,springboot版本2.0.2.RELEASE 2,redis配置 import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.
分类: 服务端 发布时间: 05-19 23:31 阅读次数: 4