一个手艺人
很久没更新博客了,这一次我们继续之前的机器学习的课程,这一节我们讨论机器学习里面重要的一个算法——神经网络(Nerual Network)的学习部分。 神经网络的代价函数 首先我们要引入一些标记,以便在后面讨论中使用: 我们回想一下,在逻辑回归(Logistic Regression)问题中,我们的代价函数(Cost Function)如下: 在逻辑回归中,我们只有一个输出
之前我们了解了神经网络模型(Nerual Network),这一次,我们来具体讨论一下神经网络模型的表达。 我们知道,神经网络模型是许多逻辑单元(Logistics Unit)按照不同的层级组织起来的网络,每一层的输出变量作为下一层的输入变量。如下图,是一个三层的神经网络,第一层为输入层(Input Layer),最后一层为输出层(Output Layer),中间的一层为隐藏层(Hi
在讨论神经网络之前,我们先回顾一下之前的一系列讨论。 之前我们已经讨论过,非线性假设(Non-Linear Hypothesis),使用非线性的多项式能够帮助我们建立更好的分类模型(Classification)。假设我们有非常多的特征,例如大于10000个变量,我们希望用这10000个特征来构建一个非线性的多项式模型,那么结果将是数量非常惊人的特征组合,即便我们只采用两两特征的组合(x
之前的博客里,跟大家分享了归一化(Regularization)的概念:保留所有的特征,但是减小参数的大小(Magnitude)。 这一次捏,跟大家讨论讨论,归一化线性回归模型和归一化逻辑回归模型。 首先跟大家明确一件事,为什么有些机器学习的模型需要用到归一化这个方法呢?答案有两条: 归一化能够加快梯度下降的步伐,也就是获得最优解的速度 归一化能够提交模型的精度 具体的分析我
之前我们讨论了几个机器学习的模型,线性回归模型(Linear Regression)和逻辑回归模型(Logistic Regression),这一次我们讨论一下关于模型数据拟合的问题以及归一化方法(Regularization)。 过拟合问题(The Problem of Overfitting) 如果我们有非常非常多的特征,我们通过学习得到的假设可能会非常适应训练集(代价函数的值可能
判定边界(Decision Boundary) 上一次我们讨论了一个新的模型——逻辑回归模型(Logistic Regression),在逻辑回归中,我们预测: 当hø大于等于0.5时,预测y=1 当hø小于0.5时,预测y=0 根据上面的预测,我们绘制出一条S形函数,如下: 根据函数图像,我们知道,当 z=0时,g(z)=0.5 z>0时,g(z)
在讨论逻辑回归问题(Logistic Regression)之前,我们先讨论一些实际生活中的情况:判断一封电子邮件是否是垃圾邮件?判断一次交易是否是欺诈交易?判断一份文件是否是有效文件?这类问题,我们称之为分类问题(Classication Problem)。在分类问题中,我们往往尝试去预测的结果是否属于某一个类(正确活错误)。 我们从二元的分类问题开始讨论,即问题是正确或错误的。 我
上一次我们分享了多变量线性回归模型(Linear Regression with Multiple Variables),这一次我们来讨论一下多项式回归(Polynomial Regression) 和正规方程(Normal Equation)。(我们还是讨论房价预测的问题) 多项式回归 有时候,线性回归并不适用于所有全部的数据,我们需要曲线来适应我们的数据,比如一个二次方模型:
在之前的博客中,描述过单变量线性回归(Linear Regression with One Variables)的模型,这次来分享一下多变量线性回归模型(Linear Regression with Multiple Variables)。 我们还是使用之前的问题,对房价的预测。这一次增加更多的特征,例如房子的楼层数、卧室数量等,这样就构成了一个含有多个变量的模型,模型中的特征我们标
在开发大型系统过程中,往往会出现这样一种情况: 我有一部分基础数据,是类classA是从数据库A读取出来的,其他很多的功能都是基于这个基础数据来操作的。现在呢,我想把数据从数据库A变成从另外的数据源去获取,这时候,要修改起来就比较麻烦,要修改其他很多类的代码。这种设计显然是不够灵活的,换句话说,就是紧耦合的,系统中某个部分的函数或类严重依赖于系统的其他部分中的函数或类的行为和结构。 工
线性回归 线性回归(Linear Regression)作为Machine Learning 整个课程的切入例子确实有独到的地方,以简单的例子为出发点,将学习任务的主干串起来。问题的建模可以简单如下图所示: 线性回归可以分为单变量线性回归(Linear Regression with One Variable)以及多变量线性回归(Linear Regression with Mul
最近在优化公司代码的时候,发现了一些for循环,条件变量的自增都使用的是 i ++ , 让我想起来之前想到的问题 —— i ++ 和 ++ i 。 很多书籍,都会写到i++和++i的问题,在大部分计算机人(包括本王)都熟悉的谭浩强版的教材中,也着重讲了 ++ 和 -- 操作,也加入了一些难点,这使得一部分人对这个操作上有了一些不一样的认识。 很经典的论述: example 1 :
一,LRU 原理 LRU(Least Recently Used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 实现 最常见的实现是使用一个链表保存缓存数据,详细算法实现如下: 1. 新数据插入到链表头部; 2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部;
HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。 计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后W
昨天在做练习题的时候,看到了一道设计等概率随机函数的练习题,突然想到了之前看到过的问题,故仔细求解。 问题如下: 现有一个等概率随机函数f5,返回1~5这5个自然数随机一个数,需要用f5来构造f7,返回1~7这7个自然数的随机一个数,请问f7该如何构造? 我灵光一现,这个简单啊,f5+f5%3,OK。但是仔细想想,好像不对,f5%3中,0的概率是1/5,1和2的概率是2/5,
前段时间,google的alphaGo让大家的眼睛都聚焦到这一“人工智能”上了。那么就当时应景吧,写一写我关于机器学习的一些笔记及认识,内容主要根据在Coursera上Andrew Ng大神的课程来做笔记。 首先,什么是机器学习? 参照百度百科的讲解,“机器学习是一门多领域交叉学科,设计概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习能力
链表是一种在逻辑上连续、有序的数据存储结构(在物理存储单元上非连续非有序)。在我大学的时候,学习C++的数据结构课程时,最先接触的就是链表(大学是学渣别喷...) 那么链表是怎样的一种结构呢? 用“形象的”文字来描述就是: node_1->node_2->node_3->node_4->...->node_n , 每一个node包含一些存储的数据 引用
首先我们看一个这样的应用场景: 我们打开jd.com京东商城的官网首页,我们看到很多商城里的数据。我们知道页面的数据来源于数据库(亦或是缓存),从页面而看,数据分成了不同的模块,如下图。 那么问题来了,不同模块的数据,是怎么通过一个请求资源来请求的呢?换句话说,如果每一个sql都要执行一次数据库连接,这将会是很多次连接,那么是怎么做到一个请求使用一个连接来处理的呢? 有几
当一个项目需要根据不同的请求载入不同的类的时候,之前的做法是require不同的文件进来,但是如果数量巨大就没办法一个语句一个语句去写,而且如果有不小心误删的文件,就会导致PHP FATAL ERROR。在php5.2之后,我们使用__autoload()方法来自动加载类,但是这个方式后来也不好。比如在一个项目中我引入了三个框架,每个框架都有一个autoload,这样的话会报一个函数名重复
“约瑟夫环”是一个数学的应用问题:一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数, 再数到第m只,在把它踢出去…,如此不停的进行下去, 直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。 下面列出了三种用PHP来解决此问题的方法: 按逻辑依次去除 递归算法 线性表
最近好奇,接触接触PHP的socket编程,发现还是很好玩儿的。下面贴出来demo源码跟大家分享 Server.php <?php /** * PHP Socket Server * */ //确保客户端连接时不会超时 error_reporting(0);
同事今天中午去参加一个面试,有一道面试题比较基础 把 a b c 1 1 1.1 1 2 1.2 1 3 1.3 2 1 2.1 2 2 2.2 2 3 2.3 变成