Jeff's World

Things that I'm interested in

53
文 章
2
分 类
70
标 签

机器学习之分类

分类任务和回归任务的不同之处在于,分类任务需要做出离散的预测。对于多分类任务的神经网络模型,其输出目标通常会用one-hot编码来表示,在输出层中使用softmax函数,同时使用分类交叉熵损失函数进行训练。在本博客中,我们将使用TensorFlow的底层API实现一个基于全连接层的神经网络来进行MNIST数字图像分类。下面是涉及到的相关概念:

深度学习是一种机器学习方法,它通过多层神经网络层次化地提取特征,以解决各种复杂的分类和回归问题。

神经网络是深度学习的基本组成部分,由多个层次化的神经元组成。输入层接受数据,中间的隐藏层通过权重和激活函数处理数据,最终输出层产生分类结果。在这个示例中,我们将手动实现神经网络的核心组件。

前向传播是神经网络中的信息传递过程,从输入层到输出层,每一层的神经元根据权重和激活函数计算输出。这个过程将输入数据映射到预测输出。

反向传播是训练神经网络的关键步骤,它通过计算预测与真实标签之间的误差,并将误差反向传播到网络中的每一层来更新权重,以最小化误差。

more

机器学习之线性回归

回归是机器学习中最常见的任务之一,回归(regression)问题预测的是一个连续值,而不是离散标签,比如根据气象数据预测明日气温,或者根据房地产数据估算房价(标量回归问题)。

接下来就以回归问题最经典的波士顿房价为例,了解标量回归问题的基本配置。当然主要是对深度学习的训练与推理建立一个基本的认知,训练结果好坏反而不太重要。

既然是机器学习,了解python是必备的(上手也很容易),使用的也是易上手的keras框架,接着再了解一下numpy,可以上路了。

基于tensorflow.js实现的纯前端小样例请看:线性回归

大纲

  1. 准备数据

  2. 构建模型

  3. 训练模型

  4. 预测结果

more

人工智能与机器学习和深度学习

这一年来,AI领域层出不穷的技术和应用,真的有点让人疲于奔命。其中AIGC领域的diffusion model 和 NLP领域的 ChatGBT 引领了这一轮风潮。AI取代越来越多脑力工作者的趋势已经不可逆转,在这经济下行内卷严重的当代,竞争将越发的残酷。作为走在风口前沿的技术人,用stable diffusion绘制过逼真的画作,也用ChatGPT生产修改过样板代码,AI带给我的危机感是实实在在,在ChatGPT风头正劲的那段时间,焦虑一度让我夜不能寐。

在AI狂潮告一段落的当下,是时候冷静下来思考,我们应该怎么看待AI,对待 AI 的正确态度是什么,这篇文章观点我大体上赞同:

  1. ChatGBT像一个吸收了所有人类知识、但需要别人帮忙才能把这些知识串起来的应届毕业生。看来我今年的工作是安全的。但是,我需要好好学习 ChatGPT,精通它的使用,让我明年也是安全的。

  2. AI 会大大增强程序员的生产力,并创造过去不可能的产品。AI 本质是生产力工具,跟高级语言、云服务、开源代码等是一个性质。写代码的门槛会降低,更多的人会进入 IT 行业,软件市场将变大。

  3. 我们要成为这个过程的一部分,需要让自己积极主动,不断更新技能,接受新工具。

是的,我们要成为这个AI落地各行各业过程的一部分,也是我这一年来自学机器学习、深度学习的动力和缘由,也陆陆续续在工作中落地了一些简单的ai项目,而这个机器学习和深度学习的系列就是我学习过程的一个记录和总结。

more

opencv学习之边缘检测

边缘检测图像处理 过程中经常会涉及到的一个环节。而在计算机视觉机器学习领域,边缘检测 用于 特征提取特征检测 效果也是特别明显。而 openCV 中进行边缘检测的 算法 真是五花八门,下面我就选几个最常用算法的函数api进行介绍。

本文涉及到的效果请看:边缘检测

more

opencv学习之基础

前段时间一直在钻研深度学习中的卷积神经网络,其中的预处理环节可以说非常关键,主要就是对图片和视频进行处理。而图像处理就涉及到图形学和底层技术细节,这是一个比较精深和专业的领域,假设我们要从头开始做起,那简直太麻烦和低效了。为解决这个问题,openCV就此应运而生,它屏蔽了很多底层技术细节,抽象出方便的API,而我们只需要灵活组合相关的 api 就能实现强大的功能。

more

html5调用摄像头截图

关于html5调用音视频等多媒体硬件的API已经很成熟,不过一直找不到机会把这些硬件转化为实际的应用场景,不过近年来随着iot和AI的浪潮,我觉得软硬结合的时机已经成熟。那我们就提前熟悉下怎么操作这些多媒体硬件吧,首先图像识别是其中最热门的应用场景,首先实现调用摄像头以及截图。

demo的效果请看:摄像头截图

more

WebGL之绘制三维地球

通过Three.js也许可以很方便的展示出3D模型,但是你知道它是怎么一步一步从构建网格到贴图到最终渲染出3D模型的吗?现在我们直接使用底层的webgl加上一点点的数学知识就可以实现它。

本节实现的效果: WebGL三维地球
WebGL三维地球

more

WebGL之延迟着色

什么是延迟着色(Deferred Shading)?它是相对于正常使用的正向着色(Forward Shading)而言的,正向着色的工作模式:遍历光源,获取光照条件,接着遍历物体,获取物体的几何数据,最后根据光照和物体几何数据进行计算。

但是正向着色(Forward Shading)在光源非常多的情况下,对性能的消耗非常大。因为程序要对每一个光源,每一个需要渲染的物体,每一个需要渲染的片段进行迭代!还有片段着色器的输出会被之后的输出覆盖,正向渲染会在场景中因多个物体重合在一个像素上浪费大量的片段着色器运行时间。

延迟着色(Deferred Shading),就是为了解决上述问题而生,尤其是需要渲染几百上千个光源的场景。

more

Docker搭建部署Node项目

前段时间做了个node全栈项目,服务端技术栈是 nginx + koa + postgresql。其中在centos上搭建环境和部署都挺费周折,部署测试服务器,接着上线的时候又部署生产环境服务器。这中间就有很多既无聊又费精力,吃力不讨好的”体力活”。所以就开始思考怎么自动化这部分搭建部署的工作,也就引出了Docker

more

Flutter轮播图

前端开发当中最有意思的就是实现动画特效,Flutter提供的各种动画组件可以方便实现各种动画效果。Flutter中的动画组件主要分为两类:

  1. 隐式动画控件:只需设置组件开始值,结束值,执行时间,比如AnimatedOpacityAnimatedSize等组件。
  2. 显式动画控件:需要设置AnimationController,手动控制动画的执行。显式动画可以完成隐式动画的效果,甚至更加地可控和灵活,不过需要管理该动画的AnimationController生命周期,AnimationController并不是一个控件,所以需要将其放在StatefulWidget中。
more

扫一扫,分享到微信

Powered by Hexo Theme simply

Copyright © 2025 Jeff Zhong

给我的早餐加个蛋吧 😊

weixinpay alipay