一、代价函数(Cost Function)
学习算法依然是从学习代价函数开始,在此之前,先回顾几个定义:

L = 神经网络的总层数
​\( s_l \)​ = 第L层的单元数量(不含偏置单元)
K = 输出单元/类型的数量
​\( h_\Theta(x)_k \)​ = 假设函数中的第k个输出
在这章里,神经网络的代价函数是逻辑回归代价函数的推广,我们先回顾逻辑回归的代价函数:

\[ J(\theta) = – \frac{1}{m} \sum_{i=1}^m \large[ y^{(i)}\ \log (h_\theta (x^{(i)})) + (1 – y^{(i)})\ \log (1 – h_\theta(x^{(i)}))\large] + \frac{\lambda}{2m}\sum_{j=1}^n \theta_j^2 \space\space\space\space\space\space(1.1)\]

接着推广到神经网络,先回顾一下它的模型:

 \[ \begin{align*}\begin{bmatrix}x_0 \newline x_1 \newline x_2 \newline\cdots \newline x_n\end{bmatrix} \rightarrow\begin{bmatrix}a_0^{(2)} \newline a_1^{(2)} \newline a_2^{(2)} \newline\cdots\end{bmatrix} \rightarrow\begin{bmatrix}a_0^{(3)} \newline a_1^{(3)} \newline a_2^{(3)} \newline\cdots\end{bmatrix} \rightarrow \cdots \rightarrow\begin{bmatrix}h_\Theta(x)_1 \newline h_\Theta(x)_2 \newline h_\Theta(x)_3 \newline h_\Theta(x)_4 \newline\end{bmatrix} \rightarrow\end{align*} \] 

一、HDFS Java API的使用
操作HDFS的常用api有下面几种:

创建目录、上传文件、下传文件
移动文件、重命名文件、删除文件
查看HDFS存储的文件列表
查看HDFS存储的所有文件信息

神经元和大脑(Neurons and the Brain)

我们知道,目前大脑拥有最厉害的“机器学习”算法,那我们能否模仿它来实现更好的机器学习算法呢?神经网络可以在一定程度上模仿大脑的运作机制。这一领域早就已经有了很多概念,不过因为运算量大而难以进一步发展;近年来,随着计算机速率的提升,神经网络也得到了发展的动力,再次成为热点。

我们对于不同的数据处理需求可能会提出各种不同的算法,那么,有没有可能所有需求都由一个算法来实现,就像物理一样,人类追求一个大一统的“统一场论”呢?

科学家尝试做过这么一个实验:将大脑中听觉皮层与耳朵之间的神经连接切断,并且将听觉皮层与眼睛相连,结果发现听觉皮层可以“看到”东西。

一、前言
这个系列的笔记是根据网上的大数据教程记录的。笔记内容以课堂内容为主,方便复习。这个课程主要涉及了Hadoop离线处理框架、Storm实时处理工具、Kafka消息队列等方面的知识,内容不是特别深入,仅供入门学习。限于我仍是初学者,对于课程的笔记难免有不准确的地方,欢迎大家指正。

二、数据部
1、数据部的一般组织架构
对于目前流行的“大数据”一词,其实我个人会倾向于尽量避开,因为它涉及到的内容实在是太宽泛了。

在这里,将企业与数据相关的部门泛称为数据部。首先来看看,这个部门中有哪些岗位/职责。

对于离线平台组:

Hadoop集群运维工程师:Linux运维、Hadoop集群运维调优、服务器运维
Hive工程师:类似于用sql来写分析
ETL工程师:Flume数据收集、数据加载Hadoop、数据标准化
对于实时平台组:

相当于JAVA EE继续往后深入,其中流式计算框架有Storm/JStorm,消息队列有Kafka/Metaq

目前我们已经掌握了一些基础的回归和分类算法,本章需要讨论一下拟合模型的适用性问题,以及对应的优化措施。

一、过拟合问题(Overfitting)
我们知道,机器学习训练的目的是为了让模型更好的拟合实际情况,从而指导我们进行预测。评价一个模型拟合度是否优良的参考之一是它与实际数据集的偏差程度,我们用代价函数来定量,一般代价函数越小越好。那么,是否会有一些意外情况出现呢?

我们来看下面这个问题,对于图中的数据集,分别使用了不同次数的多项式进行拟合:线性回归模型下,模型预测与数据集有一些差距,但是大方向是不错的;二次多项式模型下,模型与数据集的偏差更小了,模型曲线光滑平整;四次多项式模型下,模型与数据集完全对应上,没有偏差,但是曲线歪曲,在大方向上似乎并不是特别准。

这三种模型,让你实际使用的话,凭直觉来看,你更偏向于使用哪一个呢?相信你会更相信二次多项式的模型吧。

一、0-1分类(Binary Classification)
这章我们讨论分类问题,先从简单的0-1分类说起。

与回归问题不同的是,分类问题中,输出y不是连续的值,只能是0或者1。并且,0一般用来代表“消极的类型”,1代表“积极的类型”,当然也可以任意指定。

一种分类方法是,使用线性回归来划分,将h函数的输出按小数点后一位四舍五入,那么当h>0.5时,即认为y=1;这种算法并不是特别好,因为分类问题毕竟不是线性的(如下图中,最右的那个数据)。

一、多元线性回归(Multivariate Linear Regression)的数值计算法 1.多元假设方程( The multivariable form of the hypothesis function) 若我们的假设方程h有多个特征量,如:​ \( x_1 \) ​表示房屋的面积,​ \( x_2 \) ​表示房间数, \( x_3 \) 表示层数,​ \( x_4 \) ​表示房屋的年龄,那么新的假设方程为: \[ h_\theta=\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_3+\theta_4x_4 \] 也就是说,我们可以推广单变量假设得到多变量假设方程:\[ h_\theta=\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_3+…+\theta_nx_n \space\space\space\space\space\space(1.1)\]

上一章已经通过卖房价格的模型简单介绍了什么是回归:我们尝试将变量映射到某一个连续函数上。这章我们将这个问题简单地量化为单变量线性回归模型(Univariate linear regression)来理解它。

我们现在有了数据集,并且可以通过改变参数来调整h函数,那么,我们如何定义什么是“更好”的h函数呢?
一般而言,我们通过调整θ,使得所有训练集数据与其拟合数据的差的平方和更小,即认为得到了拟合度更好的函数。

现在我们得到了代价函数J,那么我们如何求出J的最小值呢?

这一章我们使用数值计算的方法(后面我们会学习解析解法):
从某一对​\( \theta_{0},\theta_{1} \)​出发
不断尝试改变,使得 J 减小,逐步逼近最小值(迭代)
改变的策略:每一次改变的方向,取当前位置梯度下降的方向:

前言 吴恩达教授(Andrew Ng)的《机器学习》课程目前流传着两个版本,一个是早期的斯坦福大学的公开课(CS299),这个版本录制于吴恩达教授在斯坦福大学任教时期,课时较长,理论内容也更为深入;另一个是目前Coursera上更新的网课版本,课时较短,配有较多programming exercise。一般认为,Coursera版本更加适合快速入门,斯坦福版本适合进阶深究。 “吴恩达《机器学习》课程学习笔记”这个系列,是用来记录学习Coursera版本过程中的内容的。限于我仍是机器学习的初学者,在笔记过程中难免会出现思路、方法的不周之处。如果对笔记中的公式、内容有疑问,请先到Coursera查看吴恩达教授的讲义。

根据本文步骤操作,你可以架设出自己的个人网站。本文主要内容如下:

购买到一个VPS服务器、一个域名,并建立域名解析;
安装LNMP一键安装包,完成其中Nginx、Mysql、PHP的配置;
部署WordPress到VPS上,实现基本的个人网站功能;
实现WordPress主题、插件一键安装功能;
通过重定向强制使用SSL传输,全站启用https;
推荐了几个常用的插件。

Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert