机器学习
吴恩达机器学习笔记
登龙
这个作者很懒,什么都没留下…
展开
-
从 0 开始机器学习 - 机器学习系统的设计
一、构建算法的推荐步骤当我们遇到一个问题,比如预测房价,我们想要用机器学习算法来更好的解决这个问题,推荐的步骤如下:1.1 实现一个简单的算法建议先花点时间实现一个简单能用的算法,比如线性回归预测房价,不需要一开始就花很多时间设计复杂的算法(在软件开发中叫避免过早优化),你可以先实现能用的算法,然后利用上篇文章从 0 开始机器学习 - 机器学习算法诊断中的学习曲线等诊断法来分析算法的优化方向,这样一个简单的算法就成为了优化问题的好工具!1.2 分析学习曲线有个简单的算法后,我们就可以画出学习曲线了原创 2020-07-27 22:40:38 · 205 阅读 · 0 评论 -
从 0 开始机器学习 - 机器学习算法诊断
今天跟大家分享下如何诊断一个算法是否存在偏差或者方差的问题,以及如何选择优化算法的方向。一、如何确定下一步的计划?当我们设计了一个机器学习算法,比如线性回归或逻辑回归,并且算法已经能够正常工作,只是效果还不是太好,那用什么方法来提高算法的性能或者准确度呢?或者说在想办法提升性能之前,有没有一种方法来告诉我们下一步对我们设计的机器学习算法该采取什么步骤,比如:获得更多的训练样本尝试减少特征的数量尝试获得更多的特征尝试增加多项式特征尝试减少正则化程度尝试增加正则化程度...上面 6 种思原创 2020-07-16 16:24:54 · 245 阅读 · 0 评论 -
从 0 开始机器学习 - 神经网络反向 BP 算法!
最近一个月项目好忙,终于挤出时间把这篇 BP 算法基本思想写完了,公式的推导放到下一篇讲吧。一、神经网络的代价函数神经网络可以看做是复杂逻辑回归的组合,因此与其类似,我们训练神经网络也要定义代价函数,之后再使用梯度下降法来最小化代价函数,以此来训练最优的权重矩阵。1.1 从逻辑回归出发我们从经典的逻辑回归代价函数引出,先来复习下:$$J(\theta) = \frac{1}{m}\sum\limits_{i = 1}^{m}{[-{y^{(i)}}\log ({h_\theta}({x^{(i)原创 2020-06-19 23:21:21 · 350 阅读 · 0 评论 -
从 0 开始机器学习 - 神经网络识别手写字符!
一、问题描述今天登龙跟大家分享下使用前馈神经网络识别 10 种类型手写字符的方法,不太了解神经网络基础的同学,可以查看我上一篇文章:从 0 开始机器学习- 深入浅出神经网络基础我们的目标就是用一个已经训练好的神经网络来预测下面这 10 类手写字符 [0 - 9]:每个字符是一个 20 X 20 = 400 像素的图片:OK!我们直接开始,先来看看我们用的神经网络的架构。二、神经网络架构我们在使用神经网络之前需要进行参数的训练,也就是训练权重矩阵,这篇博客就不详细展开如何训练了,后面单独写一篇原创 2020-05-25 09:53:35 · 469 阅读 · 0 评论 -
从 0 开始机器学习 - 逻辑回归识别手写字符!
之前的逻辑回归文章:从 0 开始机器学习 - 逻辑回归原理与实战!跟大家分享了逻辑回归的基础知识和分类一个简单数据集的方法。今天登龙再跟大家分享下如何使用逻辑回归来分类手写的 [0 - 9] 这 10 个字符,数据集如下:下面我就带着大家一步一步写出关键代码,完整的代码在我的 Github 仓库中:logistic_reg一、加载手写字符数据1.1 读取数据集raw_X, raw_y = load_data('ex3data1.mat')# 5000 x 400print(raw_X.sh原创 2020-05-21 10:01:41 · 580 阅读 · 0 评论 -
从 0 开始机器学习 - 正则化技术原理与编程!
之前学习了线性回归,逻辑回归和梯度下降法,今天学习的这个技术能够帮助我们训练的模型对未知的数据进行更好的预测 - 正则化技术!快来一起学习学习,学习使我快乐 (▽)!一、正则化是什么?正则化(Regulariation)这 3 个字听起来挺高大上的,其实就是一种解决机器学习过拟合问题的技术,使用这项技术可以让我们在训练集上训练的模型对未知的数据也能很好地拟合。机器学习模型对未知数据的拟合能...原创 2020-05-01 18:53:54 · 327 阅读 · 0 评论 -
从 0 开始机器学习 - 逻辑回归原理与实战!
之前的文章学习了线性回归,这次来跟大家分享下我对逻辑回归的一些理解。一、什么是分类问题?这个其实很好理解,就比如你手里有一个苹果和一个橘子,我们的分类问题就是可以描述为如何写一个算法让计算机认出哪个是苹果,哪个是橘子。分类问题的输出是不连续的离散值,比如设定程序输出 1 表示苹果,0 表示橘子。但我们之前学习的线性回归的输出是连续的,如预测房价,肯定不能用 0 和 1 来表示房价。所以记住...原创 2020-04-18 22:17:34 · 357 阅读 · 0 评论 -
从 0 开始机器学习 - 手把手用 Python 实现梯度下降法!
机器学习课程也上了一段时间了,今天就带大家从 0 开始手把手用 Python 实现第一个机器学习算法:单变量梯度下降(Gradient Descent)!我们从一个小例子开始一步步学习这个经典的算法。一、如何最快下山?在学习算法之前先来看一个日常生活的例子:下山。想象一下你出去旅游爬山,爬到山顶后已经傍晚了,很快太阳就会落山,所以你必须想办法尽快下山,然后去吃海底捞。那最快的下山方法是什...原创 2020-04-09 18:24:26 · 336 阅读 · 0 评论 -
从 0 开始机器学习 - 一文入门多维特征梯度下降法!
今天登龙跟大家分享下我对多维特征的读取、缩放和多变量梯度下降算法的理解,文章不长,有理论也有实际的代码,下面开始,Go!一、如何表示多维特征?1.1 特征缩放实际项目中在读取多维特征之前需要先对数据进行缩放,为什么呢?因为在有了多维特征向量和多变量梯度下降法后,为了帮助算法更快地收敛,还需要对选用的特征进行尺度缩放,其实就是缩小特征值,将多个特征的值都缩小到同样大小的区间,通常是缩小到 [...原创 2020-04-02 18:05:25 · 698 阅读 · 2 评论 -
吴恩达机器学习笔记 - 线性回归 & 代价函数 & 梯度下降
一、基本概念1.1 机器学习的定义一个年代近一点的定义,由来自卡内基梅隆大学的 Tom Mitchell 提出,一个好的学习问题定义如下:一个程序被认为能从经验 E 中学习,解决任务 T,达到性能度量值 P,当且仅当,有了经验 E 后,经过 P 评判,程序在处理 T 时的性能有所提升。比如以下棋的机器学习算法为例:经验 E 就是程序上万次的自我练习的经验,任务 T 是下棋,性能度量值 P ...原创 2020-03-25 11:01:42 · 481 阅读 · 0 评论 -
机器学习论文阅读笔记
最近看了一篇伪雷达论文,里面有些机器学习的概念不是很懂,这里记录下学习笔记。1 端到端深度学习传统的机器学习流程通常由多个独立模块串行组成,每个独立模块单独完成一个任务,前一个模块的结果会影响下一个模块,而使用神经网络的深度学习模型,中间的所有操作都在神经网络内部执行,不再分为多个独立的模块处理,这就称为端到端(end-to-end)。可以把 end-to-end 理解为一个函数黑盒,由输入...原创 2020-03-19 16:30:42 · 659 阅读 · 0 评论 -
从 0 开始机器学习 - 深入浅出神经网络基础
今天跟大家分享下我学习神经网络的一些个人总结,希望能通过这篇博客帮助新手直接搞懂神经网络!一、神经网络解决什么问题?之前跟大家分享过多项式回归预测房价和逻辑回归分类数据的例子,在这两个问题中我们假设问题的输入特征很少:预测房价的输入特征:卧室数量、房屋面积、房屋楼层逻辑回归分类数据的输入特征:2 类数据,即 2 分类问题在预测房价的例子中,我们的假设函数有 3 个输入特征:hθ(x)=θ0x0+θ1x1+θ2x2+θ3x3h_\theta(x) = \theta_0x_0 + \theta原创 2020-05-08 21:49:38 · 322 阅读 · 0 评论