プログラミング初心者の勉強日記

情報科学専攻です. 機械学習と競技プログラミングについて日々勉強しています.

MENU

CADDi 2018 for Beginnersに参加しました

CADDi 2018 for Beginnersに参加したので記録を残したいと思います. 今回のコンテストは、キャディ株式会社主催のABC/ARC形式のプログラミングコンテストで、レートが~1199までの人が参加できる初級者向けコンテストに参加しました。 要はいつものABC形式で…

オイラーのφ関数と競プロにおける例題

競技プログラミングでオイラーのφ関数を用いる問題を見つけたので、本記事では、オイラーのφ関数について軽く説明した後に、どのように用いたかの例を挙げます. オイラーのφ関数 オイラーのφ関数の性質 オイラーのφ関数を用いる問題 エラトステネスの篩の考…

C++で順列生成 next_permutation

競技プログラミングで順列を生成したくなることは良くあります. 例えば、グラフの最短経路問題のときに、訪れるべきノードが複数与えられていて、コストが最短になるような順番を求める問題の時、考えられる全順序を試してその最小を出力すればよくなります.…

統計検定2級に合格するためには

最近、統計検定2級に合格したので、勉強方法などを残していきたいと思います. 1. なんで統計検定? 2. 統計検定の概要 3. 使用した参考書や問題集 4. まとめ 1. なんで統計検定? 私自身機械学習に興味があり、専門書などで勉強をしているのですが、統計の知…

pythonでクローリングするならSeleniumがおすすめ

機械学習などで大量のデータが必要になることは多々あります. Wikipediaなどではdumpファイルで一括ダウンロードできるので問題は起きませんが、必ずしも自分が使いたいデータが一括でダウンロードできるとは限りません. そんな時におすすめなのがSeleniumで…

numpyで集合演算をするための備忘録

研究で集合演算を使うことがあるのですが、すぐに使い方を忘れてしまうため、自分用の備忘録として記事にしたいと思います. 積集合 使い方 結果 和集合 使い方 結果 差集合 使い方 結果 排他的論理和 使い方 結果 積集合 使い方 import numpy as np a = np.a…

AtCoder Beginner Contest 112に参加しました

AtCoder Beginner Contest 112に参加したので記録を残したいと思います. 問題のタイトルは以下のようになっています. A - Programming Education B - Time Limit Exceeded C - Pyramid D - Partition A - Programming Education 問題の概要 解法 B - Time Li…

パターン認識と機械学習 : グラフィカルモデル (準備編)

パターン認識と機械学習 (Pattern Recognition and Machine Learning; PRML) のメイントピックの一つであるグラフィカルモデルについての記事を書いていきたいと思います. 1. 準備 加法定理と乗法定理 2. グラフィカルモデルの特徴 3. 用語の説明 4. 参考文…

確率論の大定理:大数の法則、チェビシェフの不等式

本記事は確率論の基本定理の一つである大数の法則 (law of large numbers) についての紹介記事です. まず、大数の法則を説明するために必要な確率変数列の収束の概念をいくつか紹介して、そのあとに大数の法則の説明に入りたいと思います. また、最後に大数…

AtCoder Beginner Contest 110に参加しました

AtCoder Beginner Contest 110に参加したので記録を残しておきたいと思います. 問題のタイトルは以下のようになっています. A - Maximize the Formula B - 1 Dimensional World's Tale C - String Transformation D - Factorization A. Maximize the Formula…

Macユーザ必見 「shiftIt」で画面分割が快適に

この記事を読んでいるということはMacを使っていると思いますが、複数のソフトウェアを1画面に配置するときどうしていますか? マウスでドラッグしてサイズ調整したりしていませんか? もししているとしたら、非常にめんどくさい作業ではないですか? 私は…

統計学の基礎知識 : 変動係数、相関係数、偏相関係数

今回は変動係数、相関係数、偏相関係数についての記事です. 最後に簡単なプログラムをpythonで書いたのでそちらも載せておきます. 1. 変動係数 2. 相関係数 共分散 相関係数に話を戻します 3. 偏相関係数 4. 実装例 1. 変動係数 標準偏差の他にデータの散ら…

統計学の基礎知識 : 平均、分散、標準偏差

今回は統計学の基礎中の基礎である平均、分散、標準偏差についての記事です. 簡単にですが、pythonでの実装例も最後に載せておきます. 1. はじめに 2. 準備 3. 平均 4. 分散 5. 標準偏差 6. 実装例 ソースコード 結果 1. はじめに 分布の特徴を数値で表す方…

応用情報に最短で合格するためには

1. 本記事について 2. 対象読者 3. こんな記事を読む時間すら惜しい方 4. 合格までに必要な勉強時間 5. 応用情報とは 6. 午前、午後に共通してやること 7. 午前対策 8. 午後対策 9. 前日やること 10. 当日 11. まとめ 1. 本記事について 本記事では、応用情…

AtCoder Beginner Contest 104に参加しました

久しぶりにリアルタイムでAtCoderに参加したのでその感想でも書いておこうかと思います. 今回参加したコンテストはAtCoder Beginner Contest 104です 問題のタイトルは以下のようになっています. A . Rated for Me B . AcCepted C . All Green D . We Love A…

AtCoderの Typical DP Contestを解いてみた (F 準急)

F 準急 問題の概要 (自分が思いついた)解法 (調べてわかった)解法 実装上の注意 ソース 今回もTypical DP Contest のアウトプットに関する記事です. 今回解いた問題はF 準急です 前回までの記事は以下の通りです. A コンテスト B ゲーム C トーナメント D サ…

AtCoderの Typical DP Contestを解いてみた (E 数)

E 数 問題の概要 解法 寄り道 (桁DPの勉強) 解法 (本題に戻る) ソース 今回もTypical DP Contestのアウトプットに関する記事です. 今回解いた問題はE 数です 前回までの記事は以下の通りです. A コンテスト B ゲーム C トーナメント D サイコロ E 数 今回は…

AtCoderの Typical DP Contestを解いてみた (D サイコロ)

D サイコロ 問題の概要 解法 実装上の注意 ソース 今回もTypical DP Contestのアウトプットに関する記事です. 今回解いた問題はD サイコロです 前回までの記事は以下の通りです. A コンテスト B ゲーム C トーナメント D サイコロ 今回は「D サイコロ」とい…

AtCoderの Typical DP Contestを解いてみた (C トーナメント)

C トーナメント 問題の概要 解法 ソース 今回もTypical DP Contestのアウトプットに関する記事です. 今回解いた問題はC トーナメントです 前回までの記事は以下の通りです. A コンテスト B ゲーム C トーナメント 今回は「C トーナメント」という問題を解き…

AtCoderの Typical DP Contestを解いてみた (B ゲーム)

B ゲーム 問題の概要 解法 先攻のターンのとき 後攻のターンのとき 初期値 ソース 今回もTypical DP Contestを解いたのでアウトプットします. 今回解いた問題はB ゲームです 前回までの記事は以下の通りです. A コンテスト B ゲーム 今回は「B ゲーム」とい…

AtCoderの Typical DP Contestを解いてみた (A コンテスト)

問題を解く前に動的計画法の勉強 実際に問題を解いてみる A コンテスト 問題の概要 ソース 競技プログラミングにハマってから避けてきた動的計画法 (Dynamic Programming, DP)を本格的に取得したいと思ったので、このブログでアウトプットしていこうと思いま…

vimでMarkdown記法をローカルでプレビューしたい

MarkdownでgithubのREADMEやはてなブログの記事をMarkdownで書いているとプレビューしたくなります。 今まではgithubであれば、addしてcommitしてpushしてブラウザで更新して間違っている箇所を修正という非常にめんどくさい作業を繰り返してました。。。 そ…

matplotlibのインストールにつまずいたお話

新しいmacbookにmatplotlibをインストールしようとした時に少しつまずいたので備忘録として記事にします。 1. 吐き出したエラー達 2. 解決策 1. 吐き出したエラー達 まず普通に pip install matplotlib でインストールしようとすると Command "python setup.…

天気を知らせてくれるtwitter botを作ってみた

前回はgoogle calendarに予定を追加したり確認したりできるbotを紹介しました。 www.tatsumiya-blog.tokyo 今回は天気を知らせてくれるtwitter botの紹介です。テレビで天気を見てから学校行くなんてことはないですし、(正直)天気アプリを起動してまで確認す…

google calendarに予定を追加するTwitter Botを作ってみた

今回は、Twitter上でgoogle calendarに予定を追加し、確認できるbotを作成してみたので記事にしてみました。 (ソースは一応githubにも載せておきます。)使用言語はpythonです。 予定を追加するときはbotに "r year/month/day/hour of start/minutes of start…

パターン認識と機械学習 : 線形回帰 線形基底関数

線形回帰 線形基底関数 今回はビショップ本の第3章の線形回帰モデルです. その中でも基底関数のお話. 第3章からは教師あり学習の話になります. その中でも回帰の問題を取り扱っています. 回帰問題とは、入力をD次元ベクトルとし、そのベクトルから1つあるい…

交差検定

交差検定 今回はモデル選択の時に使われる手法の、交差検定について軽くまとめて実装して見たいと思います. 交差検定 交差検定について 交差検定の実装例 交差検定について 訓練とテストに使えるデータには限りがありますが、良いモデルを選択するために得ら…

パターン認識と機械学習 : 多項式曲線フィッティング

多項式フィッティング ビショップ本で最初に取り扱っている多項式曲線フィッティングについての備忘録です. (ビショップ本では、この単純な回帰から多くの重要な概念を説明したいらしい.) 多項式フィッティング 多項式フィッテイングとは 多項式フィッテイ…

テイラー展開

テイラー展開 最適化数学でテイラー展開がたくさん出てきたのでとりあえず実装してみることにしました. 今回はサインカーブを使おうと思います. テイラー展開 1. テイラー展開とは 2. 実装例 1. テイラー展開とは 関数のある一点での導関数の無限和で表され…

勾配法

「これなら分かる最適化数学」を読み始めたので、最適化についても紹介していこうと思います. これなら分かる最適化数学―基礎原理から計算手法まで作者: 金谷健一出版社/メーカー: 共立出版発売日: 2005/09/01メディア: 単行本購入: 29人 クリック: 424回こ…