2019-01-01から1年間の記事一覧

seccamp (mini) in Akita 2018 に参加した話【訂正版】

seccamp (mini) in Akitaに参加しました。セキュリティキャンプ2週間前から爆速でアセンブラを勉強しましたが、当日の講義でアセンブラの知識はあまり使いませんでした。午前のバイナリエクスプロイトの講義で使用したC言語の脆弱性プログラムです。当日の講…

pythonのファイル名一括変換はgrobを使うと便利だよ~っていうだけの話

grob.grob("./フォルダ名/*") これだけで、フォルダにあるファイルをすべて読み込んでくれます。 今回は、ファイル1つ1つに連番を付けてファイル名を一括変換してみました。 import os import glob n=1 files = glob.glob('./フォルダ名/*') for f in files:…

Bing Seach API バージョン7.0でスクレイピングやってみた

#画像をスクレイピングする # -*- coding:utf-8 -*- #数学ライブラリをインポート import math #URL等を操るために使う関数 import requests #URLから画像を保存したりするときの処理に使う import imgutil #1秒待機するために使う import time # image save…

Java Scriptによるブロック崩し

〜 [index.html] <html> <head> <meta charset="utf-8"/> <title>ブロック崩し</title> <link rel="stylesheet" href="style.css"> </head> <body> <canvas id="myCanvas" width="480" height="320"> </canvas> <script src="main.js"></body></html>

ブログ再開

岩手のIT Boot Campに参加してたので、ブログを投稿できませんでした。あと、エラーに苦戦して、5日間ぐらい機械学習の勉強が完全に滞っていました。今日からブログを再開したいと思います。

Jupyter Notebook

Jupyter Notebookは、ブラウザ上でコードを実行するためのインタラクティブな環境です。探索的なデータ解析をする際には非常に有用なツールであり、データサイエンティストに広く利用されています。Jupyter Notebookは様々なプログラミング言語をサポートし…

scikit-learn ~ 必要なライブラリとツール ~

scikit-learnとその使い方を理解することは重要ですが、ライブラリをたたいただけで、理解したつもりになるのはやめましょう。 scikit-learnは科学技術計算向けのPytnonライブラリであるNumPyとSciPyによって構築されています。NumPy,SciPyの他にデータフレ…

機械学習記17日目 ~ 教師あり学習section 完

Pythonではじめる機械学習の教師あり学習のsectionを無事完了することができました。 次は、教師なし学習です。よりいっそう気を引き締めて頑張りたいと思います

機械学習記16日目 ....だけ

いろいろとエラーに悩まされた挙句、進捗「3Dグラフを表示できただけ......」

機械学習記15日目 ~ 進捗ありません

タイトル通り、今日は進捗を生やせませんでした。 ここ最近ものすごいスピードでいろいろ詰め込んだので息切れしてしまい、一日中だらだらAmazonPrimeを見る生活。たまにはこんな日もあってもいいよ...ね?

機械学習記14日目 ~ 強化学習(Reinforcement learning)

▶強化学習とは 強化学習(Reinforcement learning)とは機械学習の手法の1つです。囲碁の人工知能である「alpha go zero」などに使われている手法でもあります。alpha go zeroは、たったの40日でこれまで開発されたalpha goのどのバージョンよりも強くなりま…

機械学習記13日目続き ~ k-平均法アルゴリズム

ここまで、scikit-learnで試してきた機械学習の手法は、正解ラベルが学習データに付いている「教師あり学習」と呼ばれるものです。もう1つの機械学習である「教師なし学習」です。 教師なし学習とは、回帰や分類による「予想」とは異なり、ラベルなし学習デ…

機械学習記13日目 ~ k平均法

それでは、k平均法をscikit-learnで試したいと思います。scikit-learnには、cluster.KMeansクラスがあり、k平均法によるクラスタリングを実行できます。書式は、図1のようになります。 図1.KMeansの書式 ▶クラスタリングの実施 今回は、irisデータセットを3…

機械学習記12日目続き ~ MLP Classifierクラス

scikit-learnでは、バージョン0.18.0からニューラルネットワークを利用できるようになりました。そこで、scikit-learnのMLPClassfierクラスを使って機械学習を行ってみます。 MLPClassifierクラスは、多層パーセプトロン(MLP)方式で実装されていて、書式は図…

機械学習記12日目 ~ ニューラルネットワーク

▶形式ニューロン ニューラルネットワークとは、人間の脳にある「ニューロン」という神経細胞を模したプログラムを、複数接続した機械学習システムのことです。 人間のニューロンは、外部から様々な電気刺激を受けて興奮し、やがて別のニューロンに電気信号を…

機械学習記11日目続き ~ サポートベクターマシン(SVM)

サポートベクターマシン(SVM)は、2クラスの識別アルゴリズムでは「強力」と言われているようですが、アルゴリズムがとても複雑です。正直、私はまだよくわかっていません。 ただ、理解できた範囲内で説明すると、SVMの特徴には「マージン最大化」と「カー…

機械学習記11日目 ~ ロジスティック回帰

ロジスティック回帰は、クラスを分類する判断に「0」か「1」(正か負)ではなく、「確率」を用います。例えば、与えられたデータがクラス1である確率は80%、そうでない確率は20%のように判断します。つまり、たとえ正の可能性があったとしても、確率が低い…

機械学習記10日目続き ~ scikit-learnのパーセプトロン

パーセプトロンの考え方がわかったところで、irisのデータセットを機械学習してみます。scikit-learnには、パーセプトロンを実装したlinear_model.Perceptronがあります。書式は、図1のようになります。 図1.Perceptronの書式 このPerceptronから学習モデル…

機械学習記10日目 ~ パーセプトロン

機械学習の入門などを見ると、「分離問題」を解決するアルゴリズムとして、「ロジスティック回帰」や「サポートベクターマシン」「ニューラルネットワーク」などが紹介されていますが、どのアルゴリズムにおいても「パーセプトロン」という概念が基本にある…

機械学習記9日目 ~ 機械学習モデルの構築

準備が整ったので、k近傍法でクラス分類を行う学習モデルを構築します。k近傍法のアルゴリズムは、scikit-learnのKNeighborsClassifierクラスに実装されています。書式は図1のようになります。 図1.KNeighborsClassifierの書式 図2.引数とその説明 それで…

機械学習記9日目 ~ 散布図をプロットしてみる

ここで、k近傍法のデータセットを散布図でプロットして、可視化してみます。irisデータセットの4つの特徴量(がく片の長さと幅、花弁の長さと幅)から、品種の分類ができそうか目視で確認します。 ここで、irisデータセットの散布図をプロットするコードを…

機械学習記8日目続き ~ データの分割

まず最初に、irisデータセットを訓練用のデータと評価用のデータに分割します。これは、生成した学習モデルの正解率を正しく判断するためです。訓練用のデータを評価用にも使ってしまうと、既に知っているデータなので、当然、正解率は高くなります。そこで…

機械学習記8日目 ~ k近傍法

今日は機械学習アルゴルズムを使って、初めての「機械学習」に挑戦します。利用するアルゴリズムは、「k近傍法」です。 k近傍法(k-Nearist Neighbor algorithm)は、機械学習において「教師あり学習」で、分類問題を解くためのアルゴリズムです。 分類問題と…

機械学習記7日目つづき ~ 機械学習用データ

▶手書き数字のデータセット 図4の学習用データは、「digits」という手書き数字の画像データと、各画像に付けられたラベルデータです。 オリジナルのデータは、「MNIST」という名前で、下のサイトから入手できますが、scikit-learnに付属しているdigitsデータ…

機械学習記7日目 ~ 機械学習用データ

〇ひとこと 機械学習の勉強をはじめてから、今日で1週間が経過しました。早いものです。。。 「進捗が........やばい!」 ▶機械学習用データ 本格的な機械学習の実験を行うためには、それなりのデータが必要になります。 ネット上には、機械学習用のサンプル…

機械学習記6日目つづき ~ 回帰の実装

回帰分析は、「結果データ」と「結果に影響を及ぼすデータ」の関係性を統計的に求める手法です。結果データを「目的変数」、結果に影響を及ぼすデータを「説明変数」と呼びます。 scikit-learnには、この回帰分析を行うモデルとして「線形回帰モデル」が搭載…

機械学習記6日目 ~ 機械学習ライブラリ(scikit-learn)

〇ひとこと 今日は引っ越し(部屋替え)があり、早朝から大忙しでした。なんと、午後9時の段階で進捗0(ゼロ)。 「もう、今日は機械学習の勉強できないかな~」 しかし、勉強は毎日続けないと意味がない!(「継続は力なり」とも言いますし.....) 今日から機械…

機械学習記5日目 ~ matplotlib

科学技術計算などで、結果をグラフで表示できるとわかりやすいですよね?、ということで、matplotlibというライブラリを使いたいと思います。matplotlibを使えば、データを図にプロットできるようになります。matplotlibも、Anacondaに含まれています。 ▶mat…

ODYK君がアルゴリズムを学ぶ話 ~No.0~

● アルゴリズムの3大処理 〇順序処理 〇分岐処理 〇繰り返し処理 ●アルゴリズムとは ある問題を解くための手順を数学的に定式化したものです。競技プログラミングなんかやっている人だと良く耳にするワードだと思います。 ●アルゴリズムの正当性とは? 簡単…

機械学習記4日目 ~ Pandas

Pandasは、Pythonでデータの分析、解析を支援するライブラリです。機械学習では、データをPandasの「Dara Frame」に変換して、操作したり表示したりすることが多いようなので、ここではDataFrameを少し調べておきたいと思います。 DataFrameは、RDB(関係デー…